diff options
| author | QAston <qaston@gmail.com> | 2012-06-17 15:20:38 -0700 |
|---|---|---|
| committer | QAston <qaston@gmail.com> | 2012-06-17 15:20:38 -0700 |
| commit | a9b6a0c103719f34e6984618b6963ce864226f9a (patch) | |
| tree | 03261396763c00681b373641d9699cec990bda62 | |
| parent | 0e4d6bf4df723cb57190c60f7667021a87dd4eed (diff) | |
| parent | b5a072855e53a01b263338ff9211dca862a7f39a (diff) | |
Merge pull request #6827 from drskull/master
Core/Spells: Small fix IsImmunedToSpell
| -rwxr-xr-x | src/server/game/Entities/Creature/Creature.cpp | 4 | ||||
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 07e8e37e82a..4d54d1599a8 100755 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1676,11 +1676,15 @@ bool Creature::IsImmunedToSpell(SpellInfo const* spellInfo) // the check of mechanic immunity on DB (tested) because GetCreatureTemplate()->MechanicImmuneMask and m_spellImmune[IMMUNITY_MECHANIC] don't have same data. bool immunedToAllEffects = true; for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) + { + if (!spellInfo->Effects[i].IsEffect()) + continue; if (!IsImmunedToSpellEffect(spellInfo, i)) { immunedToAllEffects = false; break; } + } if (immunedToAllEffects) return true; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2646eae5351..a261a633499 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11457,6 +11457,8 @@ bool Unit::IsImmunedToSpell(SpellInfo const* spellInfo) { // State/effect immunities applied by aura expect full spell immunity // Ignore effects with mechanic, they are supposed to be checked separately + if (!spellInfo->Effects[i].IsEffect()) + continue; if (!IsImmunedToSpellEffect(spellInfo, i)) { immuneToAllEffects = false; |
