mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
*Cleanup, and fix a likely infinite loop, thanks thenecromancer
--HG-- branch : trunk
This commit is contained in:
@@ -4135,13 +4135,13 @@ void Unit::RemoveAllAuras()
|
||||
|
||||
void Unit::RemoveAllAuras(uint64 casterGUID, Aura * except /*=NULL*/, bool negative /*=true*/, bool positive /*=true*/)
|
||||
{
|
||||
AuraMap::iterator iter = m_Auras.begin();
|
||||
while (!m_Auras.empty())
|
||||
for(AuraMap::iterator iter = m_Auras.begin(); iter != m_Auras.end();)
|
||||
{
|
||||
Aura * aur = (*iter).second;
|
||||
if (aur != except && (!casterGUID || aur->GetCasterGUID()==casterGUID)
|
||||
&& ((negative && !aur->IsPositive()) || (positive && aur->IsPositive())))
|
||||
RemoveAura(aur);
|
||||
if (iter->second != except && (!casterGUID || iter->second->GetCasterGUID()==casterGUID)
|
||||
&& ((negative && !iter->second->IsPositive()) || (positive && iter->second->IsPositive())))
|
||||
RemoveAura(iter);
|
||||
else
|
||||
++iter;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user