From 251f7f212185cb83751551a71302b4a9d6519d65 Mon Sep 17 00:00:00 2001 From: QAston Date: Sun, 19 Dec 2010 19:43:53 +0100 Subject: Core/Auras: Add some assertions to make sure that AuraEffects are not added twice to UnitAuraEffect containers. --HG-- branch : trunk --- src/server/game/Spells/Auras/SpellAuras.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 01138aea7f3..fde83bfaced 100755 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -147,6 +147,7 @@ void AuraApplication::_HandleEffect(uint8 effIndex, bool apply) if (apply) { + ASSERT(!(m_flags & (1<_HandleAuraEffect(aurEff, true); @@ -154,6 +155,7 @@ void AuraApplication::_HandleEffect(uint8 effIndex, bool apply) } else { + ASSERT(m_flags & (1<GetGUID()); - // TODO: Figure out why this happens. + + // TODO: Figure out why this happens if (itr == m_applications.end()) { sLog.outError("Aura::_UnapplyForTarget, target:%u, caster:%u, spell:%u was not found in owners application map!", target->GetGUIDLow(), caster->GetGUIDLow(), auraApp->GetBase()->GetSpellProto()->Id); + ASSERT(false); } - else - m_applications.erase(itr); // aura has to be already applied - //ASSERT(itr->second == auraApp); + ASSERT(itr->second == auraApp); + m_applications.erase(itr); + m_removedApplications.push_back(auraApp); // reset cooldown state for spells -- cgit v1.2.3