diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-11-04 14:21:28 -0300 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-12-10 18:16:47 +0100 |
| commit | 02b4dc5512d8f6f31e69e7ac836de8b0d02e04cd (patch) | |
| tree | 13fb212dbca201a33da2127e3dc7b4ce7db5409a /src/server/game/Spells/SpellInfo.cpp | |
| parent | e2ad91ddbc0a2ee23319995f15e2c2474560638f (diff) | |
Core/Spell: apply SPELLFAMILY_GENERIC mods to all spells by default
Closes #18160
(cherry picked from commit 4f1ef6985e1a83f3a10673d20648f452e93a3004)
# Conflicts:
# src/server/game/Spells/Auras/SpellAuraEffects.cpp
# src/server/game/Spells/SpellMgr.cpp
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 84a4fe34330..4dde72f3778 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1531,6 +1531,20 @@ bool SpellInfo::HasInitialAggro() const return !(HasAttribute(SPELL_ATTR1_NO_THREAT) || HasAttribute(SPELL_ATTR3_NO_INITIAL_AGGRO)); } +bool SpellInfo::IsAffected(uint32 familyName, flag128 const& familyFlags) const +{ + if (!familyName) + return true; + + if (familyName != SpellFamilyName) + return false; + + if (familyFlags && !(familyFlags & SpellFamilyFlags)) + return false; + + return true; +} + bool SpellInfo::IsAffectedBySpellMods() const { return !HasAttribute(SPELL_ATTR3_NO_DONE_BONUS); @@ -1542,15 +1556,10 @@ bool SpellInfo::IsAffectedBySpellMod(SpellModifier const* mod) const return false; SpellInfo const* affectSpell = sSpellMgr->GetSpellInfo(mod->spellId); - // False if affect_spell == NULL or spellFamily not equal - if (!affectSpell || affectSpell->SpellFamilyName != SpellFamilyName) + if (!affectSpell) return false; - // true - if (mod->mask & SpellFamilyFlags) - return true; - - return false; + return IsAffected(affectSpell->SpellFamilyName, mod->mask); } bool SpellInfo::CanPierceImmuneAura(SpellInfo const* aura) const |
