Skip to content

Commit

Permalink
add downrank penalty for flamestrike rank 8 (#3769)
Browse files Browse the repository at this point in the history
  • Loading branch information
lime-green committed Sep 28, 2023
1 parent ce3807a commit 824452a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 14 deletions.
24 changes: 12 additions & 12 deletions sim/mage/TestFire.results
Original file line number Diff line number Diff line change
Expand Up @@ -770,43 +770,43 @@ dps_results: {
dps_results: {
key: "TestFire-Settings-Troll-P1Fire-Fire-AOE-FullBuffs-LongMultiTarget"
value: {
dps: 42416.39983
tps: 39729.68683
dps: 42304.64393
tps: 39629.66856
}
}
dps_results: {
key: "TestFire-Settings-Troll-P1Fire-Fire-AOE-FullBuffs-LongSingleTarget"
value: {
dps: 2577.32039
tps: 2014.10626
dps: 2559.98392
tps: 1998.67226
}
}
dps_results: {
key: "TestFire-Settings-Troll-P1Fire-Fire-AOE-FullBuffs-ShortSingleTarget"
value: {
dps: 3869.13982
tps: 2902.37696
dps: 3829.65787
tps: 2867.27969
}
}
dps_results: {
key: "TestFire-Settings-Troll-P1Fire-Fire-AOE-NoBuffs-LongMultiTarget"
value: {
dps: 22690.85888
tps: 22825.29888
dps: 22660.76278
tps: 22798.32887
}
}
dps_results: {
key: "TestFire-Settings-Troll-P1Fire-Fire-AOE-NoBuffs-LongSingleTarget"
value: {
dps: 1228.0223
tps: 985.44411
dps: 1220.0746
tps: 978.35309
}
}
dps_results: {
key: "TestFire-Settings-Troll-P1Fire-Fire-AOE-NoBuffs-ShortSingleTarget"
value: {
dps: 2206.59777
tps: 1737.79695
dps: 2185.96357
tps: 1719.38981
}
}
dps_results: {
Expand Down
8 changes: 6 additions & 2 deletions sim/mage/flamestrike.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,17 @@ func (mage *Mage) registerFlamestrikeSpell(rank8 bool) *core.Spell {
dotDamage := 780.0 / 4
minDamage := 876.0
maxDamage := 1071.0
spCoeffMultiplier := 1.0
label := "Flamestrike (Rank 9)"
if rank8 {
actionID = core.ActionID{SpellID: 42925}.WithTag(8)
dotDamage = 620.0 / 4
minDamage = 699.0
maxDamage = 854.0
label = "Flamestrike (Rank 8)"
// Flamestrike (Rank 8) has a 90% SP coefficient penalty
// https://wowpedia.fandom.com/wiki/Downranking#Wrath_of_the_Lich_King
spCoeffMultiplier = 0.9
}

return mage.RegisterSpell(core.SpellConfig{
Expand Down Expand Up @@ -52,7 +56,7 @@ func (mage *Mage) registerFlamestrikeSpell(rank8 bool) *core.Spell {
TickLength: time.Second * 2,
OnSnapshot: func(sim *core.Simulation, _ *core.Unit, dot *core.Dot, _ bool) {
target := mage.CurrentTarget
dot.SnapshotBaseDamage = dotDamage + 0.122*dot.Spell.SpellPower()
dot.SnapshotBaseDamage = dotDamage + 0.122*dot.Spell.SpellPower()*spCoeffMultiplier
dot.SnapshotAttackerMultiplier = dot.Spell.AttackerDamageMultiplier(dot.Spell.Unit.AttackTables[target.UnitIndex])
},
OnTick: func(sim *core.Simulation, target *core.Unit, dot *core.Dot) {
Expand All @@ -63,7 +67,7 @@ func (mage *Mage) registerFlamestrikeSpell(rank8 bool) *core.Spell {
},

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
dmgFromSP := 0.243 * spell.SpellPower()
dmgFromSP := 0.243 * spell.SpellPower() * spCoeffMultiplier
for _, aoeTarget := range sim.Encounter.TargetUnits {
baseDamage := sim.Roll(minDamage, maxDamage) + dmgFromSP
baseDamage *= sim.Encounter.AOECapMultiplier()
Expand Down

0 comments on commit 824452a

Please sign in to comment.