diff --git a/EXILED/Exiled.API/Features/DamageHandlers/CustomDamageHandler.cs b/EXILED/Exiled.API/Features/DamageHandlers/CustomDamageHandler.cs
index 67b464474..fde6e9e00 100644
--- a/EXILED/Exiled.API/Features/DamageHandlers/CustomDamageHandler.cs
+++ b/EXILED/Exiled.API/Features/DamageHandlers/CustomDamageHandler.cs
@@ -39,11 +39,17 @@ public CustomDamageHandler(Player target, BaseHandler baseHandler)
if (Attacker is not null)
{
if (baseHandler is BaseScpDamageHandler)
+ {
CustomBase = new ScpDamageHandler(target, baseHandler);
- else if (Attacker.CurrentItem is not null && Attacker.CurrentItem.Type.IsWeapon() && baseHandler is BaseFirearmHandler)
- CustomBase = new FirearmDamageHandler(Attacker.CurrentItem, target, baseHandler);
+ }
else
- CustomBase = new DamageHandler(target, Attacker);
+ {
+ Item item = Attacker.CurrentItem;
+ if (item is not null && item.Type.IsWeapon() && baseHandler is BaseFirearmHandler)
+ CustomBase = new FirearmDamageHandler(item, target, baseHandler);
+ else
+ CustomBase = new DamageHandler(target, Attacker);
+ }
}
else
{
diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs
index ea317a5d5..606e6e80e 100644
--- a/EXILED/Exiled.API/Features/Player.cs
+++ b/EXILED/Exiled.API/Features/Player.cs
@@ -2014,10 +2014,12 @@ public void DropItem(Item item, bool isThrown = false)
/// Dropped item's .
public Pickup DropHeldItem()
{
- if (CurrentItem is null)
+ Item item = CurrentItem;
+
+ if (item is null)
return null;
- return DropItem(CurrentItem);
+ return DropItem(item);
}
///