diff --git a/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs b/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs index b8b0ba5..8ce482c 100644 --- a/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs +++ b/jRandomSkills - SRC Files/src/player/skills/C4Camouflage.cs @@ -111,6 +111,7 @@ namespace src.player.skills foreach (var (info, player) in infoList) { if (player == null || !player.IsValid || player.Team == CsTeam.Spectator) continue; + if (!player.PawnIsAlive) continue; var targetHandle = player.Pawn.Value?.ObserverServices?.ObserverTarget.Value?.Handle ?? nint.Zero; diff --git a/jRandomSkills - SRC Files/src/player/skills/Ghost.cs b/jRandomSkills - SRC Files/src/player/skills/Ghost.cs index 2923a48..5740c24 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Ghost.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Ghost.cs @@ -71,6 +71,7 @@ namespace src.player.skills foreach (var (info, player) in infoList) { if (player == null || !player.IsValid || player.Team == CsTeam.Spectator) continue; + if (!player.PawnIsAlive) continue; var targetHandle = player.Pawn.Value?.ObserverServices?.ObserverTarget.Value?.Handle ?? nint.Zero; diff --git a/jRandomSkills - SRC Files/src/player/skills/Glaz.cs b/jRandomSkills - SRC Files/src/player/skills/Glaz.cs index 671845b..c332778 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Glaz.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Glaz.cs @@ -55,7 +55,7 @@ namespace src.player.skills foreach (var (info, player) in infoList) { - if (player == null || !player.IsValid) continue; + if (player == null || !player.IsValid || !player.PawnIsAlive) continue; var playerInfo = PlayerManager.GetPlayerByIndex((PlayerManager.GetPlayerEvent(player)?.Index ?? player.Index)); if (playerInfo?.Skill != skillName) diff --git a/jRandomSkills - SRC Files/src/player/skills/Jackal.cs b/jRandomSkills - SRC Files/src/player/skills/Jackal.cs index 97409f4..bacafa8 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Jackal.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Jackal.cs @@ -62,7 +62,7 @@ namespace src.player.skills foreach (var (info, player) in infoList) { - if (player == null || !player.IsValid) continue; + if (player == null || !player.IsValid || !player.PawnIsAlive) continue; var playerInfo = PlayerManager.GetPlayerByIndex((PlayerManager.GetPlayerEvent(player)?.Index ?? player.Index)); bool isJackalOwner = playerInfo?.Skill == skillName; diff --git a/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs b/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs index d564014..ad186c8 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Nightmare.cs @@ -170,7 +170,7 @@ namespace src.player.skills foreach (var (info, viewer) in infoList) { - if (viewer == null || !viewer.IsValid) continue; + if (viewer == null || !viewer.IsValid || !viewer.PawnIsAlive) continue; foreach (var kvp in targetVolumes) { diff --git a/jRandomSkills - SRC Files/src/player/skills/Ninja.cs b/jRandomSkills - SRC Files/src/player/skills/Ninja.cs index 8c238b0..1be7c76 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Ninja.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Ninja.cs @@ -69,6 +69,7 @@ namespace src.player.skills foreach (var (info, player) in infoList) { if (player == null || !player.IsValid || player.Team == CsTeam.Spectator) continue; + if (!player.PawnIsAlive) continue; var targetHandle = player.Pawn.Value?.ObserverServices?.ObserverTarget.Value?.Handle ?? nint.Zero; diff --git a/jRandomSkills - SRC Files/src/player/skills/ThrowingKnife.cs b/jRandomSkills - SRC Files/src/player/skills/ThrowingKnife.cs index 11ffc30..2191c3a 100644 --- a/jRandomSkills - SRC Files/src/player/skills/ThrowingKnife.cs +++ b/jRandomSkills - SRC Files/src/player/skills/ThrowingKnife.cs @@ -444,7 +444,7 @@ namespace src.player.skills foreach (var (info, player) in infoList) { - if (player == null || !player.IsValid) continue; + if (player == null || !player.IsValid || !player.PawnIsAlive) continue; uint viewerIndex = PlayerManager.GetPlayerEvent(player)?.Index ?? player.Index; diff --git a/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs b/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs index 110cdd9..9a73653 100644 --- a/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs +++ b/jRandomSkills - SRC Files/src/player/skills/Wallhack.cs @@ -62,7 +62,7 @@ namespace src.player.skills foreach (var (info, player) in infoList) { - if (player == null || !player.IsValid) continue; + if (player == null || !player.IsValid || !player.PawnIsAlive) continue; var playerInfo = PlayerManager.GetPlayerByIndex((PlayerManager.GetPlayerEvent(player)?.Index ?? player.Index)); var targetHandle = player.Pawn.Value?.ObserverServices?.ObserverTarget?.Value?.Handle ?? nint.Zero; diff --git a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs index 7f4d9fd..bff7c21 100644 --- a/jRandomSkills - SRC Files/src/utils/SkillUtils.cs +++ b/jRandomSkills - SRC Files/src/utils/SkillUtils.cs @@ -802,6 +802,7 @@ namespace src.utils var pawn = controller.PlayerPawn.Value; if (pawn == null || !pawn.IsValid) continue; + if (pawn.LifeState != (byte)LifeState_t.LIFE_ALIVE || pawn.Health <= 0) continue; hidden.Add(new HiddenPawn(controller.Index, controller.Team, pawn, bombOwnerIndex == controller.Index, ResolveCarriedIndexes(pawn))); } diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll index 72c2a02..c0e1740 100644 Binary files a/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll and b/jRandomSkills - Server Files/plugins/jRandomSkills/WASDMenuAPI.dll differ diff --git a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll index d8baf16..7f814a8 100644 Binary files a/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll and b/jRandomSkills - Server Files/plugins/jRandomSkills/jRandomSkills.dll differ