From f1daafeb95f0af9e3e93a2eec209b4642d7c8a36 Mon Sep 17 00:00:00 2001 From: Kayla Glick Date: Tue, 30 Jan 2024 11:53:19 -0500 Subject: [PATCH] update moonfire+sunfire damage calculations --- sim/druid/moonfire.go | 5 +++-- sim/druid/runes.go | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sim/druid/moonfire.go b/sim/druid/moonfire.go index c34cd09dd0..ffa34804fe 100644 --- a/sim/druid/moonfire.go +++ b/sim/druid/moonfire.go @@ -15,6 +15,7 @@ func (druid *Druid) getMoonfireBaseConfig(rank int) core.SpellConfig { manaCost := [11]float64{0, 25, 50, 75, 105, 150, 190, 235, 280, 325, 375}[rank] level := [11]int{0, 4, 10, 16, 22, 28, 34, 40, 46, 52, 58}[rank] + ticks := core.TernaryInt32(rank < 2, 3, 4) impMf := float64(druid.Talents.ImprovedMoonfire) moonfury := float64(druid.Talents.Moonfury) @@ -40,10 +41,10 @@ func (druid *Druid) getMoonfireBaseConfig(rank int) core.SpellConfig { Label: "Moonfire", ActionID: core.ActionID{SpellID: spellId}, }, - NumberOfTicks: core.TernaryInt32(rank < 2, 3, 4), + NumberOfTicks: ticks, TickLength: time.Second * 3, OnSnapshot: func(sim *core.Simulation, target *core.Unit, dot *core.Dot, _ bool) { - dot.SnapshotBaseDamage = (baseDotDamage / 3.0) + spellDotCoeff*dot.Spell.SpellPower() + dot.SnapshotBaseDamage = (baseDotDamage / float64(ticks)) + spellDotCoeff*dot.Spell.SpellPower() dot.SnapshotAttackerMultiplier = 1 // dot.Spell.AttackerDamageMultiplier(dot.Spell.Unit.AttackTables[target.UnitIndex]) }, OnTick: func(sim *core.Simulation, target *core.Unit, dot *core.Dot) { diff --git a/sim/druid/runes.go b/sim/druid/runes.go index c3288fa8de..98e0e5400e 100644 --- a/sim/druid/runes.go +++ b/sim/druid/runes.go @@ -69,7 +69,7 @@ func (druid *Druid) applySunfire() { NumberOfTicks: ticks, TickLength: time.Second * 3, OnSnapshot: func(sim *core.Simulation, target *core.Unit, dot *core.Dot, _ bool) { - dot.SnapshotBaseDamage = (baseDotDamage / float64(ticks)) + 0.13*dot.Spell.SpellPower() + dot.SnapshotBaseDamage = baseDotDamage + 0.13*dot.Spell.SpellPower() dot.SnapshotAttackerMultiplier = 1 }, OnTick: func(sim *core.Simulation, target *core.Unit, dot *core.Dot) {