diff options
author | dr.skull <dr.skull@centrum.sk> | 2012-06-17 23:17:59 +0200 |
---|---|---|
committer | dr.skull <dr.skull@centrum.sk> | 2012-06-17 23:19:32 +0200 |
commit | b5a072855e53a01b263338ff9211dca862a7f39a (patch) | |
tree | 6cbfb69492574203bd2d13f1c4b2a2889c8704cd | |
parent | 3f8efb21cd46dcc0391c84916be6d8f9920aee23 (diff) |
Fix added check for IsImmunedToSpell
Signed-off-by: dr.skull <dr.skull@centrum.sk>
-rwxr-xr-x | src/server/game/Entities/Creature/Creature.cpp | 6 | ||||
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 6857abde2bd..4d54d1599a8 100755 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1675,10 +1675,10 @@ bool Creature::IsImmunedToSpell(SpellInfo const* spellInfo) // This check must be done instead of 'if (GetCreatureTemplate()->MechanicImmuneMask & (1 << (spellInfo->Mechanic - 1)))' for not break // 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 (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) + for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) { - if(!spellInfo->Effects[i].IsEffect()) - break; + if (!spellInfo->Effects[i].IsEffect()) + continue; if (!IsImmunedToSpellEffect(spellInfo, i)) { immunedToAllEffects = false; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 0915f9ea3e9..45c2d6b0b9a 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11534,12 +11534,12 @@ bool Unit::IsImmunedToSpell(SpellInfo const* spellInfo) } bool immuneToAllEffects = true; - for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) + for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) { // 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()) - break; + if (!spellInfo->Effects[i].IsEffect()) + continue; if (!IsImmunedToSpellEffect(spellInfo, i)) { immuneToAllEffects = false; |