Core/Auras: Fix Pet & Totem aura stacking
Fixes aura staking for Pet, Totem and other spell effects that do not use SPELL_EFFECT_APPLY_AURA Signed-off-by: PKX <[email protected]>
This commit is contained in:
@@ -3306,19 +3306,19 @@ void Unit::_RemoveNoStackAurasDueToAura(Aura* aura)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
bool remove = false;
|
bool remove = false;
|
||||||
for (AuraMap::iterator i = m_ownedAuras.begin(); i != m_ownedAuras.end(); ++i)
|
for (AuraApplicationMap::iterator i = m_appliedAuras.begin(); i != m_appliedAuras.end(); ++i)
|
||||||
{
|
{
|
||||||
if (remove)
|
if (remove)
|
||||||
{
|
{
|
||||||
remove = false;
|
remove = false;
|
||||||
i = m_ownedAuras.begin();
|
i = m_appliedAuras.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aura->CanStackWith(i->second))
|
if (aura->CanStackWith(i->second->GetBase()))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
RemoveOwnedAura(i, AURA_REMOVE_BY_DEFAULT);
|
RemoveAura(i, AURA_REMOVE_BY_DEFAULT);
|
||||||
if (i == m_ownedAuras.end())
|
if (i == m_appliedAuras.end())
|
||||||
break;
|
break;
|
||||||
remove = true;
|
remove = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user