From e16a784ae8dab83f2acd502f937a5da362610dfc Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Tue, 21 Jul 2009 01:22:51 +0400 Subject: [PATCH] [8223] Simplify code for AURA_STATE_CONFLAGRATE remove at aura remove. --- src/game/SpellAuras.cpp | 23 +++++------------------ src/shared/revision_nr.h | 2 +- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index b791240c6..21a6b3098 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -1086,6 +1086,7 @@ void Aura::_RemoveAura() uint32 removeState = 0; uint64 removeFamilyFlag = m_spellProto->SpellFamilyFlags; + uint32 removeFamilyFlag2 = m_spellProto->SpellFamilyFlags2; switch(m_spellProto->SpellFamilyName) { case SPELLFAMILY_PALADIN: @@ -1097,23 +1098,9 @@ void Aura::_RemoveAura() if ((m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000004)) || (m_spellProto->SpellFamilyFlags2 & 0x00000002)) { - // it can have both from same caster or same effect from different casters - bool removeAuraState=true; - Unit::AuraList const& dotList = m_target->GetAurasByType(SPELL_AURA_PERIODIC_DAMAGE); - for(Unit::AuraList::const_iterator i = dotList.begin(); i != dotList.end(); ++i) - { - if ((*i)->GetSpellProto()->SpellFamilyName == SPELLFAMILY_WARLOCK && - // Immolate - (((*i)->GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0000000000000004)) || - // Shadowflame - ((*i)->GetSpellProto()->SpellFamilyFlags2 & 0x00000002))) - { - removeAuraState=false; - break; - } - } - if(removeAuraState) - removeState = AURA_STATE_CONFLAGRATE; + removeFamilyFlag = UI64LIT(0x0000000000000004); + removeFamilyFlag2 = 0x00000002; + removeState = AURA_STATE_CONFLAGRATE; } break; case SPELLFAMILY_DRUID: @@ -1147,7 +1134,7 @@ void Aura::_RemoveAura() { SpellEntry const *auraSpellInfo = (*i).second->GetSpellProto(); if(auraSpellInfo->SpellFamilyName == m_spellProto->SpellFamilyName && - auraSpellInfo->SpellFamilyFlags & removeFamilyFlag) + (auraSpellInfo->SpellFamilyFlags & removeFamilyFlag || auraSpellInfo->SpellFamilyFlags2 & removeFamilyFlag2)) { found = true; break; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index cfee92a2f..c3eb74a96 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8222" + #define REVISION_NR "8223" #endif // __REVISION_NR_H__