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; } ///