From 97f48d6d4138243f22b6a819cfdf4ba5819e1998 Mon Sep 17 00:00:00 2001 From: Lucas Nicodemus Date: Wed, 20 Dec 2017 17:42:59 -0700 Subject: [PATCH] Renamed TSPlayer.CheckIgnores() -> TSPlayer.IsBeingDisabled() Since all of the flags it was checking have been demystified, this is pretty self explanatory now. --- CHANGELOG.md | 2 +- TShockAPI/Bouncer.cs | 40 ++++++++++++++++++++-------------------- TShockAPI/TSPlayer.cs | 13 ++++++++----- TShockAPI/TShock.cs | 4 ++-- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30241bbb..edb7a619 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,7 +56,7 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin * Added `TSPlayer` to `GetDataHandlers.GemLockToggle`. (@hakusaro) * Added `GetDataHandlers.PlaceItemFrame` hook and related arguments. (@hakusaro) * Added `TSPlayer.IsBouncerThrottled()`. (@hakusaro) -* Added `TSPlayer.CheckIgnores()` and removed `TShock.CheckIgnores(TSPlayer)`. (@hakusaro) +* Added `TSPlayer.IsBeingDisabled()` and removed `TShock.CheckIgnores(TSPlayer)`. (@hakusaro) ## TShock 4.3.25 * Fixed a critical exploit in the Terraria protocol that could cause massive unpreventable world corruption as well as a number of other problems. Thanks to @bartico6 for reporting. Fixed by the efforts of @QuiCM, @hakusaro, and tips in the right directioon from @bartico6. diff --git a/TShockAPI/Bouncer.cs b/TShockAPI/Bouncer.cs index 4447c273..11c550fe 100644 --- a/TShockAPI/Bouncer.cs +++ b/TShockAPI/Bouncer.cs @@ -69,7 +69,7 @@ namespace TShockAPI /// The packet arguments that the event has. internal void OnPlaceItemFrame(object sender, GetDataHandlers.PlaceItemFrameEventArgs args) { - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { NetMessage.SendData((int)PacketTypes.UpdateTileEntity, -1, -1, NetworkText.Empty, args.ItemFrame.ID, 0, 1); args.Handled = true; @@ -108,7 +108,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Handled = true; return; @@ -126,7 +126,7 @@ namespace TShockAPI /// The packet arguments that the event has. internal void OnPlaceTileEntity(object sender, GetDataHandlers.PlaceTileEntityEventArgs args) { - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Handled = true; return; @@ -177,7 +177,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Handled = true; return; @@ -196,7 +196,7 @@ namespace TShockAPI /// args internal void OnPlayerAnimation(object sender, GetDataHandlers.PlayerAnimationEventArgs args) { - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendData(PacketTypes.PlayerAnimation, "", args.Player.Index); args.Handled = true; @@ -245,7 +245,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendData(PacketTypes.NpcUpdate, "", id); args.Handled = true; @@ -311,7 +311,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendData(PacketTypes.PlayerHp, "", id); args.Player.SendData(PacketTypes.PlayerUpdate, "", id); @@ -421,7 +421,7 @@ namespace TShockAPI } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendData(PacketTypes.ItemDrop, "", id); args.Handled = true; @@ -444,7 +444,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendData(PacketTypes.PlayerAddBuff, "", id); args.Handled = true; @@ -503,7 +503,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendData(PacketTypes.ChestItem, "", id, slot); args.Handled = true; @@ -558,7 +558,7 @@ namespace TShockAPI /// The packet arguments that the event has. internal void OnChestOpen(object sender, GetDataHandlers.ChestOpenEventArgs args) { - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Handled = true; return; @@ -595,7 +595,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendTileSquare(tileX, tileY, 3); args.Handled = true; @@ -656,7 +656,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendTileSquare(tileX, tileY, 1); args.Handled = true; @@ -791,7 +791,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.RemoveProjectile(args.ProjectileIdentity, args.ProjectileOwner); args.Handled = true; @@ -841,7 +841,7 @@ namespace TShockAPI float distance = Vector2.Distance(new Vector2(pos.X / 16f, pos.Y / 16f), new Vector2(args.Player.LastNetPosition.X / 16f, args.Player.LastNetPosition.Y / 16f)); - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { // If the player has moved outside the disabled zone... if (distance > TShock.Config.MaxRangeForDisabled) @@ -982,7 +982,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.RemoveProjectile(ident, owner); args.Handled = true; @@ -1115,7 +1115,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendTileSquare(x, y, 4); args.Handled = true; @@ -1470,7 +1470,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendTileSquare(tileX, tileY, 4); args.Handled = true; @@ -1586,7 +1586,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores() || args.Player.IsBouncerThrottled()) + if (args.Player.IsBeingDisabled() || args.Player.IsBouncerThrottled()) { args.Handled = true; return; @@ -1627,7 +1627,7 @@ namespace TShockAPI return; } - if (args.Player.CheckIgnores()) + if (args.Player.IsBeingDisabled()) { args.Player.SendTileSquare(tileX, tileY, size); args.Handled = true; diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index fc543bd5..69181389 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -296,12 +296,15 @@ namespace TShockAPI return (DateTime.UtcNow - LastThreat).TotalMilliseconds < 5000; } - /// CheckIgnores - Checks a players ignores...? - /// player - The TSPlayer object. - /// bool - True if any ignore is not none, false, or login state differs from the required state. - public bool CheckIgnores() + /// Easy check if a player has any of IsDisabledForSSC, IsDisabledForStackDetection, IsDisabledForBannedWearable, or IsDisabledPendingTrashRemoval set. Or if they're not logged in and a login is required. + /// If any of the checks that warrant disabling are set on this player. If true, Disable() is repeatedly called on them. + public bool IsBeingDisabled() { - return IsDisabledForSSC || IsDisabledForStackDetection || IsDisabledForBannedWearable || IsDisabledPendingTrashRemoval || !IsLoggedIn && TShock.Config.RequireLogin; + return IsDisabledForSSC + || IsDisabledForStackDetection + || IsDisabledForBannedWearable + || IsDisabledPendingTrashRemoval + || !IsLoggedIn && TShock.Config.RequireLogin; } /// diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index be0e880c..44c6b9f1 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -1083,7 +1083,7 @@ namespace TShockAPI if (Main.ServerSideCharacter && !player.IsLoggedIn) { - if (player.CheckIgnores()) + if (player.IsBeingDisabled()) { player.Disable(flags: flags); } @@ -1163,7 +1163,7 @@ namespace TShockAPI } player.IsDisabledForBannedWearable = true; - if (player.CheckIgnores()) + if (player.IsBeingDisabled()) { player.Disable(flags: flags); }