mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-16 13:09:50 -04:00
*Set interrupt aura with remove cancel.
--HG-- branch : trunk
This commit is contained in:
@@ -572,7 +572,7 @@ void Unit::RemoveAurasWithInterruptFlags(uint32 flag, uint32 except)
|
||||
sLog.outError("Aura %u is trying to remove itself! Flag %u. May cause crash!", (*iter)->GetId(), flag);
|
||||
else if(!except || (*iter)->GetId() != except)
|
||||
{
|
||||
RemoveAurasDueToSpell((*iter)->GetId());
|
||||
RemoveAurasBySpell((*iter)->GetId(), AURA_REMOVE_BY_CANCEL);
|
||||
if (!m_interruptableAuras.empty())
|
||||
next = m_interruptableAuras.begin();
|
||||
else
|
||||
@@ -4121,6 +4121,18 @@ void Unit::RemoveAura(uint32 spellId, uint32 effindex, Aura* except)
|
||||
}
|
||||
}
|
||||
|
||||
void Unit::RemoveAurasBySpell(uint32 spellId, AuraRemoveMode removeMode)
|
||||
{
|
||||
for (AuraMap::iterator iter = m_Auras.begin(); iter != m_Auras.end(); )
|
||||
{
|
||||
Aura *aur = iter->second;
|
||||
if (aur->GetId() == spellId)
|
||||
RemoveAura(iter, removeMode);
|
||||
else
|
||||
++iter;
|
||||
}
|
||||
}
|
||||
|
||||
void Unit::RemoveAurasByCasterSpell(uint32 spellId, uint64 casterGUID, AuraRemoveMode removeMode)
|
||||
{
|
||||
for (AuraMap::iterator iter = m_Auras.begin(); iter != m_Auras.end(); )
|
||||
|
||||
Reference in New Issue
Block a user