Core/Spells: Fix Divine Shield and Ice Block casted in Cyclone
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user