Core/Spells: Fix Divine Shield and Ice Block casted in Cyclone

This commit is contained in:
Vincent-Michael
2012-08-05 04:18:22 +02:00
parent 0b98656b28
commit 9afbb75321
+2 -2
View File
@@ -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. // 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) 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) if (m_spellInfo->Effects[i].ApplyAuraName == SPELL_AURA_SCHOOL_IMMUNITY)
school_immune |= uint32(m_spellInfo->Effects[i].MiscValue); school_immune |= uint32(m_spellInfo->Effects[i].MiscValue);
@@ -5612,7 +5612,7 @@ SpellCastResult Spell::CheckCasterAuras() const
SpellInfo const* auraInfo = aura->GetSpellInfo(); SpellInfo const* auraInfo = aura->GetSpellInfo();
if (auraInfo->GetAllEffectsMechanicMask() & mechanic_immune) if (auraInfo->GetAllEffectsMechanicMask() & mechanic_immune)
continue; continue;
if (auraInfo->GetSchoolMask() & school_immune) if (auraInfo->GetSchoolMask() & school_immune && !(auraInfo->AttributesEx & SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE))
continue; continue;
if (auraInfo->GetDispelMask() & dispel_immune) if (auraInfo->GetDispelMask() & dispel_immune)
continue; continue;