aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-10-18 11:35:38 +0200
committerShauren <shauren.trinity@gmail.com>2025-10-18 11:35:38 +0200
commit273e7fc45b625a05346dc4225840078480066edd (patch)
tree8cb1f862379db52af5cbe3848e1265cd8ee040bc /src
parentb228ab993bbd2f97426b5364e8e2dc3fe553e241 (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.cpp5
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);
}
}