diff --git a/src/Helpers/PlayerControlHelper.cs b/src/Helpers/PlayerControlHelper.cs index 669e81d..c4c9a27 100644 --- a/src/Helpers/PlayerControlHelper.cs +++ b/src/Helpers/PlayerControlHelper.cs @@ -99,7 +99,7 @@ static class PlayerControlHelper { var Ban = ban || forceBan; - if (!GameState.IsHost || player.IsLocalPlayer() || !player.DataIsCollected() && !bypassDataCheck || player.IsHost() || player.isDummy) + if (!GameState.IsHost || player.IsLocalPlayer() || (!player.DataIsCollected() && !bypassDataCheck) || player.IsHost() || player.isDummy) { return; } @@ -311,7 +311,7 @@ static class PlayerControlHelper /// /// The player data to check. /// True if the player is on the impostor team. - internal static bool IsImpostorTeam(this NetworkedPlayerInfo data) => data?.RoleType is RoleTypes.Impostor or RoleTypes.ImpostorGhost or RoleTypes.Shapeshifter or RoleTypes.Phantom or RoleTypes.Viper; + internal static bool IsImpostorTeam(this NetworkedPlayerInfo data) => data?.RoleType.GetBehaviourPrefab().IsImpostor == true; /// /// Checks if a player is an impostor teammate of the local player. diff --git a/src/Patches/Gameplay/Managers/RoleManagerPatch.cs b/src/Patches/Gameplay/Managers/RoleManagerPatch.cs index 8215e5b..7e93071 100644 --- a/src/Patches/Gameplay/Managers/RoleManagerPatch.cs +++ b/src/Patches/Gameplay/Managers/RoleManagerPatch.cs @@ -154,7 +154,7 @@ internal static class RoleManagerPatch // Desync role to hide special role from non-BAU players if (BetterGameSettings.DesyncRoles.GetBool()) { - if (kvp.Key is not RoleTypes.Phantom or RoleTypes.Viper) + if (kvp.Key is not (RoleTypes.Phantom or RoleTypes.Viper)) { List messageWriter = AmongUsClient.Instance.StartRpcDesync(pc.NetId, (byte)RpcCalls.SetRole, SendOption.None, pc.GetClientId(), clientCheck); messageWriter.ForEach(mW => mW.Write((ushort)RoleTypes.Impostor));