diff --git a/sim/shaman/enhancement/TestEnhancement.results b/sim/shaman/enhancement/TestEnhancement.results index 083dbe28a5..e81e41ec35 100644 --- a/sim/shaman/enhancement/TestEnhancement.results +++ b/sim/shaman/enhancement/TestEnhancement.results @@ -590,182 +590,182 @@ dps_results: { key: "TestEnhancement-Phase1-Lvl25-Average-Default" value: { dps: 163.08944 - tps: 162.25163 + tps: 239.05294 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Auto-phase_1-FullBuffs-P1-Consumes-LongMultiTarget" value: { dps: 52.03235 - tps: 185.52493 + tps: 189.66043 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Auto-phase_1-FullBuffs-P1-Consumes-LongSingleTarget" value: { dps: 52.03235 - tps: 51.16564 + tps: 55.30114 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Auto-phase_1-FullBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 55.80018 - tps: 52.77725 + tps: 57.05225 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Auto-phase_1-NoBuffs-P1-Consumes-LongMultiTarget" value: { dps: 32.37912 - tps: 136.42412 + tps: 140.64062 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Auto-phase_1-NoBuffs-P1-Consumes-LongSingleTarget" value: { dps: 32.37912 - tps: 32.16637 + tps: 36.38287 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Auto-phase_1-NoBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 39.53089 - tps: 37.44862 + tps: 41.72362 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Delay OH-phase_1-FullBuffs-P1-Consumes-LongMultiTarget" value: { dps: 52.03235 - tps: 185.52493 + tps: 189.66043 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Delay OH-phase_1-FullBuffs-P1-Consumes-LongSingleTarget" value: { dps: 52.03235 - tps: 51.16564 + tps: 55.30114 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Delay OH-phase_1-FullBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 55.80018 - tps: 52.77725 + tps: 57.05225 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Delay OH-phase_1-NoBuffs-P1-Consumes-LongMultiTarget" value: { dps: 32.37912 - tps: 136.42412 + tps: 140.64062 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Delay OH-phase_1-NoBuffs-P1-Consumes-LongSingleTarget" value: { dps: 32.37912 - tps: 32.16637 + tps: 36.38287 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Orc-phase_1-Sync Delay OH-phase_1-NoBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 39.53089 - tps: 37.44862 + tps: 41.72362 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Auto-phase_1-FullBuffs-P1-Consumes-LongMultiTarget" value: { dps: 51.40944 - tps: 183.22867 + tps: 187.43617 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Auto-phase_1-FullBuffs-P1-Consumes-LongSingleTarget" value: { dps: 51.40944 - tps: 50.51525 + tps: 54.72275 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Auto-phase_1-FullBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 55.28904 - tps: 52.26611 + tps: 56.54111 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Auto-phase_1-NoBuffs-P1-Consumes-LongMultiTarget" value: { dps: 32.29672 - tps: 134.56212 + tps: 138.77862 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Auto-phase_1-NoBuffs-P1-Consumes-LongSingleTarget" value: { dps: 32.29672 - tps: 31.80062 + tps: 36.01712 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Auto-phase_1-NoBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 39.13784 - tps: 37.05557 + tps: 41.33057 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Delay OH-phase_1-FullBuffs-P1-Consumes-LongMultiTarget" value: { dps: 51.40944 - tps: 183.22867 + tps: 187.43617 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Delay OH-phase_1-FullBuffs-P1-Consumes-LongSingleTarget" value: { dps: 51.40944 - tps: 50.51525 + tps: 54.72275 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Delay OH-phase_1-FullBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 55.28904 - tps: 52.26611 + tps: 56.54111 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Delay OH-phase_1-NoBuffs-P1-Consumes-LongMultiTarget" value: { dps: 32.29672 - tps: 134.56212 + tps: 138.77862 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Delay OH-phase_1-NoBuffs-P1-Consumes-LongSingleTarget" value: { dps: 32.29672 - tps: 31.80062 + tps: 36.01712 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-Settings-Troll-phase_1-Sync Delay OH-phase_1-NoBuffs-P1-Consumes-ShortSingleTarget" value: { dps: 39.13784 - tps: 37.05557 + tps: 41.33057 } } dps_results: { key: "TestEnhancement-Phase1-Lvl25-SwitchInFrontOfTarget-Default" value: { dps: 154.24982 - tps: 153.35563 + tps: 224.08303 } } dps_results: { diff --git a/sim/shaman/rockbiter_weapon.go b/sim/shaman/rockbiter_weapon.go index 781fa34887..52323ce981 100644 --- a/sim/shaman/rockbiter_weapon.go +++ b/sim/shaman/rockbiter_weapon.go @@ -11,6 +11,7 @@ const RockbiterWeaponRanks = 7 var RockbiterWeaponEnchantId = [RockbiterWeaponRanks + 1]int32{0, 29, 6, 1, 503, 1663, 683, 1664} var RockbiterWeaponBonusAP = [RockbiterWeaponRanks + 1]float64{0, 50, 79, 118, 138, 319, 490, 653} +var RockbiterWeaponBonusTPS = [RockbiterWeaponRanks + 1]float64{0, 6, 10, 16, 27, 41, 55, 72} var RockbiterWeaponLevel = [RockbiterWeaponRanks + 1]int32{0, 1, 8, 16, 24, 34, 44, 54} var RockbiterWeaponRankByLevel = map[int32]int32{ @@ -27,17 +28,27 @@ func (shaman *Shaman) RegisterRockbiterImbue(procMask core.ProcMask) { rank := RockbiterWeaponRankByLevel[shaman.Level] enchantId := RockbiterWeaponEnchantId[rank] + bonusThreat := RockbiterWeaponBonusTPS[rank] duration := time.Minute * 5 - if procMask.Matches(core.ProcMaskMeleeMH) { + hasMHImbue := procMask.Matches(core.ProcMaskMeleeMH) + hasOHImbue := procMask.Matches(core.ProcMaskMeleeOH) + + if hasMHImbue { shaman.MainHand().TempEnchant = enchantId + shaman.AutoAttacks.MHConfig().FlatThreatBonus += bonusThreat * shaman.AutoAttacks.MH().SwingSpeed } - if procMask.Matches(core.ProcMaskMeleeOH) { + if hasOHImbue { shaman.OffHand().TempEnchant = enchantId + shaman.AutoAttacks.MHConfig().FlatThreatBonus += bonusThreat * shaman.AutoAttacks.OH().SwingSpeed } - // TODO: Rockbiter +threat + shaman.OnSpellRegistered(func(spell *core.Spell) { + if spell.ProcMask.Matches(procMask) { + spell.FlatThreatBonus += bonusThreat + } + }) aura := shaman.RegisterAura(core.Aura{ Label: "Rockbiter Imbue", diff --git a/sim/shaman/warden/warden_test.go b/sim/shaman/warden/warden_test.go index 6c671871ea..74b1ff41b4 100644 --- a/sim/shaman/warden/warden_test.go +++ b/sim/shaman/warden/warden_test.go @@ -52,7 +52,7 @@ var Phase4Consumes = core.ConsumesCombo{ FirePowerBuff: proto.FirePowerBuff_ElixirOfGreaterFirepower, Flask: proto.Flask_FlaskOfTheTitans, Food: proto.Food_FoodBlessSunfruit, - MainHandImbue: proto.WeaponImbue_WindfuryWeapon, + MainHandImbue: proto.WeaponImbue_RockbiterWeapon, OffHandImbue: proto.WeaponImbue_ConductiveShieldCoating, SpellPowerBuff: proto.SpellPowerBuff_GreaterArcaneElixir, StrengthBuff: proto.StrengthBuff_JujuPower,