diff --git a/src/Helpers/PlayerControlHelper.cs b/src/Helpers/PlayerControlHelper.cs index 47ff70d..d4fe3ce 100644 --- a/src/Helpers/PlayerControlHelper.cs +++ b/src/Helpers/PlayerControlHelper.cs @@ -253,20 +253,21 @@ internal static class PlayerControlHelper if (player == null) return false; - if (player.IsLocalPlayer()) - { - return player.inVent || player.walkingToVent; - } - else - { - var extendedData = player.ExtendedData(); - if (extendedData != null) - { - return extendedData.GameplayInfo.InVent; - } - } + if (player.inVent) + return true; - return false; + if (player.walkingToVent && !player.moveable) + return true; + + var physics = player.MyPhysics; + if (physics == null) + return false; + + var animations = physics.Animations; + if (animations == null) + return false; + + return animations.IsPlayingEnterVentAnimation(); } /// diff --git a/src/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs b/src/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs index 02b34be..6b88d79 100644 --- a/src/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs +++ b/src/Modules/AntiCheat/RPCHandlers/EnterVentHandler.cs @@ -2,7 +2,6 @@ using AmongUs.GameOptions; using BetterAmongUs.Attributes; using BetterAmongUs.Helpers; using BetterAmongUs.Managers; -using BetterAmongUs.Mono.Extended; using Hazel; namespace BetterAmongUs.Modules.AntiCheat.RPCHandlers; @@ -22,9 +21,4 @@ internal sealed class EnterVentHandler : RPCHandler } } } - - internal override void Handle(PlayerControl? sender, MessageReader reader) - { - sender.ExtendedData().GameplayInfo.InVent = true; - } } diff --git a/src/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs b/src/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs index d455d68..3c2c2ab 100644 --- a/src/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs +++ b/src/Modules/AntiCheat/RPCHandlers/ExitVentHandler.cs @@ -2,7 +2,6 @@ using AmongUs.GameOptions; using BetterAmongUs.Attributes; using BetterAmongUs.Helpers; using BetterAmongUs.Managers; -using BetterAmongUs.Mono.Extended; using Hazel; namespace BetterAmongUs.Modules.AntiCheat.RPCHandlers; @@ -22,9 +21,4 @@ internal sealed class ExitVentHandler : RPCHandler } } } - - internal override void Handle(PlayerControl? sender, MessageReader reader) - { - sender.ExtendedData().GameplayInfo.InVent = false; - } } diff --git a/src/Mono/Extended/ExtendedPlayerInfo.cs b/src/Mono/Extended/ExtendedPlayerInfo.cs index d0830b0..f7a09e5 100644 --- a/src/Mono/Extended/ExtendedPlayerInfo.cs +++ b/src/Mono/Extended/ExtendedPlayerInfo.cs @@ -151,12 +151,6 @@ internal sealed class ExtendedPlayerInfo : MonoBehaviour, IMonoExtension [HideFromIl2Cpp] internal ExtendedAntiCheatInfo? AntiCheatInfo { get; } = new(); - - /// - /// Gets extended gameplay information. - /// - [HideFromIl2Cpp] - internal ExtendedGameplayInfo? GameplayInfo { get; } = new(); } /// @@ -246,17 +240,6 @@ internal sealed class ExtendedRoleInfo internal RoleTypes DeadDisplayRole { get; set; } } -/// -/// Represents the gameplay information for a player. -/// -internal sealed class ExtendedGameplayInfo -{ - /// - /// Gets or sets a value indicating whether the player is currently in a vent. - /// - internal bool InVent { get; set; } -} - /// /// Extension methods for accessing extended player data. ///