Skip to content

Commit

Permalink
Prevent disarming target with no main hand weapon.
Browse files Browse the repository at this point in the history
How was there no check for this until now?
  • Loading branch information
ratkosrb committed Jan 18, 2025
1 parent 7ce75e8 commit 9f46023
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/game/Spells/Spell.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7153,6 +7153,22 @@ SpellCastResult Spell::CheckCast(bool strict)

break;
}
case SPELL_AURA_MOD_DISARM:
{
if (Creature* pTarget = ToCreature(m_targets.getUnitTarget()))
{
if (!pTarget->CanUseEquippedWeapon(BASE_ATTACK) ||
!pTarget->GetVirtualItemDisplayId(BASE_ATTACK) ||
pTarget->GetVirtualItemClass(BASE_ATTACK) != ITEM_CLASS_WEAPON)
return SPELL_FAILED_TARGET_NO_WEAPONS;
}
else if (Player* pTarget = ToPlayer(m_targets.getUnitTarget()))
{
if (!pTarget->GetWeaponForAttack(BASE_ATTACK, true, true))
return SPELL_FAILED_TARGET_NO_WEAPONS;
}
break;
}
case SPELL_AURA_MOD_SHAPESHIFT:
{
if (m_casterUnit && m_casterUnit->HasAura(23397)) // Ustaag <Nostalrius> : Nefarian Warrior Class Call
Expand Down

0 comments on commit 9f46023

Please sign in to comment.