diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 5 |
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; |