From 46052921fe1364f799aac5bc3e2984feae11c31b Mon Sep 17 00:00:00 2001 From: hondacrx Date: Mon, 12 Mar 2018 14:53:18 -0400 Subject: [PATCH] Core/Spell: fix for hitmask being ignored in finish phase procs --- Source/Game/Spells/Spell.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Source/Game/Spells/Spell.cs b/Source/Game/Spells/Spell.cs index 302bc9fcd..66db5541f 100644 --- a/Source/Game/Spells/Spell.cs +++ b/Source/Game/Spells/Spell.cs @@ -1876,7 +1876,7 @@ namespace Game.Spells // Fill base trigger info ProcFlags procAttacker = m_procAttacker; ProcFlags procVictim = m_procVictim; - ProcFlagsHit hitMask = m_hitMask; + ProcFlagsHit hitMask = ProcFlagsHit.None; m_spellAura = null; @@ -2062,6 +2062,9 @@ namespace Game.Spells } } + // set hitmask for finish procs + m_hitMask |= hitMask; + // spellHitTarget can be null if spell is missed in DoSpellHitOnUnit if (missInfo != SpellMissInfo.Evade && spellHitTarget && !m_caster.IsFriendlyTo(unit) && (!m_spellInfo.IsPositive() || m_spellInfo.HasEffect(SpellEffectName.Dispel))) { @@ -3148,11 +3151,7 @@ namespace Game.Spells procAttacker = m_spellInfo.IsPositive() ? ProcFlags.DoneSpellNoneDmgClassPos : ProcFlags.DoneSpellNoneDmgClassNeg; } - ProcFlagsHit hitMask = m_hitMask; - if (!hitMask.HasAnyFlag(ProcFlagsHit.Critical)) - hitMask |= ProcFlagsHit.Normal; - - m_originalCaster.ProcSkillsAndAuras(null, procAttacker, ProcFlags.None, ProcFlagsSpellType.MaskAll, ProcFlagsSpellPhase.Finish, hitMask, this, null, null); + m_originalCaster.ProcSkillsAndAuras(null, procAttacker, ProcFlags.None, ProcFlagsSpellType.MaskAll, ProcFlagsSpellPhase.Finish, m_hitMask, this, null, null); } void SendSpellCooldown()