Core/Arenas: Fix removal of some auras at arena join/leave
Closes #575 #1721
This commit is contained in:
@@ -4041,7 +4041,7 @@ void Unit::RemoveArenaAuras(bool onleave)
|
|||||||
Aura const * aura = aurApp->GetBase();
|
Aura const * aura = aurApp->GetBase();
|
||||||
if (!(aura->GetSpellProto()->AttributesEx4 & SPELL_ATTR4_UNK21) // don't remove stances, shadowform, pally/hunter auras
|
if (!(aura->GetSpellProto()->AttributesEx4 & SPELL_ATTR4_UNK21) // don't remove stances, shadowform, pally/hunter auras
|
||||||
&& !aura->IsPassive() // don't remove passive auras
|
&& !aura->IsPassive() // don't remove passive auras
|
||||||
&& (!(aura->GetSpellProto()->Attributes & SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY)) // not unaffected by invulnerability auras or not having that unknown flag (that seemed the most probable)
|
&& !(aura->GetSpellProto()->AttributesEx3 & SPELL_ATTR3_DEATH_PERSISTENT) // not death persistent auras
|
||||||
&& (aurApp->IsPositive() ^ onleave)) // remove positive buffs on enter, negative buffs on leave
|
&& (aurApp->IsPositive() ^ onleave)) // remove positive buffs on enter, negative buffs on leave
|
||||||
RemoveAura(iter);
|
RemoveAura(iter);
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user