Re-check target evade state on projectile impact and adjust accordingly. This fixes the incorrect message ("Absorb" instead of "Evade"), and also removes the root cause of the original evade follow bug
Port From (https://github.com/TrinityCore/TrinityCore/commit/323e3b9cdeda96d5f0d5be1c615de489ee41ad85)
This commit is contained in:
@@ -2054,6 +2054,12 @@ namespace Game.Spells
|
||||
if (unit == null || effectMask == 0)
|
||||
return SpellMissInfo.Evade;
|
||||
|
||||
// Target may have begun evading between launch and hit phases - re-check now
|
||||
Creature creatureTarget = unit.ToCreature();
|
||||
if (creatureTarget != null)
|
||||
if (creatureTarget.IsEvadingAttacks())
|
||||
return SpellMissInfo.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 SpellMissInfo.Immune;
|
||||
|
||||
Reference in New Issue
Block a user