diff --git a/sim/core/spell_outcome.go b/sim/core/spell_outcome.go index 5008bd0b75..f7c70c2c11 100644 --- a/sim/core/spell_outcome.go +++ b/sim/core/spell_outcome.go @@ -34,8 +34,10 @@ func (dot *Dot) OutcomeTickPhysicalCrit(sim *Simulation, result *SpellResult, at if dot.Spell.PhysicalCritCheck(sim, attackTable) { result.Outcome = OutcomeCrit result.Damage *= dot.Spell.CritMultiplier + dot.Spell.SpellMetrics[result.Target.UnitIndex].Crits++ } else { result.Outcome = OutcomeHit + dot.Spell.SpellMetrics[result.Target.UnitIndex].Hits++ } } diff --git a/sim/hunter/multi_shot.go b/sim/hunter/multi_shot.go index 4f0d3bd4ab..cfaeac2f0b 100644 --- a/sim/hunter/multi_shot.go +++ b/sim/hunter/multi_shot.go @@ -52,6 +52,8 @@ func (hunter *Hunter) registerMultiShotSpell() { spell.DealDamage(sim, baseDamageArray[hitIndex]) if hunter.Talents.SerpentSpread > 0 { ss := hunter.SerpentSting.Dot(curTarget) + + hunter.SerpentSting.SpellMetrics[target.UnitIndex].Hits-- ss.NumberOfTicks = (3 + (hunter.Talents.SerpentSpread * 3)) / 2 ss.Apply(sim) hunter.ImprovedSerpentSting.Cast(sim, curTarget) @@ -59,7 +61,6 @@ func (hunter *Hunter) registerMultiShotSpell() { curTarget = sim.Environment.NextTargetUnit(curTarget) } }) - }, }) } diff --git a/sim/hunter/serpent_sting.go b/sim/hunter/serpent_sting.go index 228b0600b9..b92d16f485 100644 --- a/sim/hunter/serpent_sting.go +++ b/sim/hunter/serpent_sting.go @@ -93,7 +93,6 @@ func (hunter *Hunter) registerSerpentStingSpell() { hunter.ImprovedSerpentSting.Cast(sim, target) } } - spell.DealOutcome(sim, result) }) }, diff --git a/ui/hunter/survival/sim.ts b/ui/hunter/survival/sim.ts index e7c8b63c48..f514b4093f 100644 --- a/ui/hunter/survival/sim.ts +++ b/ui/hunter/survival/sim.ts @@ -68,7 +68,6 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecSurvivalHunter, { if (player.getTalents().pathing) { stats = stats.addStat(Stat.StatMeleeHaste, player.getTalents().pathing * Mechanics.HASTE_RATING_PER_HASTE_PERCENT); } - return { talents: stats, };