diff options
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r-- | src/game/Unit.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index d57ace725b1..67b15de5adb 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9449,13 +9449,8 @@ bool Unit::IsImmunedToDamage(SpellSchoolMask shoolMask) bool Unit::IsImmunedToDamage(SpellEntry const* spellInfo) { - if(spellInfo->Attributes & SPELL_ATTR_UNAFFECTED_BY_INVULNERABILITY) - return false; - uint32 shoolMask = GetSpellSchoolMask(spellInfo); - if(!(spellInfo->AttributesEx & - (SPELL_ATTR_EX_UNAFFECTED_BY_SCHOOL_IMMUNE | SPELL_ATTR_EX_DISPEL_AURAS_ON_IMMUNITY)) // can remove immune (by dispell or immune it) - && spellInfo->Id != 42292) + if(spellInfo->Id != 42292 && spellInfo->Id !=59752) { //If m_immuneToSchool type contain this school type, IMMUNE damage. SpellImmuneList const& schoolList = m_spellImmune[IMMUNITY_SCHOOL]; @@ -9484,17 +9479,12 @@ bool Unit::IsImmunedToSpell(SpellEntry const* spellInfo) if(itr->type == spellInfo->Id) return true; - if(spellInfo->Attributes & SPELL_ATTR_UNAFFECTED_BY_INVULNERABILITY) - return false; - SpellImmuneList const& dispelList = m_spellImmune[IMMUNITY_DISPEL]; for(SpellImmuneList::const_iterator itr = dispelList.begin(); itr != dispelList.end(); ++itr) if(itr->type == spellInfo->Dispel) return true; - if(!(spellInfo->AttributesEx & - (SPELL_ATTR_EX_UNAFFECTED_BY_SCHOOL_IMMUNE | SPELL_ATTR_EX_DISPEL_AURAS_ON_IMMUNITY)) // can remove immune (by dispell or immune it) - && spellInfo->Id != 42292) + if(spellInfo->Id != 42292 && spellInfo->Id !=59752) { SpellImmuneList const& schoolList = m_spellImmune[IMMUNITY_SCHOOL]; for(SpellImmuneList::const_iterator itr = schoolList.begin(); itr != schoolList.end(); ++itr) |