diff --git a/src/RollTheDice+DiceNoExplosives.cs b/src/RollTheDice+DiceNoExplosives.cs index d506462..0331083 100644 --- a/src/RollTheDice+DiceNoExplosives.cs +++ b/src/RollTheDice+DiceNoExplosives.cs @@ -39,12 +39,12 @@ private Dictionary DiceNoExplosives(CCSPlayerController player, private void DiceNoExplosivesReset() { + RemoveListener(DiceNoExplosivesOnEntitySpawned); _playersWithoutExplosives.Clear(); } private void DiceNoExplosivesUnload() { - RemoveListener(DiceNoExplosivesOnEntitySpawned); DiceNoExplosivesReset(); } diff --git a/src/RollTheDice+DicePlayerAsChicken.cs b/src/RollTheDice+DicePlayerAsChicken.cs index 7808ebf..72a0101 100644 --- a/src/RollTheDice+DicePlayerAsChicken.cs +++ b/src/RollTheDice+DicePlayerAsChicken.cs @@ -44,14 +44,14 @@ private Dictionary DicePlayerAsChicken(CCSPlayerController playe private void DicePlayerAsChickenUnload() { - // remove listeners - RemoveListener(EventDicePlayerAsChickenOnTick); - RemoveListener(EventDicePlayerAsChickenCheckTransmit); DicePlayerAsChickenReset(); } private void DicePlayerAsChickenReset() { + DeregisterEventHandler(EventDicePlayerAsChickenOnPlayerDeath); + RemoveListener(EventDicePlayerAsChickenOnTick); + RemoveListener(EventDicePlayerAsChickenCheckTransmit); // iterate through all players foreach (CCSPlayerController player in _playersAsChicken.Keys) { diff --git a/src/RollTheDice+DicePlayerCloak.cs b/src/RollTheDice+DicePlayerCloak.cs index 136f771..07fa4f3 100644 --- a/src/RollTheDice+DicePlayerCloak.cs +++ b/src/RollTheDice+DicePlayerCloak.cs @@ -17,10 +17,7 @@ private Dictionary DicePlayerCloak(CCSPlayerController player, C { "playerName", player.PlayerName } }; // create listener if not exists - if (_playersWithCloak.Count() == 0) - { - RegisterListener(EventDicePlayerCloakOnTick); - } + if (_playersWithCloak.Count() == 0) RegisterListener(EventDicePlayerCloakOnTick); // add player to list _playersWithCloak.Add(player, 255); return new Dictionary @@ -33,13 +30,12 @@ private Dictionary DicePlayerCloak(CCSPlayerController player, C private void DicePlayerCloakUnload() { - // remove listeners - RemoveListener(EventDicePlayerCloakOnTick); DicePlayerCloakReset(); } private void DicePlayerCloakReset() { + RemoveListener(EventDicePlayerCloakOnTick); // iterate through all players foreach (var (player, visibility) in _playersWithCloak) { diff --git a/src/RollTheDice+DicePlayerDisguiseAsPlant.cs b/src/RollTheDice+DicePlayerDisguiseAsPlant.cs index 7739ffb..d40a4c6 100644 --- a/src/RollTheDice+DicePlayerDisguiseAsPlant.cs +++ b/src/RollTheDice+DicePlayerDisguiseAsPlant.cs @@ -29,7 +29,11 @@ private Dictionary DicePlayerDisguiseAsPlant(CCSPlayerController { "playerName", player.PlayerName } }; // create listener if not exists - if (_playersDisguisedAsPlants.Count == 0) RegisterListener(EventDicePlayerDisguiseAsPlantOnTick); + if (_playersDisguisedAsPlants.Count == 0) + { + RegisterEventHandler(EventDicePlayerDisguiseAsPlantOnPlayerDeath); + RegisterListener(EventDicePlayerDisguiseAsPlantOnTick); + } // add player to list _playersDisguisedAsPlants.Add(player, new Dictionary()); _playersDisguisedAsPlants[player]["status"] = "player"; @@ -49,19 +53,16 @@ private Dictionary DicePlayerDisguiseAsPlant(CCSPlayerController }; } - private void DicePlayerDisguiseAsPlantLoad() - { - RegisterEventHandler(EventDicePlayerDisguiseAsPlantOnPlayerDeath); - } - private void DicePlayerDisguiseAsPlantUnload() { - RemoveListener(EventDicePlayerDisguiseAsPlantOnTick); DicePlayerDisguiseAsPlantReset(); } private void DicePlayerDisguiseAsPlantReset() { + DeregisterEventHandler(EventDicePlayerDisguiseAsPlantOnPlayerDeath); + RemoveListener(EventDicePlayerDisguiseAsPlantOnTick); + // iterate through all players foreach (CCSPlayerController player in _playersDisguisedAsPlants.Keys) { if (player == null || player.Pawn == null || player.Pawn.Value == null) continue; diff --git a/src/RollTheDice+DicePlayerMakeFakeGunSoundss.cs b/src/RollTheDice+DicePlayerMakeFakeGunSoundss.cs index 58a95d8..6fb77bd 100644 --- a/src/RollTheDice+DicePlayerMakeFakeGunSoundss.cs +++ b/src/RollTheDice+DicePlayerMakeFakeGunSoundss.cs @@ -36,12 +36,12 @@ private Dictionary DicePlayerMakeFakeGunSounds(CCSPlayerControll private void DicePlayerMakeFakeGunSoundsUnload() { - RemoveListener(EventDicePlayerMakeFakeGunSoundsOnTick); DicePlayerMakeFakeGunSoundsReset(); } private void DicePlayerMakeFakeGunSoundsReset() { + RemoveListener(EventDicePlayerMakeFakeGunSoundsOnTick); _playersWithFakeGunSounds.Clear(); } diff --git a/src/RollTheDice+DicePlayerMakeHostageSounds.cs b/src/RollTheDice+DicePlayerMakeHostageSounds.cs index e0a914f..3da809a 100644 --- a/src/RollTheDice+DicePlayerMakeHostageSounds.cs +++ b/src/RollTheDice+DicePlayerMakeHostageSounds.cs @@ -29,12 +29,12 @@ private Dictionary DicePlayerMakeHostageSounds(CCSPlayerControll private void DicePlayerMakeHostageSoundsUnload() { - RemoveListener(EventDicePlayerMakeHostageSoundsOnTick); DicePlayerMakeHostageSoundsReset(); } private void DicePlayerMakeHostageSoundsReset() { + RemoveListener(EventDicePlayerMakeHostageSoundsOnTick); _playersWithHostageSounds.Clear(); } diff --git a/src/RollTheDice+DicePlayerRespawn.cs b/src/RollTheDice+DicePlayerRespawn.cs index e779485..1c7d4fc 100644 --- a/src/RollTheDice+DicePlayerRespawn.cs +++ b/src/RollTheDice+DicePlayerRespawn.cs @@ -11,7 +11,12 @@ public partial class RollTheDice : BasePlugin private Dictionary DicePlayerRespawn(CCSPlayerController player, CCSPlayerPawn playerPawn) { // create listener if not exists - if (_playersWithRespawnAbility.Count() == 0) RegisterListener(EventDicePlayerRespawnOnTick); + if (_playersWithRespawnAbility.Count() == 0) + { + RegisterEventHandler(EventDicePlayerRespawnOnPlayerDeath); + RegisterEventHandler(EventDicePlayerRespawnOnPlayerTeam); + RegisterListener(EventDicePlayerRespawnOnTick); + } // add player to list _playersWithRespawnAbility.Add(player, new Dictionary()); return new Dictionary @@ -22,20 +27,16 @@ private Dictionary DicePlayerRespawn(CCSPlayerController player, }; } - private void DicePlayerRespawnLoad() - { - RegisterEventHandler(EventDicePlayerRespawnOnPlayerDeath); - RegisterEventHandler(EventDicePlayerRespawnOnPlayerTeam); - } - private void DicePlayerRespawnUnload() { - RemoveListener(EventDicePlayerRespawnOnTick); DicePlayerRespawnReset(); } private void DicePlayerRespawnReset() { + DeregisterEventHandler(EventDicePlayerRespawnOnPlayerDeath); + DeregisterEventHandler(EventDicePlayerRespawnOnPlayerTeam); + RemoveListener(EventDicePlayerRespawnOnTick); _playersWithRespawnAbility.Clear(); } diff --git a/src/RollTheDice+DicePlayerVampire.cs b/src/RollTheDice+DicePlayerVampire.cs index c73157a..de72081 100644 --- a/src/RollTheDice+DicePlayerVampire.cs +++ b/src/RollTheDice+DicePlayerVampire.cs @@ -9,6 +9,8 @@ public partial class RollTheDice : BasePlugin private Dictionary DicePlayerVampire(CCSPlayerController player, CCSPlayerPawn playerPawn) { + // create listener if not exists + if (_playerVampires.Count() == 0) RegisterEventHandler(EventDicePlayerVampireOnPlayerHurt); _playerVampires.Add(player); return new Dictionary { @@ -18,11 +20,6 @@ private Dictionary DicePlayerVampire(CCSPlayerController player, }; } - private void DicePlayerVampireLoad() - { - RegisterEventHandler(EventDicePlayerVampireOnPlayerHurt); - } - private void DicePlayerVampireUnload() { DicePlayerVampireReset(); @@ -30,6 +27,7 @@ private void DicePlayerVampireUnload() private void DicePlayerVampireReset() { + DeregisterEventHandler(EventDicePlayerVampireOnPlayerHurt); _playerVampires.Clear(); }