diff --git a/sim/warlock/dps/TestDemonology.results b/sim/warlock/dps/TestDemonology.results index 92e93c8966..973db75d6e 100644 --- a/sim/warlock/dps/TestDemonology.results +++ b/sim/warlock/dps/TestDemonology.results @@ -200,9 +200,9 @@ stat_weights_results: { weights: 0 weights: 0 weights: 0 - weights: -0.57345 + weights: -0.59533 weights: 0 - weights: 3.4435 + weights: 3.46944 weights: 0 weights: 0 weights: 0 @@ -249,9 +249,9 @@ stat_weights_results: { weights: 0 weights: 0 weights: 0 - weights: 3.18865 + weights: 3.19041 weights: 0 - weights: 1.90377 + weights: 1.91675 weights: 0 weights: 0 weights: 0 @@ -379,7 +379,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase5-Lvl60-AllItems-InfernalPactEssence-216509" value: { - dps: 4611.13721 + dps: 4734.83189 tps: 2744.19944 } } @@ -400,84 +400,84 @@ dps_results: { dps_results: { key: "TestDemonology-Phase5-Lvl60-AllItems-MalevolentProphet'sVestments" value: { - dps: 3099.95211 + dps: 3228.42143 tps: 1490.13015 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-AllItems-NightmareProphet'sGarb" value: { - dps: 3073.12358 + dps: 3200.04184 tps: 1481.62359 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-AllItems-ZilaGular-223214" value: { - dps: 4611.13721 + dps: 4734.83189 tps: 2744.19944 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-Average-Default" value: { - dps: 4851.23382 + dps: 4989.5203 tps: 2819.49457 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-FullBuffs-P5-Consumes-LongMultiTarget" value: { - dps: 5323.50524 + dps: 5506.7894 tps: 3736.17324 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-FullBuffs-P5-Consumes-LongSingleTarget" value: { - dps: 4812.59483 + dps: 4951.43012 tps: 2784.4131 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-FullBuffs-P5-Consumes-ShortSingleTarget" value: { - dps: 5351.37436 + dps: 5525.68384 tps: 2903.8423 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-NoBuffs-P5-Consumes-LongMultiTarget" value: { - dps: 2193.44041 + dps: 2258.71904 tps: 2250.30428 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-NoBuffs-P5-Consumes-LongSingleTarget" value: { - dps: 1987.82055 + dps: 2036.40385 tps: 1252.10779 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-NoBuffs-P5-Consumes-ShortSingleTarget" value: { - dps: 2232.16103 + dps: 2294.83639 tps: 1318.9701 } } dps_results: { key: "TestDemonology-Phase5-Lvl60-SwitchInFrontOfTarget-Default" value: { - dps: 4812.98604 + dps: 4951.82421 tps: 2784.2698 } } dps_results: { key: "TestDemonology-Phase6-Lvl60-AllItems-BloodGuard'sDreadweave" value: { - dps: 2231.99379 + dps: 2323.62782 tps: 1341.20494 } } @@ -491,14 +491,14 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-AllItems-EmeraldEnchantedVestments" value: { - dps: 2231.05954 + dps: 2322.63947 tps: 1340.86124 } } dps_results: { key: "TestDemonology-Phase6-Lvl60-AllItems-InfernalPactEssence-216509" value: { - dps: 4662.29869 + dps: 4757.2611 tps: 3706.62536 hps: 938.24926 } @@ -513,28 +513,28 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-AllItems-Knight-Lieutenant'sDreadweave" value: { - dps: 2231.99379 + dps: 2323.62782 tps: 1341.20494 } } dps_results: { key: "TestDemonology-Phase6-Lvl60-AllItems-MalevolentProphet'sVestments" value: { - dps: 2837.37691 + dps: 2933.00973 tps: 1896.9497 } } dps_results: { key: "TestDemonology-Phase6-Lvl60-AllItems-NightmareProphet'sGarb" value: { - dps: 2807.65409 + dps: 2901.63949 tps: 1884.91139 } } dps_results: { key: "TestDemonology-Phase6-Lvl60-AllItems-ZilaGular-223214" value: { - dps: 4669.40209 + dps: 4764.333 tps: 3714.96602 hps: 947.84729 } @@ -542,7 +542,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-Average-Default" value: { - dps: 4845.20219 + dps: 4946.45113 tps: 3825.73643 hps: 945.02037 } @@ -550,7 +550,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-FullBuffs-P6-Consumes-LongMultiTarget" value: { - dps: 5180.94202 + dps: 5313.86737 tps: 5190.34597 hps: 960.93474 } @@ -558,7 +558,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-FullBuffs-P6-Consumes-LongSingleTarget" value: { - dps: 4778.56691 + dps: 4880.12221 tps: 3757.42083 hps: 947.20085 } @@ -566,7 +566,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-FullBuffs-P6-Consumes-ShortSingleTarget" value: { - dps: 5033.59628 + dps: 5161.19378 tps: 3721.77929 hps: 826.4136 } @@ -574,7 +574,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-NoBuffs-P6-Consumes-LongMultiTarget" value: { - dps: 2191.45937 + dps: 2236.34508 tps: 3218.3855 hps: 498.29695 } @@ -582,7 +582,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-NoBuffs-P6-Consumes-LongSingleTarget" value: { - dps: 2039.3873 + dps: 2072.54483 tps: 1749.42604 hps: 498.69666 } @@ -590,7 +590,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-Settings-Orc-demonology-Demonology Warlock-demonology-NoBuffs-P6-Consumes-ShortSingleTarget" value: { - dps: 2147.89102 + dps: 2190.73856 tps: 1744.62748 hps: 449.39646 } @@ -598,7 +598,7 @@ dps_results: { dps_results: { key: "TestDemonology-Phase6-Lvl60-SwitchInFrontOfTarget-Default" value: { - dps: 4800.31919 + dps: 4902.03581 tps: 3776.88716 hps: 945.92767 } diff --git a/sim/warlock/item_sets_pve_phase_5.go b/sim/warlock/item_sets_pve_phase_5.go index 484e02343e..0eb9ec58b2 100644 --- a/sim/warlock/item_sets_pve_phase_5.go +++ b/sim/warlock/item_sets_pve_phase_5.go @@ -191,7 +191,7 @@ func (warlock *Warlock) applyT2Damage2PBonus() { return } - core.MakePermanent(warlock.RegisterAura(core.Aura{ + warlock.RegisterAura(core.Aura{ Label: label, OnInit: func(aura *core.Aura, sim *core.Simulation) { for _, spell := range warlock.Spellbook { @@ -200,11 +200,18 @@ func (warlock *Warlock) applyT2Damage2PBonus() { } } - if warlock.HasRune(proto.WarlockRune_RuneBracerSummonFelguard) { - warlock.Felguard.PseudoStats.DamageDealtMultiplier *= 1.10 + if !warlock.HasRune(proto.WarlockRune_RuneBracerSummonFelguard) { + return } + + warlock.Felguard.ApplyOnPetEnable(func(sim *core.Simulation) { + warlock.Felguard.PseudoStats.DamageDealtMultiplier *= 1.10 + }) + warlock.Felguard.ApplyOnPetDisable(func(sim *core.Simulation, isSacrifice bool) { + warlock.Felguard.PseudoStats.DamageDealtMultiplier /= 1.10 + }) }, - })) + }) } // Periodic damage from your Shadowflame, Unstable Affliction, and Curse of Agony spells and damage done by your Felguard have a 4% chance to grant the Shadow Trance effect. diff --git a/sim/warlock/items.go b/sim/warlock/items.go index 514cdb9f9e..1ea73aae20 100644 --- a/sim/warlock/items.go +++ b/sim/warlock/items.go @@ -297,13 +297,14 @@ func init() { actionID := core.ActionID{ItemID: TheBlackBook} duration := time.Second * 30 - affectedPet := warlock.ActivePet statDeps := map[string]*stats.StatDependency{} for _, pet := range warlock.BasePets { statDeps[pet.Name] = pet.NewDynamicMultiplyStat(stats.Armor, 2) } + var affectedPet *WarlockPet + buffAura := warlock.RegisterAura(core.Aura{ ActionID: actionID, Label: "Blessing of the Black Book", diff --git a/sim/warlock/runes.go b/sim/warlock/runes.go index 232b2f4776..15f1ef690b 100644 --- a/sim/warlock/runes.go +++ b/sim/warlock/runes.go @@ -282,7 +282,6 @@ func (warlock *Warlock) applyDanceOfTheWicked() { OnRefresh: func(aura *core.Aura, sim *core.Simulation) { newCritSnapshot := warlock.GetStat(stats.SpellCrit) warlock.AddStatDynamic(sim, stats.Dodge, newCritSnapshot-lastCritSnapshot) - fmt.Println(sim.CurrentTime, "Current Crit:", warlock.GetStat(stats.SpellCrit), "Old Crit:", lastCritSnapshot, "Delta:", warlock.GetStat(stats.SpellCrit)-lastCritSnapshot) lastCritSnapshot = newCritSnapshot }, OnExpire: func(aura *core.Aura, sim *core.Simulation) {