From 62e31f41e4fdaf09f731959916191abb2b543039 Mon Sep 17 00:00:00 2001 From: megamage Date: Fri, 31 Jul 2009 10:51:02 +0800 Subject: *Skip [8257] Avoid remove daze and croud control spells except polymorph at druid form change. Author: Astellar --HG-- branch : trunk --- src/game/SharedDefines.h | 8 +++++++- src/game/SpellAuras.cpp | 24 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index 957ef4449a6..0c643ef8a42 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -970,7 +970,13 @@ enum Mechanics (1<RemoveMovementImpairingAuras(); +/* + m_target->RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT); + Unit::AuraList const& slowingAuras = m_target->GetAurasByType(SPELL_AURA_MOD_DECREASE_SPEED); + for (Unit::AuraList::const_iterator iter = slowingAuras.begin(); iter != slowingAuras.end();) + { + SpellEntry const* aurSpellInfo = (*iter)->GetSpellProto(); + + // 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)) + { + ++iter; + continue; + } + + // All OK, remove aura now + m_target->RemoveAurasDueToSpellByCancel(aurSpellInfo->Id); + iter = slowingAuras.begin(); + } +*/ // and polymorphic affects if(m_target->IsPolymorphed()) m_target->RemoveAurasDueToSpell(m_target->getTransForm()); + break; + } default: break; } -- cgit v1.2.3