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));