aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellInfo.cpp
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2021-04-03 10:20:16 -0300
committerShauren <shauren.trinity@gmail.com>2022-03-07 22:05:49 +0100
commit2e69b64d6711efa5c6c92f02d7b05aae72f08002 (patch)
tree4a5224bbf954d1e2080af2fcd2608ca479955f65 /src/server/game/Spells/SpellInfo.cpp
parentf948d86ab5996f629acfa9679271b353b7da600f (diff)
Revert "Core/Spells: Spells with Attribute SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY should dispel snare auras. (#20621)"
This reverts commit b507acf1c04ff6e9d0a075f9663e9549d5b238b4. (cherry picked from commit c6e2b6e88c43b3ef79e4eab25b99b1799af161c3)
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
-rw-r--r--src/server/game/Spells/SpellInfo.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index c6d2447f12b..8f799d9422a 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -3551,7 +3551,13 @@ void SpellInfo::ApplyAllSpellImmunitiesTo(Unit* target, SpellEffectInfo const& s
target->ApplySpellImmune(Id, IMMUNITY_MECHANIC, i, apply);
if (apply && HasAttribute(SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY))
- target->RemoveAurasWithMechanic(mechanicImmunity, AURA_REMOVE_BY_DEFAULT, Id);
+ {
+ // exception for purely snare mechanic (eg. hands of freedom)!
+ if (mechanicImmunity == (1 << MECHANIC_SNARE))
+ target->RemoveMovementImpairingAuras(false);
+ else
+ target->RemoveAurasWithMechanic(mechanicImmunity, AURA_REMOVE_BY_DEFAULT, Id);
+ }
}
if (uint32 dispelImmunity = immuneInfo.DispelImmune)