From 8f902616c7a4deea97d862b33742feca8ae88b09 Mon Sep 17 00:00:00 2001 From: VALERA771 Date: Sun, 7 Sep 2025 18:54:13 +0300 Subject: [PATCH] fix: Attacker being null if GenericDamageHandler is used --- EXILED/Exiled.Events/EventArgs/Player/HurtEventArgs.cs | 8 +++++++- EXILED/Exiled.Events/EventArgs/Player/HurtingEventArgs.cs | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/EXILED/Exiled.Events/EventArgs/Player/HurtEventArgs.cs b/EXILED/Exiled.Events/EventArgs/Player/HurtEventArgs.cs index 8fd0eab99b..b42a7ab209 100644 --- a/EXILED/Exiled.Events/EventArgs/Player/HurtEventArgs.cs +++ b/EXILED/Exiled.Events/EventArgs/Player/HurtEventArgs.cs @@ -36,8 +36,14 @@ public HurtEventArgs(ReferenceHub referenceHub, DamageHandlerBase damageHandler, { Player = Player.Get(referenceHub); DamageHandler = new CustomDamageHandler(Player, damageHandler); - Attacker = DamageHandler.BaseIs(out CustomAttackerHandler attackerDamageHandler) ? attackerDamageHandler.Attacker : null; HandlerOutput = handlerOutput; + + if (DamageHandler.BaseIs(out CustomAttackerHandler attackerDamageHandler)) + Attacker = attackerDamageHandler.Attacker; + else if (damageHandler is GenericDamageHandler genericDamageHandler) + Attacker = Player.Get(genericDamageHandler.Attacker); + else + Attacker = null; } /// diff --git a/EXILED/Exiled.Events/EventArgs/Player/HurtingEventArgs.cs b/EXILED/Exiled.Events/EventArgs/Player/HurtingEventArgs.cs index ce3507b18a..f328bddd20 100644 --- a/EXILED/Exiled.Events/EventArgs/Player/HurtingEventArgs.cs +++ b/EXILED/Exiled.Events/EventArgs/Player/HurtingEventArgs.cs @@ -33,8 +33,14 @@ public HurtingEventArgs(Player target, DamageHandlerBase damageHandler) { DamageHandler = new CustomDamageHandler(target, damageHandler); - Attacker = DamageHandler.BaseIs(out CustomAttackerHandler attackerDamageHandler) ? attackerDamageHandler.Attacker : null; Player = target; + + if (DamageHandler.BaseIs(out CustomAttackerHandler attackerDamageHandler)) + Attacker = attackerDamageHandler.Attacker; + else if (damageHandler is GenericDamageHandler genericDamageHandler) + Attacker = Player.Get(genericDamageHandler.Attacker); + else + Attacker = null; } ///