Core/Spells: Rename SPELL_ATTR2_ALWAYS_APPLY_MODIFIERS to SPELL_ATTR2_DISPLAY_IN_STANCE_BAR, and make auras to be recalculated when permament instead of using that wrongly defined flag.
This commit is contained in:
@@ -339,7 +339,7 @@ enum SpellAttr2
|
||||
SPELL_ATTR2_UNK1 = 0x00000002, // 1 ? many triggered spells have this flag
|
||||
SPELL_ATTR2_UNK2 = 0x00000004, // 2
|
||||
SPELL_ATTR2_UNK3 = 0x00000008, // 3
|
||||
SPELL_ATTR2_ALWAYS_APPLY_MODIFIERS = 0x00000010, // 4 ? spell modifiers are applied dynamically (even if aura is not passive)
|
||||
SPELL_ATTR2_DISPLAY_IN_STANCE_BAR = 0x00000010, // 4 client displays icon in stance bar when learned, even if not shapeshift
|
||||
SPELL_ATTR2_AUTOREPEAT_FLAG = 0x00000020, // 5
|
||||
SPELL_ATTR2_CANT_TARGET_TAPPED = 0x00000040, // 6 target must be tapped by caster
|
||||
SPELL_ATTR2_UNK7 = 0x00000080, // 7
|
||||
|
||||
@@ -1056,9 +1056,9 @@ void AuraEffect::ApplySpellMod(Unit* target, bool apply)
|
||||
for (Unit::AuraApplicationMap::iterator iter = auras.begin(); iter != auras.end(); ++iter)
|
||||
{
|
||||
Aura* aura = iter->second->GetBase();
|
||||
// only passive auras-active auras should have amount set on spellcast and not be affected
|
||||
// only passive and permament auras-active auras should have amount set on spellcast and not be affected
|
||||
// if aura is casted by others, it will not be affected
|
||||
if ((aura->IsPassive() || aura->GetSpellInfo()->AttributesEx2 & SPELL_ATTR2_ALWAYS_APPLY_MODIFIERS) && aura->GetCasterGUID() == guid && aura->GetSpellInfo()->IsAffectedBySpellMod(m_spellmod))
|
||||
if ((aura->IsPassive() || aura->IsPermanent()) && aura->GetCasterGUID() == guid && aura->GetSpellInfo()->IsAffectedBySpellMod(m_spellmod))
|
||||
{
|
||||
if (GetMiscValue() == SPELLMOD_ALL_EFFECTS)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user