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:
hondacrx
2020-07-22 14:08:25 -04:00
parent df0ee4462c
commit 2bff624426
+6
View File
@@ -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;