From df3d1d529b05be3edc9d27a16f1038a5c30cde10 Mon Sep 17 00:00:00 2001 From: Yannik F <73497566+reversum@users.noreply.github.com> Date: Sun, 31 May 2026 15:24:53 +0200 Subject: [PATCH] fix: flashbang no longer flashes teammates with friendly fire off The LifeIdentifier check that was added for NW bug #2811 inlined the old `!PreviousOwner.CompareLife(player.ReferenceHub)` condition but dropped the negation, turning `!=` into `==`. UniqueLifeIdentifier is a global per-life counter, so it only matches when `player` is the thrower himself, never for teammates. With `==` the second half of the condition is false for every teammate, the `continue` never runs, and they all get flashed even with FF disabled. Flipping it back to `!=` restores the teammate skip while keeping the LifeIdentifier intent for the NW fix. --- .../Exiled.Events/Patches/Events/Map/ExplodingFlashGrenade.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXILED/Exiled.Events/Patches/Events/Map/ExplodingFlashGrenade.cs b/EXILED/Exiled.Events/Patches/Events/Map/ExplodingFlashGrenade.cs index b01df68276..63968c0232 100644 --- a/EXILED/Exiled.Events/Patches/Events/Map/ExplodingFlashGrenade.cs +++ b/EXILED/Exiled.Events/Patches/Events/Map/ExplodingFlashGrenade.cs @@ -73,7 +73,7 @@ private static void ProcessEvent(FlashbangGrenade instance, float distance) continue; // LifeIdentifier check is needed to fix NW Bug https://git.scpslgame.com/northwood-qa/scpsl-bug-reporting/-/issues/2811 - if (!IndividualFriendlyFire.CheckFriendlyFirePlayer(instance.PreviousOwner, player.ReferenceHub) && instance.PreviousOwner.LifeIdentifier == player.Footprint.LifeIdentifier) + if (!IndividualFriendlyFire.CheckFriendlyFirePlayer(instance.PreviousOwner, player.ReferenceHub) && instance.PreviousOwner.LifeIdentifier != player.Footprint.LifeIdentifier) continue; if (Physics.Linecast(instance.transform.position, player.CameraTransform.position, instance.BlindingMask))