aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellAuras.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index de7ecaa8962..fc66b5af7b8 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -3259,10 +3259,12 @@ void AuraEffect::HandleAuraModShapeshift(bool apply, bool Real, bool changeAmoun
{
SpellEntry const* aurSpellInfo = (*iter)->GetSpellProto();
+ uint32 aurMechMask = GetAllSpellMechanicMask(aurSpellInfo);
+
// If spell that caused this aura has Croud Control or Daze effect
- if((GetAllSpellMechanicMask(aurSpellInfo) & MECHANIC_NOT_REMOVED_BY_SHAPESHIFT) ||
- // some Daze spells have these parameters instead of MECHANIC_DAZE
- (aurSpellInfo->SpellIconID == 15 && aurSpellInfo->Dispel == 0))
+ if((aurMechMask & MECHANIC_NOT_REMOVED_BY_SHAPESHIFT) ||
+ // some Daze spells have these parameters instead of MECHANIC_DAZE (skip snare spells)
+ aurSpellInfo->SpellIconID == 15 && aurSpellInfo->Dispel == 0 && (aurMechMask & (1 << MECHANIC_SNARE))==0)
{
++iter;
continue;