*Do not allow periodic aoe auras to stack.
--HG-- branch : trunk
This commit is contained in:
@@ -7388,7 +7388,8 @@ void AuraEffect::HandleReflectSpells( bool Apply, bool Real , bool /*changeAmoun
|
||||
// implemented in Unit::SpellHitResult
|
||||
|
||||
// only special case
|
||||
if(!Apply && Real && m_spellProto->SpellFamilyName == SPELLFAMILY_WARRIOR && m_spellProto->SpellFamilyFlags[1] & 0x2)
|
||||
if(!Apply && Real && GetParentAura()->GetRemoveMode() != AURA_REMOVE_BY_DEFAULT
|
||||
&& m_spellProto->SpellFamilyName == SPELLFAMILY_WARRIOR && m_spellProto->SpellFamilyFlags[1] & 0x2)
|
||||
{
|
||||
if (Unit * caster = GetCaster())
|
||||
{
|
||||
|
||||
@@ -2826,6 +2826,11 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2, bool
|
||||
for(uint32 i = 0; i < 3; ++i)
|
||||
if (spellInfo_1->Effect[i] == SPELL_EFFECT_APPLY_AURA
|
||||
|| spellInfo_1->Effect[i] == SPELL_EFFECT_PERSISTENT_AREA_AURA)
|
||||
{
|
||||
// not channeled AOE effects can stack
|
||||
if(IsAreaEffectTarget[spellInfo_1->EffectImplicitTargetA[i]] || IsAreaEffectTarget[spellInfo_1->EffectImplicitTargetB[i]]
|
||||
&& !IsChanneledSpell(spellInfo_1))
|
||||
continue;
|
||||
// not area auras (shaman totem)
|
||||
switch(spellInfo_1->EffectApplyAuraName[i])
|
||||
{
|
||||
@@ -2844,6 +2849,7 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2, bool
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
spellId_2 = GetLastSpellInChain(spellId_2);
|
||||
|
||||
Reference in New Issue
Block a user