diff options
| author | Shauren <none@none> | 2010-09-29 19:56:10 +0200 |
|---|---|---|
| committer | Shauren <none@none> | 2010-09-29 19:56:10 +0200 |
| commit | 442b312cbf5c21f789cdd9d09bc32b9c4121c214 (patch) | |
| tree | ddcf68397e435f5b825937221f8373ce8a83f7fd /src | |
| parent | 608ad9dd3ddc3e50f1e1345a79e496575833730f (diff) | |
Core/Spells: Implemented SPELL_ATTR_EX2_ALWAYS_APPLY_MODIFIERS, fixes Aura Mastery and some paladin aura related talent behavior when learning
Closes issue #2457.
--HG--
branch : trunk
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 2 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 0f7ec500d55..895a627d805 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -333,7 +333,7 @@ const uint32 ItemQualityColors[MAX_ITEM_QUALITY] = { #define SPELL_ATTR_EX2_UNK1 0x00000002 // 1 ? many triggered spells have this flag #define SPELL_ATTR_EX2_CANT_REFLECTED 0x00000004 // 2 ? used for detect can or not spell reflected #define SPELL_ATTR_EX2_UNK3 0x00000008 // 3 -#define SPELL_ATTR_EX2_UNK4 0x00000010 // 4 +#define SPELL_ATTR_EX2_ALWAYS_APPLY_MODIFIERS 0x00000010 // 4 ? spell modifiers are applied dynamically (even if aura is not passive) #define SPELL_ATTR_EX2_AUTOREPEAT_FLAG 0x00000020 // 5 #define SPELL_ATTR_EX2_UNK6 0x00000040 // 6 #define SPELL_ATTR_EX2_UNK7 0x00000080 // 7 diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index b5649b653d5..a8c0a987f15 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -994,7 +994,7 @@ void AuraEffect::ApplySpellMod(Unit * target, bool apply) Aura * aura = iter->second->GetBase(); // only passive 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->GetCasterGUID() == guid && sSpellMgr.IsAffectedByMod(aura->GetSpellProto(), m_spellmod)) + if ((aura->IsPassive() || aura->GetSpellProto()->AttributesEx2 & SPELL_ATTR_EX2_ALWAYS_APPLY_MODIFIERS) && aura->GetCasterGUID() == guid && sSpellMgr.IsAffectedByMod(aura->GetSpellProto(), m_spellmod)) { if (GetMiscValue() == SPELLMOD_ALL_EFFECTS) { |
