aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-01-17 12:52:58 +0100
committerShauren <shauren.trinity@gmail.com>2016-01-17 12:52:58 +0100
commitdfceb3dd19d9bf65c4c692714c45ee4cbe6240aa (patch)
tree4f7a704057db68483dfa6245d073d476c0ba73eb /src
parent09adf4d0ad6e239ef97f7553fd00b5767625a29d (diff)
Core/Spells: Fixed crash in spell effect immunity check
Closes #16299
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index b93bfa8719d..8a3f4720a2b 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -1818,12 +1818,16 @@ void Player::RemoveFromWorld()
bool Player::IsImmunedToSpellEffect(SpellInfo const* spellInfo, uint32 index) const
{
+ SpellEffectInfo const* effect = spellInfo->GetEffect(GetMap()->GetDifficultyID(), index);
+ if (!effect || !effect->IsEffect())
+ return false;
+
// players are immune to taunt (the aura and the spell effect).
if (spellInfo->GetEffect(index)->IsAura(SPELL_AURA_MOD_TAUNT))
return true;
if (spellInfo->GetEffect(index)->IsEffect(SPELL_EFFECT_ATTACK_ME))
return true;
-
+
return Unit::IsImmunedToSpellEffect(spellInfo, index);
}