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