diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-10-18 11:35:38 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-10-18 11:35:38 +0200 |
commit | 273e7fc45b625a05346dc4225840078480066edd (patch) | |
tree | 8cb1f862379db52af5cbe3848e1265cd8ee040bc /src | |
parent | b228ab993bbd2f97426b5364e8e2dc3fe553e241 (diff) |
Core/Spells: Remove stealth auras by dispel type when handling SPELL_ATTR1_FAILURE_BREAKS_STEALTH instead of picking a random interrupt flag that stealth has
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 986c8376a00..c4260860fb3 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2948,7 +2948,10 @@ void Spell::TargetInfo::DoDamageAndTriggers(Spell* spell) if (MissCondition == SPELL_MISS_RESIST && spell->m_spellInfo->HasAttribute(SPELL_ATTR1_FAILURE_BREAKS_STEALTH) && spell->unitTarget->GetTypeId() == TYPEID_UNIT) { Unit* unitCaster = ASSERT_NOTNULL(spell->m_caster->ToUnit()); - unitCaster->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::Interacting); + unitCaster->RemoveAppliedAuras([](AuraApplication const* aurApp) + { + return aurApp->GetBase()->GetSpellInfo()->Dispel == DISPEL_STEALTH; + }); spell->unitTarget->ToCreature()->EngageWithTarget(unitCaster); } } |