aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2021-04-03 10:20:16 -0300
committerKeader <keader.android@gmail.com>2021-04-03 10:20:16 -0300
commitc6e2b6e88c43b3ef79e4eab25b99b1799af161c3 (patch)
treef8d52fbbd8bafcc62a01cc730a8d45349ba75eff
parent0c3bbf5c65c02ad701a831563ba3da9c624de43e (diff)
Revert "Core/Spells: Spells with Attribute SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY should dispel snare auras. (#20621)"
This reverts commit b507acf1c04ff6e9d0a075f9663e9549d5b238b4.
-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 d3acdb93edb..f0d42133088 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -2869,7 +2869,13 @@ void SpellInfo::ApplyAllSpellImmunitiesTo(Unit* target, uint8 effIndex, bool app
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)