mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 13:37:05 +00:00
[7771] Replace different ways access to aura type in Unit::AddAura by more safe (after call ApplyModifier) local variable.
This commit is contained in:
parent
eb9bd0ec7e
commit
bda5da94c5
2 changed files with 6 additions and 5 deletions
|
|
@ -3345,6 +3345,7 @@ bool Unit::AddAura(Aura *Aur)
|
|||
}
|
||||
|
||||
SpellEntry const* aurSpellInfo = Aur->GetSpellProto();
|
||||
AuraType aurName = Aur->GetModifier()->m_auraname;
|
||||
|
||||
spellEffectPair spair = spellEffectPair(Aur->GetId(), Aur->GetEffIndex());
|
||||
AuraMap::iterator i = m_Auras.find( spair );
|
||||
|
|
@ -3372,7 +3373,7 @@ bool Unit::AddAura(Aura *Aur)
|
|||
}
|
||||
|
||||
bool stop = false;
|
||||
switch(aurSpellInfo->EffectApplyAuraName[Aur->GetEffIndex()])
|
||||
switch(aurName)
|
||||
{
|
||||
// DoT/HoT/etc
|
||||
case SPELL_AURA_PERIODIC_DAMAGE: // allow stack
|
||||
|
|
@ -3448,13 +3449,13 @@ bool Unit::AddAura(Aura *Aur)
|
|||
// add aura, register in lists and arrays
|
||||
Aur->_AddAura();
|
||||
m_Auras.insert(AuraMap::value_type(spellEffectPair(Aur->GetId(), Aur->GetEffIndex()), Aur));
|
||||
if (Aur->GetModifier()->m_auraname < TOTAL_AURAS)
|
||||
if (aurName < TOTAL_AURAS)
|
||||
{
|
||||
m_modAuras[Aur->GetModifier()->m_auraname].push_back(Aur);
|
||||
m_modAuras[aurName].push_back(Aur);
|
||||
}
|
||||
|
||||
Aur->ApplyModifier(true,true);
|
||||
sLog.outDebug("Aura %u now is in use", Aur->GetModifier()->m_auraname);
|
||||
sLog.outDebug("Aura %u now is in use", aurName);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue