diff --git a/sim/druid/balance/TestBalance.results b/sim/druid/balance/TestBalance.results index 8b35cef2e4..9696fc070c 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: { diff --git a/sim/druid/items.go b/sim/druid/items.go index f27914ca98..844c0b131c 100644 --- a/sim/druid/items.go +++ b/sim/druid/items.go @@ -226,13 +226,54 @@ var ItemSetDeepEarthRegalia = core.NewItemSet(core.ItemSet{ Name: "Deep Earth Regalia", Bonuses: map[int32]core.ApplySetBonus{ // Insect Swarm increases all damage done by your Starfire, Starsurge, and Wrath spells against that target by 3% - 2: func(_ core.Agent, _ *core.Aura) { + 2: func(agent core.Agent, setBonusAura *core.Aura) { + druid := agent.(DruidAgent).GetDruid() + + t13InsectSwarmBonus := func(_ *core.Simulation, spell *core.Spell, _ *core.AttackTable) float64 { + if spell.Matches(DruidSpellStarsurge | DruidSpellStarfire | DruidSpellWrath) { + return 1.03 + } + + return 1.0 + } + + 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) - " + druid.Label, + Duration: core.NeverExpires, + OnGain: func(aura *core.Aura, sim *core.Simulation) { + druid.AttackTables[aura.Unit.UnitIndex].DamageDoneByCasterMultiplier = t13InsectSwarmBonus + }, + OnExpire: func(aura *core.Aura, sim *core.Simulation) { + druid.AttackTables[aura.Unit.UnitIndex].DamageDoneByCasterMultiplier = nil + }, + }) + }) + + druid.OnSpellRegistered(func(spell *core.Spell) { + if !spell.Matches(DruidSpellInsectSwarm) { + return + } + + for _, target := range druid.Env.Encounter.TargetUnits { + spell.Dot(target).ApplyOnGain(func(aura *core.Aura, sim *core.Simulation) { + if setBonusAura.IsActive() { + 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(_ core.Agent, setBonusAura *core.Aura) { setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, - FloatValue: 0.05, + FloatValue: 0.1, ClassMask: DruidSpellStarsurge, }) 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);