diff --git a/TShockAPI/ConfigFile.cs b/TShockAPI/ConfigFile.cs index 46c99fab..36d7e6ae 100644 --- a/TShockAPI/ConfigFile.cs +++ b/TShockAPI/ConfigFile.cs @@ -263,6 +263,10 @@ namespace TShockAPI [Description("A dictionary of REST tokens that external applications may use to make queries to your server.")] public Dictionary ApplicationRestTokens = new Dictionary(); + [Description("The maximum value that a character may have for health.")] public int MaxHealth = 400; + + [Description("The maximum value that a character may have for health.")] public int MaxMana = 400; + /// /// Reads a configuration file from a given path /// diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index d84818a6..7a508474 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -1251,7 +1251,7 @@ namespace TShockAPI if (args.Player.FirstMaxHP == 0) args.Player.FirstMaxHP = max; - if (max > 400 && max > args.Player.FirstMaxHP) + if (max > TShock.Config.MaxHealth && max > args.Player.FirstMaxHP) { TShock.Utils.ForceKick(args.Player, "Hacked Client Detected.", true); return false; @@ -1277,7 +1277,7 @@ namespace TShockAPI if (args.Player.FirstMaxMP == 0) args.Player.FirstMaxMP = max; - if (max > 400 && max > args.Player.FirstMaxMP) + if (max > TShock.Config.MaxMana && max > args.Player.FirstMaxMP) { TShock.Utils.ForceKick(args.Player, "Hacked Client Detected.", true); return false; @@ -1450,7 +1450,7 @@ namespace TShockAPI TShock.Utils.ForceKick(args.Player, "Blank name.", true); return true; } - if (TShock.HackedHealth(args.Player) && !args.Player.Group.HasPermission(Permissions.ignorestathackdetection)) + if (TShock.HackedStats(args.Player) && !args.Player.Group.HasPermission(Permissions.ignorestathackdetection)) { TShock.Utils.ForceKick(args.Player, "You have hacked health/mana, please use a different character.", true); return true; diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 0b3f411f..7786f535 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -1455,12 +1455,12 @@ namespace TShockAPI return (float) Math.Sqrt(num3); } - public static bool HackedHealth(TSPlayer player) + public static bool HackedStats(TSPlayer player) { - return (player.TPlayer.statManaMax > 400) || - (player.TPlayer.statMana > 400) || - (player.TPlayer.statLifeMax > 400) || - (player.TPlayer.statLife > 400); + return (player.TPlayer.statManaMax > TShock.Config.MaxMana) || + (player.TPlayer.statMana > TShock.Config.MaxMana) || + (player.TPlayer.statLifeMax > TShock.Config.MaxHealth) || + (player.TPlayer.statLife > TShock.Config.MaxHealth); } public static bool HackedInventory(TSPlayer player)