*Do not keep area aura targets in combat with aura owner

*Add some safety checks to area aura target map update.

--HG--
branch : trunk
This commit is contained in:
QAston
2010-01-24 13:08:25 +01:00
parent 79accd730e
commit d1a40eb688
7 changed files with 287 additions and 254 deletions

View File

@@ -2601,8 +2601,7 @@ void Spell::EffectApplyAura(uint32 i)
if (!m_spellAura)
return;
assert (unitTarget == m_spellAura->GetOwner());
if (!m_spellAura->IsRemoved())
m_spellAura->ApplyEffectForTargets(i);
m_spellAura->_ApplyEffectForTargets(i);
}
void Spell::EffectApplyAreaAura(uint32 i)
@@ -2610,8 +2609,7 @@ void Spell::EffectApplyAreaAura(uint32 i)
if (!m_spellAura)
return;
assert (unitTarget == m_spellAura->GetOwner());
if (!m_spellAura->IsRemoved())
m_spellAura->ApplyEffectForTargets(i);
m_spellAura->_ApplyEffectForTargets(i);
}
void Spell::EffectUnlearnSpecialization( uint32 i )
@@ -3140,10 +3138,10 @@ void Spell::EffectPersistentAA(uint32 i)
assert(false);
return;
}
m_spellAura->_RegisterForTargets();
}
assert(m_spellAura->GetDynobjOwner());
if (!m_spellAura->IsRemoved())
m_spellAura->ApplyEffectForTargets(i);
m_spellAura->_ApplyEffectForTargets(i);
}
void Spell::EffectEnergize(uint32 i)