diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs index df0a38ab..4e270763 100644 --- a/TShockAPI/Bouncer.cs +++ b/TShockAPI/Bouncer.cs @@ -847,9 +847,9 @@ namespace TShockAPI if (distance > TShock.Config.MaxRangeForDisabled) { // We need to tell them they were disabled and why, then revert the change. - if (args.Player.IgnoreActionsForCheating != "none") + if (args.Player.IsDisabledForStackDetection == true) { - args.Player.SendErrorMessage("Disabled for cheating: " + args.Player.IgnoreActionsForCheating); + args.Player.SendErrorMessage("Disabled. You went too far with hacked item stacks."); } else if (args.Player.IgnoreActionsForDisabledArmor != "none") { @@ -857,7 +857,7 @@ namespace TShockAPI } else if (args.Player.IsDisabledForSSC == true) { - args.Player.SendErrorMessage("Disabled. Server side characters is enabled, and you aren't logged in."); + args.Player.SendErrorMessage("Disabled. You need to {0}login, since server side characters is enabled.", TShock.Config.CommandSpecifier); } else if (TShock.Config.RequireLogin && !args.Player.IsLoggedIn) { diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 225cc8f9..c76dabe3 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -862,7 +862,7 @@ namespace TShockAPI args.Player.LoginFailsBySsi = false; if (args.Player.HasPermission(Permissions.ignorestackhackdetection)) - args.Player.IgnoreActionsForCheating = "none"; + args.Player.IsDisabledForStackDetection = false; if (args.Player.HasPermission(Permissions.usebanneditem)) args.Player.IgnoreActionsForDisabledArmor = "none"; diff --git a/TShockAPI/GetDataHandlers.cs b/TShockAPI/GetDataHandlers.cs index df9f0cac..1fb9c2ba 100644 --- a/TShockAPI/GetDataHandlers.cs +++ b/TShockAPI/GetDataHandlers.cs @@ -1798,7 +1798,7 @@ namespace TShockAPI args.Player.LoginFailsBySsi = false; if (args.Player.HasPermission(Permissions.ignorestackhackdetection)) - args.Player.IgnoreActionsForCheating = "none"; + args.Player.IsDisabledForStackDetection = false; if (args.Player.HasPermission(Permissions.usebanneditem)) args.Player.IgnoreActionsForDisabledArmor = "none"; @@ -1870,7 +1870,7 @@ namespace TShockAPI args.Player.LoginFailsBySsi = false; if (args.Player.HasPermission(Permissions.ignorestackhackdetection)) - args.Player.IgnoreActionsForCheating = "none"; + args.Player.IsDisabledForStackDetection = false; if (args.Player.HasPermission(Permissions.usebanneditem)) args.Player.IgnoreActionsForDisabledArmor = "none"; diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index d32426b9..43bdad2f 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -280,7 +280,8 @@ namespace TShockAPI /// Determines if the player is disabled by the SSC subsystem for not being logged in. public bool IsDisabledForSSC = false; - public string IgnoreActionsForCheating = "none"; + /// Determines if the player is disabled by Bouncer for having hacked item stacks. + public bool IsDisabledForStackDetection = false; public string IgnoreActionsForDisabledArmor = "none"; @@ -298,7 +299,7 @@ namespace TShockAPI /// bool - True if any ignore is not none, false, or login state differs from the required state. public bool CheckIgnores() { - return IsDisabledForSSC || IgnoreActionsForCheating != "none" || IgnoreActionsForDisabledArmor != "none" || IgnoreActionsForClearingTrashCan || !IsLoggedIn && TShock.Config.RequireLogin; + return IsDisabledForSSC || IsDisabledForStackDetection || IgnoreActionsForDisabledArmor != "none" || IgnoreActionsForClearingTrashCan || !IsLoggedIn && TShock.Config.RequireLogin; } /// diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index d33637c5..1db6ae71 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -1106,7 +1106,7 @@ namespace TShockAPI break; } } - player.IgnoreActionsForCheating = check; + player.IsDisabledForStackDetection = true; check = "none"; // Please don't remove this for the time being; without it, players wearing banned equipment will only get debuffed once foreach (Item item in player.TPlayer.armor)