aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Spells/Spell.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 483347d030a..ca79aa1ac0e 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2346,7 +2346,8 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
{
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
{
- if (!(target->effectMask & (1 << i)))
+ // in case of immunity, check all effects to choose correct procFlags, as none has technically hit
+ if (target->effectMask && !(target->effectMask & (1 << i)))
continue;
if (!m_spellInfo->IsPositiveEffect(i))