diff options
author | Nay <dnpd.dd@gmail.com> | 2012-08-06 17:48:31 -0700 |
---|---|---|
committer | Nay <dnpd.dd@gmail.com> | 2012-08-06 17:48:31 -0700 |
commit | a8952c28fb1d5ea28142efc214fa906cf62db060 (patch) | |
tree | 5b1c6e131e5dc19e5281a768f6c0abeb47296eda /src | |
parent | d0e9b740afd1f5425d4e6859acac8798f42db3f8 (diff) | |
parent | 9afbb75321354da1f4797da812eb9cd4a6ef4ce5 (diff) |
Merge pull request #7285 from Vincent-Michael/Cyclone
Core/Spells: Fix Divine Shield and Ice Block casted in Cyclone
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 3742ee5fc52..1dedf8ba916 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5544,7 +5544,7 @@ SpellCastResult Spell::CheckCasterAuras() const // We use bitmasks so the loop is done only once and not on every aura check below. if (m_spellInfo->AttributesEx & SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY) { - for (int i = 0; i < MAX_SPELL_EFFECTS; ++i) + for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) { if (m_spellInfo->Effects[i].ApplyAuraName == SPELL_AURA_SCHOOL_IMMUNITY) school_immune |= uint32(m_spellInfo->Effects[i].MiscValue); @@ -5612,7 +5612,7 @@ SpellCastResult Spell::CheckCasterAuras() const SpellInfo const* auraInfo = aura->GetSpellInfo(); if (auraInfo->GetAllEffectsMechanicMask() & mechanic_immune) continue; - if (auraInfo->GetSchoolMask() & school_immune) + if (auraInfo->GetSchoolMask() & school_immune && !(auraInfo->AttributesEx & SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE)) continue; if (auraInfo->GetDispelMask() & dispel_immune) continue; |