aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Spell.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 23ebb5314ff..f0e999141f1 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2569,6 +2569,11 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask)
if (!unit || !effectMask)
return SPELL_MISS_EVADE;
+ // Target may have begun evading between launch and hit phases - re-check now
+ if (Creature* creatureTarget = unit->ToCreature())
+ if (creatureTarget->IsEvadingAttacks())
+ return SPELL_MISS_EVADE;
+
// For delayed spells immunity may be applied between missile launch and hit - check immunity for that case
if (m_spellInfo->HasHitDelay() && unit->IsImmunedToSpell(m_spellInfo, m_caster))
return SPELL_MISS_IMMUNE;