From 35d324a0bdac74d845aa93594e4298cb79e294c2 Mon Sep 17 00:00:00 2001 From: Stayko Nedev Date: Sun, 27 Oct 2024 13:34:16 +0200 Subject: [PATCH 1/6] fixed starsurge dmg increase --- sim/druid/items.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/druid/items.go b/sim/druid/items.go index 1dbf576abf..3ee541d1d9 100644 --- a/sim/druid/items.go +++ b/sim/druid/items.go @@ -204,7 +204,7 @@ var ItemSetDeepEarthRegalia = core.NewItemSet(core.ItemSet{ druid.AddStaticMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, - FloatValue: 0.05, + FloatValue: 0.1, ClassMask: DruidSpellStarsurge, }) From de87c02c0efae929ab766ca2d3d37b96eea67161 Mon Sep 17 00:00:00 2001 From: Stayko Nedev Date: Mon, 28 Oct 2024 12:47:35 +0200 Subject: [PATCH 2/6] [Balance] T13 2P implementation --- sim/druid/items.go | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/sim/druid/items.go b/sim/druid/items.go index 3ee541d1d9..f287a7f28a 100644 --- a/sim/druid/items.go +++ b/sim/druid/items.go @@ -197,6 +197,53 @@ var ItemSetDeepEarthRegalia = core.NewItemSet(core.ItemSet{ Bonuses: map[int32]core.ApplyEffect{ // Insect Swarm increases all damage done by your Starfire, Starsurge, and Wrath spells against that target by 3% 2: func(agent core.Agent) { + const ( + DDBC_2pcT13 int = iota + + DDBC_Total + ) + + t13InsectSwarmBonus := func(_ *core.Simulation, spell *core.Spell, _ *core.AttackTable) float64 { + if spell.ClassSpellMask&(DruidSpellStarsurge|DruidSpellStarfire|DruidSpellWrath) > 0 { + return 1.03 + } + + return 1.0 + } + + druid := agent.(DruidAgent).GetDruid() + + t13InsectSwarmBonusDummyAuras := druid.NewEnemyAuraArray(func(target *core.Unit) *core.Aura { + return target.GetOrRegisterAura(core.Aura{ + ActionID: core.ActionID{SpellID: 105722}, + Label: "Item - Druid T13 Balance 2P Bonus (Insect Swarm)", + Duration: core.NeverExpires, + OnGain: func(aura *core.Aura, sim *core.Simulation) { + core.EnableDamageDoneByCaster(DDBC_2pcT13, DDBC_Total, druid.AttackTables[aura.Unit.UnitIndex], t13InsectSwarmBonus) + }, + OnExpire: func(aura *core.Aura, sim *core.Simulation) { + core.DisableDamageDoneByCaster(DDBC_2pcT13, druid.AttackTables[aura.Unit.UnitIndex]) + }, + }) + }) + + druid.OnSpellRegistered(func(spell *core.Spell) { + if spell.ClassSpellMask&(DruidSpellInsectSwarm) == 0 { + return + } + + for _, target := range druid.Env.AllUnits { + if target.Type == core.EnemyUnit { + spell.Dot(target).ApplyOnGain(func(aura *core.Aura, sim *core.Simulation) { + t13InsectSwarmBonusDummyAuras.Get(aura.Unit).Activate(sim) + }) + + spell.Dot(target).ApplyOnExpire(func(aura *core.Aura, sim *core.Simulation) { + t13InsectSwarmBonusDummyAuras.Get(aura.Unit).Deactivate(sim) + }) + } + } + }) }, // Reduces the cooldown of Starsurge by 5 sec and increases its damage by 10% 4: func(agent core.Agent) { From 0dbfe731418854de27e9ac4dabbb749ee8ed2e81 Mon Sep 17 00:00:00 2001 From: Stayko Nedev Date: Mon, 28 Oct 2024 22:27:28 +0200 Subject: [PATCH 3/6] [Balance] include player label in the T13 2P aura label --- sim/druid/items.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/druid/items.go b/sim/druid/items.go index f287a7f28a..0137f0372c 100644 --- a/sim/druid/items.go +++ b/sim/druid/items.go @@ -216,7 +216,7 @@ var ItemSetDeepEarthRegalia = core.NewItemSet(core.ItemSet{ t13InsectSwarmBonusDummyAuras := druid.NewEnemyAuraArray(func(target *core.Unit) *core.Aura { return target.GetOrRegisterAura(core.Aura{ ActionID: core.ActionID{SpellID: 105722}, - Label: "Item - Druid T13 Balance 2P Bonus (Insect Swarm)", + Label: "Item - Druid T13 Balance 2P Bonus (Insect Swarm) - " + druid.Label, Duration: core.NeverExpires, OnGain: func(aura *core.Aura, sim *core.Simulation) { core.EnableDamageDoneByCaster(DDBC_2pcT13, DDBC_Total, druid.AttackTables[aura.Unit.UnitIndex], t13InsectSwarmBonus) From b5fe6614d21ad9f4b238bb8a24196994bdbcc8e0 Mon Sep 17 00:00:00 2001 From: Stayko Nedev Date: Wed, 8 Jan 2025 19:40:55 +0200 Subject: [PATCH 4/6] addressing PR comments --- sim/druid/items.go | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/sim/druid/items.go b/sim/druid/items.go index 0137f0372c..786229d1ee 100644 --- a/sim/druid/items.go +++ b/sim/druid/items.go @@ -197,12 +197,6 @@ var ItemSetDeepEarthRegalia = core.NewItemSet(core.ItemSet{ Bonuses: map[int32]core.ApplyEffect{ // Insect Swarm increases all damage done by your Starfire, Starsurge, and Wrath spells against that target by 3% 2: func(agent core.Agent) { - const ( - DDBC_2pcT13 int = iota - - DDBC_Total - ) - t13InsectSwarmBonus := func(_ *core.Simulation, spell *core.Spell, _ *core.AttackTable) float64 { if spell.ClassSpellMask&(DruidSpellStarsurge|DruidSpellStarfire|DruidSpellWrath) > 0 { return 1.03 @@ -219,10 +213,10 @@ var ItemSetDeepEarthRegalia = core.NewItemSet(core.ItemSet{ Label: "Item - Druid T13 Balance 2P Bonus (Insect Swarm) - " + druid.Label, Duration: core.NeverExpires, OnGain: func(aura *core.Aura, sim *core.Simulation) { - core.EnableDamageDoneByCaster(DDBC_2pcT13, DDBC_Total, druid.AttackTables[aura.Unit.UnitIndex], t13InsectSwarmBonus) + druid.AttackTables[aura.Unit.UnitIndex].DamageDoneByCasterMultiplier = t13InsectSwarmBonus }, OnExpire: func(aura *core.Aura, sim *core.Simulation) { - core.DisableDamageDoneByCaster(DDBC_2pcT13, druid.AttackTables[aura.Unit.UnitIndex]) + druid.AttackTables[aura.Unit.UnitIndex].DamageDoneByCasterMultiplier = nil }, }) }) @@ -232,16 +226,14 @@ var ItemSetDeepEarthRegalia = core.NewItemSet(core.ItemSet{ return } - for _, target := range druid.Env.AllUnits { - if target.Type == core.EnemyUnit { - spell.Dot(target).ApplyOnGain(func(aura *core.Aura, sim *core.Simulation) { - t13InsectSwarmBonusDummyAuras.Get(aura.Unit).Activate(sim) - }) + for _, target := range druid.Env.Encounter.TargetUnits { + spell.Dot(target).ApplyOnGain(func(aura *core.Aura, sim *core.Simulation) { + t13InsectSwarmBonusDummyAuras.Get(aura.Unit).Activate(sim) + }) - spell.Dot(target).ApplyOnExpire(func(aura *core.Aura, sim *core.Simulation) { - t13InsectSwarmBonusDummyAuras.Get(aura.Unit).Deactivate(sim) - }) - } + spell.Dot(target).ApplyOnExpire(func(aura *core.Aura, sim *core.Simulation) { + t13InsectSwarmBonusDummyAuras.Get(aura.Unit).Deactivate(sim) + }) } }) }, From 45f5f11870cf8ccc564378ca4171c7b9bbf35013 Mon Sep 17 00:00:00 2001 From: Stayko Nedev Date: Wed, 8 Jan 2025 20:25:12 +0200 Subject: [PATCH 5/6] updating tests --- sim/death_knight/unholy/TestUnholy.results | 2 +- sim/druid/balance/TestBalance.results | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sim/death_knight/unholy/TestUnholy.results b/sim/death_knight/unholy/TestUnholy.results index f974dff11e..638e4515c8 100644 --- a/sim/death_knight/unholy/TestUnholy.results +++ b/sim/death_knight/unholy/TestUnholy.results @@ -304,7 +304,7 @@ dps_results: { value: { dps: 43120.17978 tps: 32013.58168 - hps: 601.25407 + hps: 601.25406 } } dps_results: { diff --git a/sim/druid/balance/TestBalance.results b/sim/druid/balance/TestBalance.results index ab065d9eb1..b84655598e 100644 --- a/sim/druid/balance/TestBalance.results +++ b/sim/druid/balance/TestBalance.results @@ -438,8 +438,8 @@ dps_results: { dps_results: { key: "TestBalance-AllItems-DeepEarthRegalia" value: { - dps: 25846.28255 - tps: 25879.30174 + dps: 26458.40445 + tps: 26491.42363 } } dps_results: { From a6af1e8ae2aaf7604025fbfe78d7e8149cce95b3 Mon Sep 17 00:00:00 2001 From: Stayko Nedev Date: Wed, 8 Jan 2025 20:41:20 +0200 Subject: [PATCH 6/6] update T13 preset --- ui/druid/balance/gear_sets/t13.gear.json | 14 +++++++------- ui/druid/balance/presets.ts | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ui/druid/balance/gear_sets/t13.gear.json b/ui/druid/balance/gear_sets/t13.gear.json index c2c3b780e3..e4bda1581d 100644 --- a/ui/druid/balance/gear_sets/t13.gear.json +++ b/ui/druid/balance/gear_sets/t13.gear.json @@ -1,21 +1,21 @@ { "items": [ - {"id":78696,"enchant":4207,"gems":[68780,71881],"reforging":119}, + {"id":78696,"enchant":4207,"gems":[68780,71881],"reforging":119}, {"id":78364,"reforging":119}, - {"id":78744,"enchant":4200,"gems":[71881,71881],"reforging":145}, - {"id":77096,"enchant":4115,"gems":[0],"reforging":119}, + {"id":78740,"enchant":4200,"gems":[71881,71881],"reforging":167}, + {"id":77098,"enchant":4115,"gems":[71881],"reforging":138}, {"id":78662,"enchant":4102,"gems":[71881,71881,71850],"reforging":117}, {"id":78372,"enchant":4257,"gems":[71881,0],"reforging":117}, {"id":78676,"enchant":4068,"gems":[71881,0]}, {"id":78420,"gems":[71881,71881,71881],"reforging":117}, {"id":78714,"enchant":4110,"gems":[71881,71881,71881]}, {"id":78434,"enchant":4104,"gems":[71881,71881],"reforging":145}, - {"id":78491,"gems":[71881]}, + {"id":78491,"gems":[71881],"reforging":119}, {"id":78419,"gems":[71881]}, {"id":77995}, {"id":77991}, - {"id":78363,"enchant":4097,"gems":[71881],"reforging":147}, - {"id":78433,"enchant":4091,"gems":[71881],"reforging":119}, - {"id":77082,"gems":[52207],"reforging":147} + {"id":71086,"enchant":4097,"gems":[71881,71881,71881],"reforging":140}, + {}, + {"id":77082,"gems":[71881],"reforging":147} ] } diff --git a/ui/druid/balance/presets.ts b/ui/druid/balance/presets.ts index 9e15469a69..cac7fbf00f 100644 --- a/ui/druid/balance/presets.ts +++ b/ui/druid/balance/presets.ts @@ -26,7 +26,7 @@ import T13Gear from './gear_sets/t13.gear.json'; export const PreraidPresetGear = PresetUtils.makePresetGear('Pre-raid', PreraidGear); export const T11PresetGear = PresetUtils.makePresetGear('T11', T11Gear); export const T12PresetGear = PresetUtils.makePresetGear('T12', T12Gear); -export const T13PresetGear = PresetUtils.makePresetGear('T13 (WIP)', T13Gear); +export const T13PresetGear = PresetUtils.makePresetGear('T13', T13Gear); export const T11PresetRotation = PresetUtils.makePresetAPLRotation('T11 4P', T11Apl); export const T12PresetRotation = PresetUtils.makePresetAPLRotation('T12', T12Apl);