fix(Core/Spells): Fix Divine Purpose not removing Intimidating Shout stun (#25021)

Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
This commit is contained in:
blinkysc
2026-03-09 13:32:16 -05:00
committed by GitHub
parent 3fea857143
commit 32f0f236dc

View File

@@ -6883,9 +6883,9 @@ SpellCastResult Spell::CheckCasterAuras(bool preventionOnly) const
// Barkskin should skip sleep effects, sap and fears
if (m_spellInfo->Id == 22812)
mask |= 1 << MECHANIC_SAPPED | 1 << MECHANIC_HORROR | 1 << MECHANIC_SLEEP;
// Hand of Freedom, can be used while sapped
// Hand of Freedom, can be used while sapped and while under fear-mechanic stuns (e.g. Intimidating Shout primary target)
if (m_spellInfo->Id == 1044)
mask |= 1 << MECHANIC_SAPPED;
mask |= (1 << MECHANIC_SAPPED) | (1 << MECHANIC_FEAR);
Unit::AuraEffectList const& stunAuras = m_caster->GetAuraEffectsByType(SPELL_AURA_MOD_STUN);
for (Unit::AuraEffectList::const_iterator i = stunAuras.begin(); i != stunAuras.end(); ++i)
{
@@ -6948,9 +6948,9 @@ SpellCastResult Spell::CheckCasterAuras(bool preventionOnly) const
// Barkskin should skip sleep effects, sap and fears
if (m_spellInfo->Id == 22812)
mask |= 1 << MECHANIC_SAPPED | 1 << MECHANIC_HORROR | 1 << MECHANIC_SLEEP;
// Hand of Freedom, can be used while sapped
// Hand of Freedom, can be used while sapped and while under fear-mechanic stuns (e.g. Intimidating Shout primary target)
if (m_spellInfo->Id == 1044)
mask |= 1 << MECHANIC_SAPPED;
mask |= (1 << MECHANIC_SAPPED) | (1 << MECHANIC_FEAR);
if (!usableInStun || !(auraInfo->GetAllEffectsMechanicMask() & mask))
return SPELL_FAILED_STUNNED;