From fe3e3be3a7e5015a9d28e36a19c99dea442693ac Mon Sep 17 00:00:00 2001 From: megamage Date: Wed, 12 Aug 2009 20:49:06 -0500 Subject: [8352] More correct dazed spells selection for remove at shapeshift. Author: VladimirMangos --HG-- branch : trunk --- src/game/SpellAuras.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') 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; -- cgit v1.2.3