From 0486c369c9fbd5b8edcf4b6fc3e520f006fe7391 Mon Sep 17 00:00:00 2001 From: NerdEgghead Date: Thu, 9 May 2024 13:56:08 -0700 Subject: [PATCH 1/6] Implemented bear-weaving rotation option On branch feral Changes to be committed: modified: proto/apl.proto modified: proto/druid.proto modified: sim/druid/druid.go modified: sim/druid/feral/TestFeral.results modified: sim/druid/feral/apl_values.go modified: sim/druid/feral/rotation.go modified: sim/druid/forms.go modified: sim/druid/mangle.go modified: sim/druid/maul.go modified: sim/druid/omen_of_clarity.go modified: sim/druid/thrash.go modified: ui/core/components/individual_sim_ui/apl_actions.ts modified: ui/druid/feral/apls/default.apl.json modified: ui/druid/feral/inputs.ts modified: ui/druid/feral/presets.ts modified: ui/druid/feral/sim.ts --- proto/apl.proto | 1 + proto/druid.proto | 3 +- sim/druid/druid.go | 19 +- sim/druid/feral/TestFeral.results | 892 +++++++++--------- sim/druid/feral/apl_values.go | 2 +- sim/druid/feral/rotation.go | 258 ++--- sim/druid/forms.go | 15 +- sim/druid/mangle.go | 6 +- sim/druid/maul.go | 74 +- sim/druid/omen_of_clarity.go | 1 + sim/druid/thrash.go | 4 + .../individual_sim_ui/apl_actions.ts | 12 +- ui/druid/feral/apls/default.apl.json | 2 +- ui/druid/feral/inputs.ts | 9 +- ui/druid/feral/presets.ts | 5 +- ui/druid/feral/sim.ts | 2 +- 16 files changed, 598 insertions(+), 707 deletions(-) diff --git a/proto/apl.proto b/proto/apl.proto index ad89220d51..fdbe7628f4 100644 --- a/proto/apl.proto +++ b/proto/apl.proto @@ -288,6 +288,7 @@ message APLActionCatOptimalRotationAction { bool bite_during_execute = 9; bool allow_aoe_berserk = 10; bool melee_weave = 11; + bool bear_weave = 12; } message APLActionMove { diff --git a/proto/druid.proto b/proto/druid.proto index ae3e5a4e24..af7a04c6ac 100644 --- a/proto/druid.proto +++ b/proto/druid.proto @@ -158,7 +158,7 @@ message FeralDruid { Analytical = 1; } - BearweaveType bear_weave_type = 1; + bool bear_weave = 1; bool maintain_faerie_fire = 2; int32 min_combos_for_rip = 3; bool use_rake = 4; @@ -168,7 +168,6 @@ message FeralDruid { int32 min_combos_for_bite = 8; bool bite_during_execute = 13; int32 rip_leeway = 19; - bool powerbear = 10; float min_roar_offset = 11; BiteModeType bite_mode_type = 12; bool snek_weave = 14; diff --git a/sim/druid/druid.go b/sim/druid/druid.go index a759b3013b..27de6552de 100644 --- a/sim/druid/druid.go +++ b/sim/druid/druid.go @@ -285,23 +285,22 @@ func (druid *Druid) RegisterBalanceSpells() { } func (druid *Druid) RegisterFeralCatSpells() { + druid.registerBearFormSpell() druid.registerBerserkCD() druid.registerCatCharge() druid.registerCatFormSpell() - - // druid.registerBearFormSpell() - // druid.registerEnrageSpell() + druid.registerEnrageSpell() druid.registerFerociousBiteSpell() druid.registerLacerateSpell() - // druid.registerMangleBearSpell() + druid.registerMangleBearSpell() druid.registerMangleCatSpell() - // druid.registerMaulSpell() + druid.registerMaulSpell() druid.registerRakeSpell() druid.registerRavageSpell() druid.registerRipSpell() druid.registerSavageRoarSpell() druid.registerShredSpell() - // druid.registerSwipeBearSpell() + druid.registerSwipeBearSpell() druid.registerSwipeCatSpell() druid.registerThrashBearSpell() druid.registerTigersFurySpell() @@ -328,10 +327,10 @@ func (druid *Druid) RegisterFeralCatSpells() { func (druid *Druid) Reset(_ *core.Simulation) { druid.eclipseEnergyBar.reset() - // druid.BleedsActive = 0 - // druid.form = druid.StartingForm - // druid.disabledMCDs = []*core.MajorCooldown{} - // druid.RebirthUsed = false + druid.BleedsActive = 0 + druid.form = druid.StartingForm + druid.disabledMCDs = []*core.MajorCooldown{} + druid.RebirthUsed = false // druid.LunarICD.Timer.Reset() // druid.SolarICD.Timer.Reset() } diff --git a/sim/druid/feral/TestFeral.results b/sim/druid/feral/TestFeral.results index f04a1b32a5..450cc2c3b7 100644 --- a/sim/druid/feral/TestFeral.results +++ b/sim/druid/feral/TestFeral.results @@ -39,1220 +39,1220 @@ character_stats_results: { dps_results: { key: "TestFeral-AllItems-AgileShadowspiritDiamond" value: { - dps: 23483.65791 - tps: 16673.39712 + dps: 23836.09648 + tps: 32264.65117 } } dps_results: { key: "TestFeral-AllItems-Althor'sAbacus-50366" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.54565 + tps: 30196.9545 } } dps_results: { key: "TestFeral-AllItems-Anhuur'sHymnal-55889" value: { - dps: 22097.79169 - tps: 15689.4321 + dps: 22633.8051 + tps: 31452.89947 } } dps_results: { key: "TestFeral-AllItems-Anhuur'sHymnal-56407" value: { - dps: 22097.79169 - tps: 15689.4321 + dps: 22633.8051 + tps: 31452.89947 } } dps_results: { key: "TestFeral-AllItems-AustereShadowspiritDiamond" value: { - dps: 22907.15835 - tps: 16264.08243 + dps: 23294.59662 + tps: 31445.49876 } } dps_results: { key: "TestFeral-AllItems-BaubleofTrueBlood-50726" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 hps: 84.91645 } } dps_results: { key: "TestFeral-AllItems-BedrockTalisman-58182" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-BellofEnragingResonance-59326" value: { - dps: 22312.39086 - tps: 15841.79751 + dps: 22709.35918 + tps: 31063.68895 } } dps_results: { key: "TestFeral-AllItems-BellofEnragingResonance-65053" value: { - dps: 22341.51741 - tps: 15862.47736 + dps: 22732.66644 + tps: 31169.82072 } } dps_results: { key: "TestFeral-AllItems-BindingPromise-67037" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-Blood-SoakedAleMug-63843" value: { - dps: 23168.34916 - tps: 16449.5279 + dps: 23590.63502 + tps: 31723.71938 } } dps_results: { key: "TestFeral-AllItems-BloodofIsiset-55995" value: { - dps: 22225.98256 - tps: 15780.44761 + dps: 22638.80369 + tps: 30587.29271 } } dps_results: { key: "TestFeral-AllItems-BloodofIsiset-56414" value: { - dps: 22260.03237 - tps: 15804.62298 + dps: 22672.42627 + tps: 30638.70778 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofConquest-64687" value: { - dps: 23571.4086 - tps: 16735.7001 + dps: 24006.62141 + tps: 32164.87882 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofDominance-64688" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofVictory-64689" value: { - dps: 22448.96758 - tps: 15938.76698 + dps: 22854.44076 + tps: 30754.46656 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofCruelty-64740" value: { - dps: 22306.25705 - tps: 15837.4425 + dps: 22695.51773 + tps: 30961.44584 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofMeditation-64741" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofTenacity-64742" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofConquest-64761" value: { - dps: 23021.43382 - tps: 16345.21801 + dps: 23578.25974 + tps: 31746.50608 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofDominance-64762" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofVictory-64763" value: { - dps: 22398.46179 - tps: 15902.90787 + dps: 22812.40024 + tps: 30737.38816 } } dps_results: { key: "TestFeral-AllItems-BottledLightning-66879" value: { - dps: 22094.93928 - tps: 15687.40689 + dps: 22517.32188 + tps: 30422.93055 } } dps_results: { key: "TestFeral-AllItems-BracingShadowspiritDiamond" value: { - dps: 22907.15835 - tps: 15938.80078 + dps: 23295.06086 + tps: 30819.00493 } } dps_results: { key: "TestFeral-AllItems-BurningShadowspiritDiamond" value: { - dps: 23291.88489 - tps: 16537.23827 + dps: 23677.20843 + tps: 31950.46361 } } dps_results: { key: "TestFeral-AllItems-ChaoticShadowspiritDiamond" value: { - dps: 23346.69595 - tps: 16576.15412 + dps: 23700.50041 + tps: 32090.07524 } } dps_results: { key: "TestFeral-AllItems-CoreofRipeness-58184" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.11869 } } dps_results: { key: "TestFeral-AllItems-CorpseTongueCoin-50349" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-CrushingWeight-59506" value: { - dps: 22653.3013 - tps: 16083.84393 + dps: 23200.44801 + tps: 30743.96693 } } dps_results: { key: "TestFeral-AllItems-CrushingWeight-65118" value: { - dps: 22805.88975 - tps: 16192.18172 + dps: 23275.25117 + tps: 30542.58485 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Earthquake-62048" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Hurricane-62049" value: { - dps: 22521.66917 - tps: 15990.38511 + dps: 22976.53637 + tps: 31655.96058 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Hurricane-62051" value: { - dps: 23184.64394 - tps: 16461.09719 + dps: 23642.98601 + tps: 33095.20816 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Tsunami-62050" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.11869 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Volcano-62047" value: { - dps: 22297.17761 - tps: 15830.99611 + dps: 22702.29816 + tps: 30863.38895 } } dps_results: { key: "TestFeral-AllItems-Deathbringer'sWill-50363" value: { - dps: 22655.05048 - tps: 16085.08584 + dps: 23090.06785 + tps: 31060.35464 } } dps_results: { key: "TestFeral-AllItems-DestructiveShadowspiritDiamond" value: { - dps: 22958.91605 - tps: 16300.8304 + dps: 23316.13471 + tps: 31582.69002 } } dps_results: { key: "TestFeral-AllItems-DislodgedForeignObject-50348" value: { - dps: 22045.39559 - tps: 15652.23087 + dps: 22466.68315 + tps: 29302.11459 } } dps_results: { key: "TestFeral-AllItems-EffulgentShadowspiritDiamond" value: { - dps: 22907.15835 - tps: 16264.08243 + dps: 23294.59662 + tps: 31445.49876 } } dps_results: { key: "TestFeral-AllItems-ElectrosparkHeartstarter-67118" value: { - dps: 21965.96582 - tps: 15626.09095 + dps: 22382.04946 + tps: 30224.90452 } } dps_results: { key: "TestFeral-AllItems-EmberShadowspiritDiamond" value: { - dps: 22907.15835 - tps: 16264.08243 + dps: 23295.06086 + tps: 31447.72634 } } dps_results: { key: "TestFeral-AllItems-EnigmaticShadowspiritDiamond" value: { - dps: 22958.91605 - tps: 16300.8304 + dps: 23316.13471 + tps: 31582.69002 } } dps_results: { key: "TestFeral-AllItems-EssenceoftheCyclone-59473" value: { - dps: 23592.11862 - tps: 16750.40422 + dps: 23921.01759 + tps: 33441.53397 } } dps_results: { key: "TestFeral-AllItems-EssenceoftheCyclone-65140" value: { - dps: 23667.24945 - tps: 16803.74711 + dps: 24059.76189 + tps: 33059.29517 } } dps_results: { key: "TestFeral-AllItems-EternalShadowspiritDiamond" value: { - dps: 22907.15835 - tps: 16264.08243 + dps: 23294.59662 + tps: 31445.49876 } } dps_results: { key: "TestFeral-AllItems-FallofMortality-59500" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.11869 } } dps_results: { key: "TestFeral-AllItems-FallofMortality-65124" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.06977 } } dps_results: { key: "TestFeral-AllItems-Figurine-DemonPanther-52199" value: { - dps: 23615.97721 - tps: 16767.34382 + dps: 24201.10283 + tps: 33279.97672 } } dps_results: { key: "TestFeral-AllItems-Figurine-DreamOwl-52354" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.16062 } } dps_results: { key: "TestFeral-AllItems-Figurine-EarthenGuardian-52352" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-Figurine-JeweledSerpent-52353" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.16062 } } dps_results: { key: "TestFeral-AllItems-Figurine-KingofBoars-52351" value: { - dps: 22719.12948 - tps: 16130.58193 + dps: 23121.27646 + tps: 31171.92342 } } dps_results: { key: "TestFeral-AllItems-FleetShadowspiritDiamond" value: { - dps: 22964.48479 - tps: 16304.7842 + dps: 23351.19658 + tps: 31531.76601 } } dps_results: { key: "TestFeral-AllItems-FluidDeath-58181" value: { - dps: 23456.76032 - tps: 16654.29983 + dps: 23972.7398 + tps: 33445.12566 } } dps_results: { key: "TestFeral-AllItems-ForlornShadowspiritDiamond" value: { - dps: 22907.15835 - tps: 16264.08243 + dps: 23295.06086 + tps: 31447.76055 } } dps_results: { key: "TestFeral-AllItems-FuryofAngerforge-59461" value: { - dps: 22888.1947 - tps: 16250.61824 + dps: 23282.69525 + tps: 31783.09683 } } dps_results: { key: "TestFeral-AllItems-GaleofShadows-56138" value: { - dps: 22088.87009 - tps: 15683.09777 + dps: 22622.12655 + tps: 30297.70134 } } dps_results: { key: "TestFeral-AllItems-GaleofShadows-56462" value: { - dps: 22065.60476 - tps: 15666.57938 + dps: 22711.31997 + tps: 30855.36548 } } dps_results: { key: "TestFeral-AllItems-GearDetector-61462" value: { - dps: 22616.39428 - tps: 16057.63994 + dps: 23069.66116 + tps: 31349.51011 } } dps_results: { key: "TestFeral-AllItems-GlowingTwilightScale-54589" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.54565 + tps: 30196.94059 } } dps_results: { key: "TestFeral-AllItems-GraceoftheHerald-55266" value: { - dps: 22794.64712 - tps: 16184.19945 + dps: 23174.14457 + tps: 31341.2719 } } dps_results: { key: "TestFeral-AllItems-GraceoftheHerald-56295" value: { - dps: 23181.05839 - tps: 16458.55146 + dps: 23609.23418 + tps: 31756.99988 } } dps_results: { key: "TestFeral-AllItems-HarmlightToken-63839" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22420.56042 + tps: 30409.6165 } } dps_results: { key: "TestFeral-AllItems-Harrison'sInsigniaofPanache-65803" value: { - dps: 22487.28504 - tps: 15965.97238 + dps: 22907.81172 + tps: 30893.19425 } } dps_results: { key: "TestFeral-AllItems-HeartofIgnacious-59514" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-HeartofIgnacious-65110" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-HeartofRage-59224" value: { - dps: 22727.52949 - tps: 16136.54594 + dps: 23326.27527 + tps: 33331.19849 } } dps_results: { key: "TestFeral-AllItems-HeartofRage-65072" value: { - dps: 22828.97106 - tps: 16208.56945 + dps: 23370.78492 + tps: 32172.62778 } } dps_results: { key: "TestFeral-AllItems-HeartofSolace-55868" value: { - dps: 22088.87009 - tps: 15683.09777 + dps: 22622.12655 + tps: 30297.70134 } } dps_results: { key: "TestFeral-AllItems-HeartofSolace-56393" value: { - dps: 22547.409 - tps: 16008.66039 + dps: 23181.89269 + tps: 31436.8257 } } dps_results: { key: "TestFeral-AllItems-HeartofThunder-55845" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-HeartofThunder-56370" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-HeartoftheVile-66969" value: { - dps: 22918.01861 - tps: 16271.79321 + dps: 23294.79151 + tps: 31406.41737 } } dps_results: { key: "TestFeral-AllItems-Heartpierce-50641" value: { - dps: 23774.2341 - tps: 16879.70621 + dps: 24335.45834 + tps: 32599.5445 } } dps_results: { key: "TestFeral-AllItems-ImpassiveShadowspiritDiamond" value: { - dps: 22958.91605 - tps: 16300.8304 + dps: 23316.13471 + tps: 31582.69002 } } dps_results: { key: "TestFeral-AllItems-ImpatienceofYouth-62464" value: { - dps: 22815.15983 - tps: 16198.76348 + dps: 23215.50376 + tps: 31296.56193 } } dps_results: { key: "TestFeral-AllItems-ImpatienceofYouth-62469" value: { - dps: 22815.15983 - tps: 16198.76348 + dps: 23215.50376 + tps: 31296.56193 } } dps_results: { key: "TestFeral-AllItems-ImpetuousQuery-55881" value: { - dps: 22225.98256 - tps: 15780.44761 + dps: 22638.80369 + tps: 30587.29271 } } dps_results: { key: "TestFeral-AllItems-ImpetuousQuery-56406" value: { - dps: 22260.03237 - tps: 15804.62298 + dps: 22672.42627 + tps: 30638.70778 } } dps_results: { key: "TestFeral-AllItems-InsigniaofDiplomacy-61433" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-InsigniaoftheEarthenLord-61429" value: { - dps: 22166.13743 - tps: 15737.95758 + dps: 22579.70946 + tps: 30496.92685 } } dps_results: { key: "TestFeral-AllItems-JarofAncientRemedies-59354" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.80846 } } dps_results: { key: "TestFeral-AllItems-JarofAncientRemedies-65029" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.80846 } } dps_results: { key: "TestFeral-AllItems-JujuofNimbleness-63840" value: { - dps: 23168.34916 - tps: 16449.5279 + dps: 23590.63502 + tps: 31723.71938 } } dps_results: { key: "TestFeral-AllItems-KeytotheEndlessChamber-55795" value: { - dps: 23068.65981 - tps: 16378.74846 + dps: 23598.57041 + tps: 32636.43624 } } dps_results: { key: "TestFeral-AllItems-KeytotheEndlessChamber-56328" value: { - dps: 23523.10711 - tps: 16701.40605 + dps: 24018.14088 + tps: 33136.29661 } } dps_results: { key: "TestFeral-AllItems-KvaldirBattleStandard-59685" value: { - dps: 22247.81538 - tps: 15795.94892 + dps: 22635.34966 + tps: 29955.24828 } } dps_results: { key: "TestFeral-AllItems-KvaldirBattleStandard-59689" value: { - dps: 22247.81538 - tps: 15795.94892 + dps: 22635.34966 + tps: 29955.24828 } } dps_results: { key: "TestFeral-AllItems-LadyLa-La'sSingingShell-67152" value: { - dps: 22053.64103 - tps: 15658.08513 + dps: 22433.07924 + tps: 30643.97888 } } dps_results: { key: "TestFeral-AllItems-LastWord-50708" value: { - dps: 23639.10269 - tps: 16783.76291 + dps: 23992.56227 + tps: 32475.84423 } } dps_results: { key: "TestFeral-AllItems-LeadenDespair-55816" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-LeadenDespair-56347" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-LeftEyeofRajh-56102" value: { - dps: 23254.82748 - tps: 16510.92751 + dps: 23761.53831 + tps: 32938.4452 } } dps_results: { key: "TestFeral-AllItems-LeftEyeofRajh-56427" value: { - dps: 23399.13555 - tps: 16613.38624 + dps: 24027.13686 + tps: 33191.41787 } } dps_results: { key: "TestFeral-AllItems-LicensetoSlay-58180" value: { - dps: 22599.3956 - tps: 16045.57087 + dps: 23147.90597 + tps: 32152.77072 } } dps_results: { key: "TestFeral-AllItems-MagnetiteMirror-55814" value: { - dps: 22416.30395 - tps: 15915.5758 + dps: 22956.67773 + tps: 31843.36935 } } dps_results: { key: "TestFeral-AllItems-MagnetiteMirror-56345" value: { - dps: 22609.07718 - tps: 16052.4448 + dps: 23183.87315 + tps: 32358.23741 } } dps_results: { key: "TestFeral-AllItems-MandalaofStirringPatterns-62467" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-MandalaofStirringPatterns-62472" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-MarkofKhardros-56132" value: { - dps: 22660.81639 - tps: 16089.17963 + dps: 23067.54802 + tps: 31086.96012 } } dps_results: { key: "TestFeral-AllItems-MarkofKhardros-56458" value: { - dps: 22752.63977 - tps: 16154.37424 + dps: 23158.11721 + tps: 31204.84503 } } dps_results: { key: "TestFeral-AllItems-MightoftheOcean-55251" value: { - dps: 22279.56517 - tps: 15818.49127 + dps: 22814.1178 + tps: 32315.59245 } } dps_results: { key: "TestFeral-AllItems-MightoftheOcean-56285" value: { - dps: 22583.36055 - tps: 16034.18599 + dps: 23126.45523 + tps: 32002.95258 } } dps_results: { key: "TestFeral-AllItems-MirrorofBrokenImages-62466" value: { - dps: 22297.17761 - tps: 15830.99611 + dps: 22709.10545 + tps: 30694.79694 } } dps_results: { key: "TestFeral-AllItems-MirrorofBrokenImages-62471" value: { - dps: 22297.17761 - tps: 15830.99611 + dps: 22709.10545 + tps: 30694.79694 } } dps_results: { key: "TestFeral-AllItems-MoonwellChalice-70142" value: { - dps: 22385.71509 - tps: 15893.85771 + dps: 22791.04183 + tps: 30803.45253 } } dps_results: { key: "TestFeral-AllItems-Oremantle'sFavor-61448" value: { - dps: 22450.01794 - tps: 15939.51274 + dps: 22803.73948 + tps: 30963.27376 } } dps_results: { key: "TestFeral-AllItems-PetrifiedTwilightScale-54591" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-PhylacteryoftheNamelessLich-50365" value: { - dps: 22187.34081 - tps: 15753.01197 + dps: 22578.23665 + tps: 30460.50884 } } dps_results: { key: "TestFeral-AllItems-PorcelainCrab-55237" value: { - dps: 22176.44489 - tps: 15745.27587 + dps: 22587.07952 + tps: 30473.62905 } } dps_results: { key: "TestFeral-AllItems-PorcelainCrab-56280" value: { - dps: 22323.71383 - tps: 15849.83682 + dps: 22743.5596 + tps: 30704.75652 } } dps_results: { key: "TestFeral-AllItems-PowerfulShadowspiritDiamond" value: { - dps: 22907.15835 - tps: 16264.08243 + dps: 23294.59662 + tps: 31445.49876 } } dps_results: { key: "TestFeral-AllItems-Prestor'sTalismanofMachination-59441" value: { - dps: 23398.16035 - tps: 16612.69385 + dps: 23784.49295 + tps: 31443.98702 } } dps_results: { key: "TestFeral-AllItems-Prestor'sTalismanofMachination-65026" value: { - dps: 23516.6886 - tps: 16696.84891 + dps: 24034.51214 + tps: 32401.96205 } } dps_results: { key: "TestFeral-AllItems-Rainsong-55854" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-Rainsong-56377" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-ReverberatingShadowspiritDiamond" value: { - dps: 23365.45898 - tps: 16589.47588 + dps: 23750.89823 + tps: 32047.35291 } } dps_results: { key: "TestFeral-AllItems-RevitalizingShadowspiritDiamond" value: { - dps: 23291.88489 - tps: 16537.23827 + dps: 23676.70241 + tps: 31947.99291 } } dps_results: { key: "TestFeral-AllItems-RightEyeofRajh-56100" value: { - dps: 22516.00156 - tps: 15986.36111 + dps: 23051.598 + tps: 32010.37484 } } dps_results: { key: "TestFeral-AllItems-RightEyeofRajh-56431" value: { - dps: 22572.33434 - tps: 16026.35738 + dps: 23115.14245 + tps: 32105.54375 } } dps_results: { key: "TestFeral-AllItems-Schnottz'sMedallionofCommand-65805" value: { - dps: 23011.04748 - tps: 16337.84371 + dps: 23431.26578 + tps: 31544.89424 } } dps_results: { key: "TestFeral-AllItems-SeaStar-55256" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-SeaStar-56290" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-Shrine-CleansingPurifier-63838" value: { - dps: 22344.15804 - tps: 15864.35221 + dps: 22965.2985 + tps: 31913.88954 } } dps_results: { key: "TestFeral-AllItems-Sindragosa'sFlawlessFang-50364" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-Skardyn'sGrace-56115" value: { - dps: 23197.61603 - tps: 16470.30738 + dps: 23587.46793 + tps: 31781.04844 } } dps_results: { key: "TestFeral-AllItems-Skardyn'sGrace-56440" value: { - dps: 23363.30326 - tps: 16587.94531 + dps: 23738.8409 + tps: 31980.59906 } } dps_results: { key: "TestFeral-AllItems-Sorrowsong-55879" value: { - dps: 22225.98256 - tps: 15780.44761 + dps: 22638.80369 + tps: 30587.29271 } } dps_results: { key: "TestFeral-AllItems-Sorrowsong-56400" value: { - dps: 22260.03237 - tps: 15804.62298 + dps: 22672.42627 + tps: 30638.70778 } } dps_results: { key: "TestFeral-AllItems-Soul'sAnguish-66994" value: { - dps: 22358.4655 - tps: 15874.5105 + dps: 22898.28043 + tps: 31748.19114 } } dps_results: { key: "TestFeral-AllItems-SoulCasket-58183" value: { - dps: 22297.17761 - tps: 15830.99611 + dps: 22709.10545 + tps: 30694.79694 } } dps_results: { key: "TestFeral-AllItems-Stonemother'sKiss-61411" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22403.88597 + tps: 30218.4055 } } dps_results: { key: "TestFeral-AllItems-Stormrider'sBattlegarb" value: { - dps: 22550.5576 - tps: 16010.89589 + dps: 22692.37354 + tps: 29234.94239 } } dps_results: { key: "TestFeral-AllItems-StumpofTime-62465" value: { - dps: 22097.79169 - tps: 15689.4321 + dps: 22640.22836 + tps: 31451.2321 } } dps_results: { key: "TestFeral-AllItems-StumpofTime-62470" value: { - dps: 22097.79169 - tps: 15689.4321 + dps: 22640.22836 + tps: 31451.2321 } } dps_results: { key: "TestFeral-AllItems-SymbioticWorm-59332" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-SymbioticWorm-65048" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-TalismanofSinisterOrder-65804" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22412.07463 + tps: 30284.2748 } } dps_results: { key: "TestFeral-AllItems-Tank-CommanderInsignia-63841" value: { - dps: 22484.87768 - tps: 15964.26315 + dps: 22946.39012 + tps: 31580.76547 } } dps_results: { key: "TestFeral-AllItems-TearofBlood-55819" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.24215 } } dps_results: { key: "TestFeral-AllItems-TearofBlood-56351" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22389.94613 + tps: 30247.16062 } } dps_results: { key: "TestFeral-AllItems-TendrilsofBurrowingDark-55810" value: { - dps: 22187.8055 - tps: 15753.3419 + dps: 22601.10565 + tps: 30529.64552 } } dps_results: { key: "TestFeral-AllItems-TendrilsofBurrowingDark-56339" value: { - dps: 22260.03237 - tps: 15804.62298 + dps: 22672.42627 + tps: 30638.70778 } } dps_results: { key: "TestFeral-AllItems-Theralion'sMirror-59519" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22422.24521 + tps: 30291.75012 } } dps_results: { key: "TestFeral-AllItems-Theralion'sMirror-65105" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22444.54298 + tps: 30347.43707 } } dps_results: { key: "TestFeral-AllItems-Throngus'sFinger-56121" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-Throngus'sFinger-56449" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-Tia'sGrace-55874" value: { - dps: 23303.18048 - tps: 16545.25814 + dps: 23688.50131 + tps: 32010.58936 } } dps_results: { key: "TestFeral-AllItems-TinyAbominationinaJar-50706" value: { - dps: 22110.05984 - tps: 15698.14248 + dps: 22699.21037 + tps: 31462.49622 } } dps_results: { key: "TestFeral-AllItems-Tyrande'sFavoriteDoll-64645" value: { - dps: 21976.45419 - tps: 15603.28247 + dps: 22364.95208 + tps: 30416.81776 } } dps_results: { key: "TestFeral-AllItems-UnquenchableFlame-67101" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-UnsolvableRiddle-62468" value: { - dps: 23652.00328 - tps: 16792.92233 + dps: 23987.16182 + tps: 32449.09403 } } dps_results: { key: "TestFeral-AllItems-UnsolvableRiddle-68709" value: { - dps: 23652.00328 - tps: 16792.92233 + dps: 23987.16182 + tps: 32449.09403 } } dps_results: { key: "TestFeral-AllItems-Val'anyr,HammerofAncientKings-46017" value: { - dps: 19737.53167 - tps: 14013.64748 + dps: 20351.75397 + tps: 28723.56812 } } dps_results: { key: "TestFeral-AllItems-VialofStolenMemories-59515" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-VialofStolenMemories-65109" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofConquest-61033" value: { - dps: 23301.51275 - tps: 16544.07405 + dps: 23640.81892 + tps: 31919.46353 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofDominance-61035" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofVictory-61034" value: { - dps: 22475.97755 - tps: 15957.94406 + dps: 22880.85738 + tps: 30785.77105 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofAccuracy-61027" value: { - dps: 22097.79169 - tps: 15689.4321 + dps: 22641.13881 + tps: 31456.31101 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofAlacrity-61028" value: { - dps: 22126.43746 - tps: 15709.7706 + dps: 22715.71314 + tps: 31397.18946 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofCruelty-61026" value: { - dps: 22326.92118 - tps: 15852.11404 + dps: 22722.18581 + tps: 31073.86573 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofProficiency-61030" value: { - dps: 22170.03672 - tps: 15740.72607 + dps: 22767.99759 + tps: 31872.83713 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofProwess-61029" value: { - dps: 22316.78205 - tps: 15844.91526 + dps: 22728.4639 + tps: 30724.39955 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofTenacity-61032" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofConquest-61047" value: { - dps: 23140.98128 - tps: 16430.09671 + dps: 23579.80169 + tps: 31763.47706 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofDominance-61045" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22382.04946 + tps: 30194.6686 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofVictory-61046" value: { - dps: 22442.74182 - tps: 15934.34669 + dps: 22860.00395 + tps: 30766.87512 } } dps_results: { key: "TestFeral-AllItems-WitchingHourglass-55787" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22395.39905 + tps: 30474.59955 } } dps_results: { key: "TestFeral-AllItems-WitchingHourglass-56320" value: { - dps: 21965.96582 - tps: 15595.83573 + dps: 22426.90522 + tps: 30340.9289 } } dps_results: { key: "TestFeral-AllItems-World-QuellerFocus-63842" value: { - dps: 22191.93274 - tps: 15756.27225 + dps: 22605.18112 + tps: 30535.87765 } } dps_results: { key: "TestFeral-AllItems-Za'brox'sLuckyTooth-63742" value: { - dps: 22273.85977 - tps: 15814.44044 + dps: 22678.96536 + tps: 30570.57278 } } dps_results: { key: "TestFeral-AllItems-Za'brox'sLuckyTooth-63745" value: { - dps: 22273.85977 - tps: 15814.44044 + dps: 22678.96536 + tps: 30570.57278 } } dps_results: { key: "TestFeral-Average-Default" value: { - dps: 23468.3188 - tps: 16662.50635 + dps: 24013.94844 + tps: 32864.40391 } } dps_results: { @@ -1342,85 +1342,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 27983.32621 - tps: 19897.62756 + dps: 32329.02778 + tps: 50221.40229 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 28309.37772 - tps: 20099.65818 + dps: 28287.42466 + tps: 36431.74204 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 35160.64342 - tps: 24964.05683 + dps: 35321.22465 + tps: 33231.41672 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 27813.64063 - tps: 19777.44994 + dps: 32219.02322 + tps: 49646.20477 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 28073.17441 - tps: 19933.29999 + dps: 28137.47935 + tps: 35852.31108 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 34797.99058 - tps: 24713.30411 + dps: 34787.51322 + tps: 31660.57849 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 18323.75578 - tps: 13040.75349 + dps: 21865.32073 + tps: 34500.18032 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 18565.89872 - tps: 13184.33084 + dps: 18676.99409 + tps: 24826.20691 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 20419.1596 - tps: 14505.08198 + dps: 20402.37659 + tps: 22492.012 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 18376.30491 - tps: 13077.76423 + dps: 21709.724 + tps: 34065.06187 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 18585.9676 - tps: 13198.50496 + dps: 18573.33089 + tps: 24783.5294 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 20216.53396 - tps: 14361.21778 + dps: 20253.40894 + tps: 21906.18106 } } dps_results: { @@ -1510,85 +1510,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 27168.25121 - tps: 19318.77473 + dps: 31842.57093 + tps: 49679.53443 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 27583.18125 - tps: 19584.05869 + dps: 27465.39656 + tps: 34905.87154 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 34289.35719 - tps: 24345.44361 + dps: 34269.62854 + tps: 32463.16376 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 27263.52272 - tps: 19386.86622 + dps: 31232.87767 + tps: 46590.54756 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 27443.88964 - tps: 19486.50781 + dps: 27391.90773 + tps: 34883.4826 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 34096.74027 - tps: 24215.41639 + dps: 34012.54254 + tps: 31958.21005 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 17885.41718 - tps: 12729.4583 + dps: 21512.45697 + tps: 34364.60413 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 18060.04014 - tps: 12825.09646 + dps: 18088.33301 + tps: 23777.71445 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 19793.71466 - tps: 14061.01608 + dps: 19715.13206 + tps: 20435.43554 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 17912.58773 - tps: 12748.52503 + dps: 21653.84752 + tps: 35388.07557 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 18007.51784 - tps: 12787.88041 + dps: 18051.78244 + tps: 24218.22267 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 19647.35861 - tps: 13957.10328 + dps: 19688.09655 + tps: 20881.38792 } } dps_results: { @@ -1678,85 +1678,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 23012.50781 - tps: 16368.27171 + dps: 28208.47081 + tps: 47534.64171 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 23483.65791 - tps: 16673.39712 + dps: 23836.09648 + tps: 32264.65117 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 29192.37858 - tps: 20726.58879 + dps: 29358.16239 + tps: 28262.47046 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 22992.53692 - tps: 16354.39152 + dps: 27959.90871 + tps: 45647.91842 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 23246.82965 - tps: 16506.52043 + dps: 23691.95098 + tps: 32691.98011 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 28472.68529 - tps: 20221.96342 + dps: 28767.52804 + tps: 27956.23794 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 14905.05259 - tps: 10613.39945 + dps: 18958.53153 + tps: 32956.41871 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 15017.79649 - tps: 10665.02868 + dps: 15358.40471 + tps: 22555.60963 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 16383.55732 - tps: 11639.80437 + dps: 16770.14551 + tps: 20314.14473 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 14804.22197 - tps: 10541.66013 + dps: 18802.5242 + tps: 33208.68242 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 14923.55834 - tps: 10598.19438 + dps: 15403.26727 + tps: 22904.74989 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 16213.42452 - tps: 11519.01008 + dps: 16575.47739 + tps: 20278.6357 } } dps_results: { @@ -1846,91 +1846,91 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 22461.4378 - tps: 15977.012 + dps: 27644.52155 + tps: 46273.83935 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 22742.75049 - tps: 16147.35285 + dps: 23303.73007 + tps: 31779.72841 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 28577.42123 - tps: 20289.96907 + dps: 28781.5136 + tps: 27109.4962 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 22464.11997 - tps: 15979.21549 + dps: 27370.72136 + tps: 45541.4629 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 22537.67422 - tps: 16003.02007 + dps: 23108.90016 + tps: 31409.01873 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 27778.76476 - tps: 19729.27985 + dps: 28221.61857 + tps: 27113.15161 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 14413.8859 - tps: 10264.59631 + dps: 18364.22114 + tps: 31939.68303 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 14551.16378 - tps: 10333.86903 + dps: 14999.30878 + tps: 22055.66238 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 15784.57296 - tps: 11214.52547 + dps: 16062.46112 + tps: 18689.2035 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 14430.65668 - tps: 10276.65314 + dps: 18013.14911 + tps: 30461.78281 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 14505.08144 - tps: 10300.85142 + dps: 14990.11561 + tps: 22044.28085 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 15758.14915 - tps: 11195.76456 + dps: 16092.40186 + tps: 20138.15674 } } dps_results: { key: "TestFeral-SwitchInFrontOfTarget-Default" value: { - dps: 20011.92368 - tps: 14208.46581 + dps: 20373.21234 + tps: 27979.44299 } } diff --git a/sim/druid/feral/apl_values.go b/sim/druid/feral/apl_values.go index e50fe9b4bb..20bf2869cd 100644 --- a/sim/druid/feral/apl_values.go +++ b/sim/druid/feral/apl_values.go @@ -114,12 +114,12 @@ func (cat *FeralDruid) newActionCatOptimalRotationAction(_ *core.APLRotation, co BiteTime: config.BiteTime, BiteDuringExecute: config.BiteDuringExecute, MangleSpam: false, - Powerbear: false, MinRoarOffset: config.MinRoarOffset, RipLeeway: config.RipLeeway, ManualParams: config.ManualParams, AllowAoeBerserk: config.AllowAoeBerserk, MeleeWeave: config.MeleeWeave, + BearWeave: config.BearWeave, } cat.setupRotation(rotationOptions) diff --git a/sim/druid/feral/rotation.go b/sim/druid/feral/rotation.go index 5fa5006685..14331350c2 100644 --- a/sim/druid/feral/rotation.go +++ b/sim/druid/feral/rotation.go @@ -44,10 +44,6 @@ func (cat *FeralDruid) NextRotationAction(sim *core.Simulation, kickAt time.Dura cat.WaitUntil(sim, kickAt) } -func (cat *FeralDruid) checkReplaceMaul(sim *core.Simulation, mhSwingSpell *core.Spell) *core.Spell { - return mhSwingSpell -} - func (cat *FeralDruid) shiftBearCat(sim *core.Simulation, powershift bool) bool { cat.waitingForTick = false @@ -220,16 +216,6 @@ func (cat *FeralDruid) TryTigersFury(sim *core.Simulation) { tfEnergyThresh := cat.calcTfEnergyThresh(leewayTime) tfNow := (cat.CurrentEnergy() < tfEnergyThresh) && !cat.BerserkAura.IsActive() - // If Lacerateweaving, then delay Tiger's Fury if Lacerate is due to - // expire within 3 GCDs (two cat specials + shapeshift), since we - // won't be able to spend down our Energy fast enough to avoid - // Energy capping otherwise. - lacerateDot := cat.Lacerate.CurDot() - if cat.Rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate { - nextPossibleLac := sim.CurrentTime + leewayTime + cat.ReactionTime + time.Duration(3.5*float64(time.Second)) - tfNow = tfNow && (!lacerateDot.IsActive() || (lacerateDot.ExpiresAt() > nextPossibleLac) || (lacerateDot.RemainingDuration(sim) > sim.GetRemainingDuration())) - } - if tfNow { cat.TigersFury.Cast(sim, nil) // Kick gcd loop, also need to account for any gcd 'left' @@ -248,16 +234,6 @@ func (cat *FeralDruid) TryBerserk(sim *core.Simulation) { isClearcast := cat.ClearcastingAura.IsActive() berserkNow := cat.Rotation.UseBerserk && cat.Berserk.IsReady(sim) && !waitForTf && !isClearcast - // Additionally, for Lacerateweave rotation, postpone the final Berserk - // of the fight to as late as possible so as to minimize the impact of - // dropping Lacerate stacks during the Berserk window. Rationale for the - // 3 second additional leeway given beyond just berserk_dur in the below - // expression is to be able to fit in a final TF and dump the Energy - // from it in cases where Berserk and TF CDs are desynced due to drift. - if berserkNow && cat.Rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate && cat.berserkUsed && simTimeRemain < cat.Berserk.CD.Duration { - berserkNow = simTimeRemain < cat.BerserkAura.Duration+(3*time.Second) - } - if berserkNow { cat.Berserk.Cast(sim, nil) cat.UpdateMajorCooldowns() @@ -387,11 +363,78 @@ func (cat *FeralDruid) canMeleeWeave(sim *core.Simulation, regenRate float64, cu return weaveEnd + timeToDump < sim.Duration } +func (cat *FeralDruid) canBearWeave(sim *core.Simulation, furorCap float64, regenRate float64, currentEnergy float64, upcomingTimers *PoolingActions, shiftCost float64) bool { + if !cat.Rotation.BearWeave || cat.ClearcastingAura.IsActive() || cat.BerserkAura.IsActive() || cat.StampedeCatAura.IsActive() { + return false + } + + // Calculate effective Energy cap for out-of-form pooling + targetWeaveDuration := core.GCDDefault * 2 + cat.ReactionTime * 2 + + if cat.Talents.Furor == 3 { + targetWeaveDuration += core.GCDDefault + } + + weaveEnergy := furorCap - targetWeaveDuration.Seconds() * regenRate + + if (currentEnergy > weaveEnergy) { + return false + } + + // Prioritize all timers over weaving + earliestWeaveEnd := sim.CurrentTime + core.GCDDefault * 3 + cat.ReactionTime * 2 + isPooling, nextRefresh := upcomingTimers.nextRefreshTime() + + if isPooling && (nextRefresh < earliestWeaveEnd) { + return false + } + + // Mana check + if cat.CurrentMana() < shiftCost * 2 { + cat.Metrics.MarkOOM(sim) + return false + } + + // Also add a condition to make sure we can spend down our Energy post-weave before + // the encounter ends or TF is ready. + energyToDump := currentEnergy + (earliestWeaveEnd - sim.CurrentTime).Seconds() * regenRate + timeToDump := earliestWeaveEnd + core.DurationFromSeconds(math.Floor(energyToDump / cat.Shred.DefaultCast.Cost)) + return (timeToDump < sim.Duration) && !cat.tfExpectedBefore(sim, timeToDump) +} + +func (cat *FeralDruid) terminateBearWeave(sim *core.Simulation, isClearcast bool, currentEnergy float64, furorCap float64, regenRate float64, upcomingTimers *PoolingActions) bool { + // Shift back early if a bear auto resulted in an Omen proc + if isClearcast { + return true + } + + // Check Energy pooling leeway + nextGCDLength := core.TernaryDuration(cat.Thrash.CanCast(sim, cat.CurrentTarget) || cat.MangleBear.CanCast(sim, cat.CurrentTarget), core.GCDDefault, core.GCDMin) + smallestWeaveExtension := nextGCDLength + cat.ReactionTime + finalEnergy := currentEnergy + smallestWeaveExtension.Seconds() * regenRate + + if finalEnergy > furorCap { + return true + } + + // Check timer leeway + earliestWeaveEnd := sim.CurrentTime + smallestWeaveExtension + isPooling, nextRefresh := upcomingTimers.nextRefreshTime() + + if isPooling && (nextRefresh < earliestWeaveEnd) { + return true + } + + // Also add a condition to prevent extending a weave if we don't have enough time + // to spend the pooled Energy thus far. + timeToDump := earliestWeaveEnd + core.DurationFromSeconds(math.Floor(finalEnergy / cat.Shred.DefaultCast.Cost)) + return (timeToDump >= sim.Duration) || cat.tfExpectedBefore(sim, timeToDump) +} + func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { // Store state variables for re-use rotation := &cat.Rotation curEnergy := cat.CurrentEnergy() - curRage := cat.CurrentRage() curCp := cat.ComboPoints() isClearcast := cat.ClearcastingAura.IsActive() simTimeRemain := sim.GetRemainingDuration() @@ -496,10 +539,7 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { } } - // Disable Energy pooling for Rake in weaving rotations, since these - // rotations prioritize weave cpm over Rake uptime. - poolForRake := (rotation.BearweaveType == proto.FeralDruid_Rotation_None) - + // Roar calcs roarNow := curCp >= 1 && (!cat.SavageRoarAura.IsActive() || cat.clipRoar(sim, isExecutePhase)) // Pooling calcs @@ -514,7 +554,7 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { refreshCost := core.Ternary(cat.berserkExpectedAt(sim, ripRefreshTime), baseCost*0.5, baseCost) pendingPool.addAction(ripRefreshTime, refreshCost) } - if poolForRake && rakeRefreshPending && (rakeDot.RemainingDuration(sim) > rakeDot.TickLength) { + if rakeRefreshPending && (rakeDot.RemainingDuration(sim) > rakeDot.TickLength) { rakeRefreshTime := rakeDot.ExpiresAt() - rakeDot.TickLength rakeCost := core.Ternary(cat.berserkExpectedAt(sim, rakeRefreshTime), cat.Rake.DefaultCast.Cost*0.5, cat.Rake.DefaultCast.Cost) pendingPool.addAction(rakeRefreshTime, rakeCost) @@ -540,125 +580,34 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { // Check melee-weaving conditions meleeWeaveNow := cat.canMeleeWeave(sim, regenRate, curEnergy, isClearcast, pendingPool) - // Allow for bearweaving if the next pending action is >= 4.5s away - furorCap := min(100.0*float64(cat.Talents.Furor)/3.0, 85) - weaveEnergy := furorCap - 30 - 20*latencySecs - - // With 3/3 Furor, force 2-GCD bearweaves whenever possible - if cat.Talents.Furor == 3 { - weaveEnergy -= 15.0 - - // Force a 3-GCD weave when stacking Lacerates for the first time - if rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate && !lacerateDot.IsActive() { - weaveEnergy -= 15.0 - } - } - - weaveEnd := time.Duration(float64(sim.CurrentTime) + (4.5+2*latencySecs)*float64(time.Second)) - bearweaveNow := rotation.BearweaveType != proto.FeralDruid_Rotation_None && curEnergy <= weaveEnergy && !isClearcast && (ripRefreshPending || ripDot.ExpiresAt() >= weaveEnd) && !cat.BerserkAura.IsActive() - - if bearweaveNow && rotation.BearweaveType != proto.FeralDruid_Rotation_Lacerate { - bearweaveNow = !cat.tfExpectedBefore(sim, weaveEnd) - } - - // Also add an end of fight condition to make sure we can spend down our - // Energy post-bearweave before the encounter ends. Time to spend is - // given by weave_end plus 1 second per 42 Energy that we have at - // weave_end. - if bearweaveNow { - energyToDump := curEnergy + ((weaveEnd - sim.CurrentTime).Seconds() * 10) - bearweaveNow = weaveEnd+time.Duration(math.Floor(energyToDump/42)*float64(time.Second)) < sim.CurrentTime+simTimeRemain - } - - // If we're maintaining Lacerate, then allow for emergency bearweaves - // if Lacerate is about to fall off even if the above conditions do not - // apply. - lacRemain := core.Ternary(lacerateDot.IsActive(), lacerateDot.RemainingDuration(sim), time.Duration(0)) - emergencyBearweave := rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate && lacerateDot.IsActive() && (float64(lacRemain) < (2.5+latencySecs)*float64(time.Second)) && (lacRemain < simTimeRemain) && !cat.BerserkAura.IsActive() - - if bearweaveNow || emergencyBearweave { - // oom check, if we arent able to shift into bear and back - // then abandon bearweave - if cat.CurrentMana() < shiftCost*2.0 { - bearweaveNow = false - emergencyBearweave = false - cat.Metrics.MarkOOM(sim) - } - } - + // Check bear-weaving conditions + furorCap := min(float64(100 * cat.Talents.Furor) / 3.0, 100.0 - 1.5 * regenRate) + bearWeaveNow := cat.canBearWeave(sim, furorCap,regenRate, curEnergy, pendingPool, shiftCost) // Main decision tree starts here timeToNextAction := time.Duration(0) if !cat.CatFormAura.IsActive() { - // Shift back into Cat Form if (a) our first bear auto procced - // Clearcasting, or (b) our first bear auto didn't generate enough - // Rage to Mangle or Maul, or (c) we don't have enough time or - // Energy leeway to spend an additional GCD in Dire Bear Form. - shiftNow := (curEnergy+15.0+(10.0*latencySecs) > furorCap) || (ripRefreshPending && (ripDot.RemainingDuration(sim) < (3.0 * time.Second))) || cat.BerserkAura.IsActive() - shiftNext := (curEnergy+30.0+(10.0*latencySecs) > furorCap) || (ripRefreshPending && (ripDot.RemainingDuration(sim) < time.Duration(4500*time.Millisecond))) || cat.BerserkAura.IsActive() - - var powerbearNow bool - if rotation.Powerbear { - powerbearNow = !shiftNow && curRage < 10 + // First determine what we want to do with the next GCD. + if cat.terminateBearWeave(sim, isClearcast, curEnergy, furorCap, regenRate, pendingPool) { + cat.readyToShift = true + } else if cat.Thrash.CanCast(sim, cat.CurrentTarget) { + cat.Thrash.Cast(sim, cat.CurrentTarget) + } else if cat.MangleBear.CanCast(sim, cat.CurrentTarget) { + cat.MangleBear.Cast(sim, cat.CurrentTarget) + } else if cat.FaerieFire.CanCast(sim, cat.CurrentTarget) { + cat.FaerieFire.Cast(sim, cat.CurrentTarget) } else { - powerbearNow = false - shiftNow = shiftNow || curRage < 10 - } - - buildLacerate := !lacerateDot.IsActive() || lacerateDot.GetStacks() < 5 - maintainLacerate := !buildLacerate && (lacRemain <= rotation.LacerateTime) && (curRage < 38 || shiftNext) && (lacRemain < simTimeRemain) - - lacerateNow := rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate && (buildLacerate || maintainLacerate) - emergencyLacerate := rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate && lacerateDot.IsActive() && (lacRemain < 3*time.Second+2*cat.ReactionTime) && lacRemain < simTimeRemain - - if (rotation.BearweaveType != proto.FeralDruid_Rotation_Lacerate) || !lacerateNow { - shiftNow = shiftNow || isClearcast + cat.readyToShift = true } - // Also add an end of fight condition to prevent extending a weave - // if we don't have enough time to spend the pooled Energy thus far. - if !shiftNow { - energyToDump := curEnergy + 30 + 10*latencySecs - timeToDump := (3 * time.Second) + cat.ReactionTime + time.Duration(math.Floor(energyToDump/42)*float64(time.Second)) - shiftNow = timeToDump >= simTimeRemain + // Then Maul if we still have Rage leftover. + if cat.Maul.CanCast(sim, cat.CurrentTarget) && !isClearcast { + cat.Maul.Cast(sim, cat.CurrentTarget) } - nextSwing := cat.AutoAttacks.NextAttackAt() - - if emergencyLacerate && cat.Lacerate.CanCast(sim, cat.CurrentTarget) { - cat.Lacerate.Cast(sim, cat.CurrentTarget) + if !cat.readyToShift { return false, 0 - } else if shiftNow { - // If we are resetting our swing timer using Albino Snake or a - // duplicate weapon swap, then do an additional check here to - // see whether we can delay the shift until the next bear swing - // goes out in order to maximize the gains from the reset. - projectedDelay := nextSwing + 2*cat.ReactionTime - sim.CurrentTime - ripConflict := ripRefreshPending && (ripDot.ExpiresAt() < sim.CurrentTime+projectedDelay+(1500*time.Millisecond)) - nextCatSwing := sim.CurrentTime + cat.ReactionTime + time.Duration(float64(cat.AutoAttacks.MainhandSwingSpeed())/float64(2500*time.Millisecond)) - canDelayShift := !ripConflict && cat.Rotation.SnekWeave && (curEnergy+10*projectedDelay.Seconds() <= furorCap) && (nextSwing < nextCatSwing) - - if canDelayShift { - timeToNextAction = nextSwing - sim.CurrentTime - } else { - cat.readyToShift = true - } - } else if powerbearNow { - cat.shiftBearCat(sim, true) - } else if lacerateNow && cat.Lacerate.CanCast(sim, cat.CurrentTarget) { - cat.Lacerate.Cast(sim, cat.CurrentTarget) - return false, 0 - } else if cat.MangleBear.CanCast(sim, cat.CurrentTarget) { - cat.MangleBear.Cast(sim, cat.CurrentTarget) - return false, 0 - } else if cat.Lacerate.CanCast(sim, cat.CurrentTarget) { - cat.Lacerate.Cast(sim, cat.CurrentTarget) - return false, 0 - } else { - timeToNextAction = nextSwing - sim.CurrentTime } - } else if emergencyBearweave { - cat.readyToShift = true } else if t11RefreshNow { if cat.MangleCat.CanCast(sim, cat.CurrentTarget) { cat.MangleCat.Cast(sim, cat.CurrentTarget) @@ -703,7 +652,7 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { timeToNextAction = core.DurationFromSeconds((cat.CurrentMangleCatCost() - curEnergy) / regenRate) } else if meleeWeaveNow { cat.MoveTo(cat.CatCharge.MinRange + 1, sim) - } else if bearweaveNow { + } else if bearWeaveNow { cat.readyToShift = true } else if cat.Ravage.CanCast(sim, cat.CurrentTarget) { cat.Ravage.Cast(sim, cat.CurrentTarget) @@ -728,16 +677,7 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { timeToNextAction = core.DurationFromSeconds((cat.CurrentShredCost() - excessE) / regenRate) - // When Lacerateweaving, there are scenarios where Lacerate is - // synced with other pending actions. When this happens, pooling for - // the pending action will inevitably lead to capping on Energy, - // since we will be forced to shift into Dire Bear Form immediately - // after pooling in order to save the Lacerate. Instead, it is - // preferable to just Shred and bearweave early. - nextCastEnd := sim.CurrentTime + timeToNextAction + cat.ReactionTime + time.Second*2 - ignorePooling := cat.BerserkAura.IsActive() || (rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate && lacerateDot.IsActive() && (lacerateDot.ExpiresAt().Seconds()-1.5-latencySecs <= nextCastEnd.Seconds())) - - if ignorePooling { + if cat.BerserkAura.IsActive() { if curEnergy >= cat.CurrentShredCost() { cat.Shred.Cast(sim, cat.CurrentTarget) return false, 0 @@ -753,20 +693,13 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { nextAction = min(nextAction, rt) } - // If Lacerateweaving, then also schedule an action just before Lacerate - // expires to ensure we can save it in time. - lacRefreshTime := lacerateDot.ExpiresAt() - (1500 * time.Millisecond) - (3 * cat.ReactionTime) - if rotation.BearweaveType == proto.FeralDruid_Rotation_Lacerate && lacerateDot.IsActive() && lacerateDot.RemainingDuration(sim) < simTimeRemain && (sim.CurrentTime < lacRefreshTime) { - nextAction = min(nextAction, lacRefreshTime) - } - return true, nextAction } type FeralDruidRotation struct { RotationType proto.FeralDruid_Rotation_AplType - BearweaveType proto.FeralDruid_Rotation_BearweaveType + BearWeave bool MaintainFaerieFire bool MinCombosForRip int32 UseRake bool @@ -775,10 +708,8 @@ type FeralDruidRotation struct { BiteDuringExecute bool MinCombosForBite int32 MangleSpam bool - Powerbear bool MinRoarOffset time.Duration RipLeeway time.Duration - LacerateTime time.Duration SnekWeave bool RakeDpeCheck bool UseBerserk bool @@ -786,12 +717,9 @@ type FeralDruidRotation struct { } func (cat *FeralDruid) setupRotation(rotation *proto.FeralDruid_Rotation) { - // Force reset params that aren't customizable, or removed from ui - rotation.BearWeaveType = proto.FeralDruid_Rotation_None - cat.Rotation = FeralDruidRotation{ RotationType: rotation.RotationType, - BearweaveType: rotation.BearWeaveType, + BearWeave: rotation.BearWeave, MaintainFaerieFire: rotation.MaintainFaerieFire, MinCombosForRip: 5, UseRake: rotation.UseRake, @@ -800,11 +728,9 @@ func (cat *FeralDruid) setupRotation(rotation *proto.FeralDruid_Rotation) { BiteDuringExecute: core.Ternary(cat.Talents.BloodInTheWater > 0, rotation.BiteDuringExecute, false), MinCombosForBite: 5, MangleSpam: rotation.MangleSpam, - Powerbear: rotation.Powerbear, MinRoarOffset: time.Duration(float64(rotation.MinRoarOffset) * float64(time.Second)), RipLeeway: time.Duration(float64(rotation.RipLeeway) * float64(time.Second)), - LacerateTime: 8.0 * time.Second, - SnekWeave: core.Ternary(rotation.BearWeaveType == proto.FeralDruid_Rotation_None, false, rotation.SnekWeave), + SnekWeave: false, RakeDpeCheck: true, UseBerserk: cat.Talents.Berserk && ((rotation.RotationType == proto.FeralDruid_Rotation_SingleTarget) || rotation.AllowAoeBerserk), MeleeWeave: rotation.MeleeWeave && (cat.Talents.Stampede > 0), diff --git a/sim/druid/forms.go b/sim/druid/forms.go index 81decd1b44..289535bc6b 100644 --- a/sim/druid/forms.go +++ b/sim/druid/forms.go @@ -212,7 +212,7 @@ func (druid *Druid) registerCatFormSpell() { } func (druid *Druid) registerBearFormSpell() { - actionID := core.ActionID{SpellID: 9634} + actionID := core.ActionID{SpellID: 5487} healthMetrics := druid.NewHealthMetrics(actionID) statBonus := stats.Stats{ @@ -250,7 +250,7 @@ func (druid *Druid) registerBearFormSpell() { druid.AutoAttacks.SetMH(clawWeapon) - druid.PseudoStats.ThreatMultiplier *= 2.1021 + druid.PseudoStats.ThreatMultiplier *= 5 druid.PseudoStats.SchoolDamageDealtMultiplier[stats.SchoolIndexPhysical] *= core.TernaryFloat64(druid.Talents.MasterShapeshifter, 1.04, 1.0) druid.PseudoStats.DamageTakenMultiplier *= nrdtm druid.PseudoStats.SpiritRegenMultiplier *= AnimalSpiritRegenSuppression @@ -272,7 +272,6 @@ func (druid *Druid) registerBearFormSpell() { druid.GainHealth(sim, healthFrac*druid.MaxHealth()-druid.CurrentHealth(), healthMetrics) if !druid.Env.MeasuringStats { - druid.AutoAttacks.SetReplaceMHSwing(druid.ReplaceBearMHFunc) druid.AutoAttacks.EnableAutoSwing(sim) druid.UpdateManaRegenRates() @@ -282,7 +281,7 @@ func (druid *Druid) registerBearFormSpell() { druid.form = Humanoid druid.AutoAttacks.SetMH(druid.WeaponFromMainHand(druid.DefaultMeleeCritMultiplier())) - druid.PseudoStats.ThreatMultiplier /= 2.1021 + druid.PseudoStats.ThreatMultiplier /= 5 druid.PseudoStats.SchoolDamageDealtMultiplier[stats.SchoolIndexPhysical] /= core.TernaryFloat64(druid.Talents.MasterShapeshifter, 1.04, 1.0) druid.PseudoStats.DamageTakenMultiplier /= nrdtm druid.PseudoStats.SpiritRegenMultiplier /= AnimalSpiritRegenSuppression @@ -303,13 +302,13 @@ func (druid *Druid) registerBearFormSpell() { druid.RemoveHealth(sim, druid.CurrentHealth()-healthFrac*druid.MaxHealth()) if !druid.Env.MeasuringStats { - druid.AutoAttacks.SetReplaceMHSwing(nil) druid.AutoAttacks.EnableAutoSwing(sim) - druid.UpdateManaRegenRates() druid.EnrageAura.Deactivate(sim) - druid.MaulQueueAura.Deactivate(sim) - druid.PulverizeAura.Deactivate(sim) + + if druid.PulverizeAura.IsActive() { + druid.PulverizeAura.Deactivate(sim) + } } }, }) diff --git a/sim/druid/mangle.go b/sim/druid/mangle.go index ddd0e9bff4..34271c993c 100644 --- a/sim/druid/mangle.go +++ b/sim/druid/mangle.go @@ -12,7 +12,7 @@ func (druid *Druid) registerMangleBearSpell() { glyphBonus := core.TernaryFloat64(druid.HasPrimeGlyph(proto.DruidPrimeGlyph_GlyphOfMangle), 1.1, 1.0) druid.MangleBear = druid.RegisterSpell(Bear, core.SpellConfig{ - ActionID: core.ActionID{SpellID: 48564}, + ActionID: core.ActionID{SpellID: 33878}, SpellSchool: core.SpellSchoolPhysical, ProcMask: core.ProcMaskMeleeMHSpecial, Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL, @@ -28,7 +28,7 @@ func (druid *Druid) registerMangleBearSpell() { IgnoreHaste: true, CD: core.Cooldown{ Timer: druid.NewTimer(), - Duration: time.Duration(float64(time.Second) * 6), + Duration: time.Second*6, }, }, @@ -42,7 +42,7 @@ func (druid *Druid) registerMangleBearSpell() { baseDamage := 3306.0/1.9 + spell.Unit.MHWeaponDamage(sim, spell.MeleeAttackPower()) - result := spell.CalcAndDealDamage(sim, target, baseDamage, spell.OutcomeMeleeSpecialHitAndCrit) + result := spell.CalcAndDealDamage(sim, target, baseDamage, spell.OutcomeMeleeWeaponSpecialHitAndCrit) if result.Landed() { mangleAuras.Get(target).Activate(sim) diff --git a/sim/druid/maul.go b/sim/druid/maul.go index ceb0059373..bded8de5cc 100644 --- a/sim/druid/maul.go +++ b/sim/druid/maul.go @@ -1,46 +1,43 @@ package druid import ( + "time" + "github.com/wowsims/cata/sim/core" "github.com/wowsims/cata/sim/core/proto" ) func (druid *Druid) registerMaulSpell() { - flatBaseDamage := 578.0 - if druid.Ranged().ID == 23198 { // Idol of Brutality - flatBaseDamage += 50 - } else if druid.Ranged().ID == 38365 { // Idol of Perspicacious Attacks - flatBaseDamage += 120 - } - + flatBaseDamage := 34.0 numHits := core.TernaryInt32(druid.HasMajorGlyph(proto.DruidMajorGlyph_GlyphOfMaul) && druid.Env.GetNumTargets() > 1, 2, 1) rendAndTearMod := []float64{1.0, 1.07, 1.13, 1.2}[druid.Talents.RendAndTear] druid.Maul = druid.RegisterSpell(Bear, core.SpellConfig{ - ActionID: core.ActionID{SpellID: 48480}, + ActionID: core.ActionID{SpellID: 6807}, SpellSchool: core.SpellSchoolPhysical, ProcMask: core.ProcMaskMeleeMHSpecial, - Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagNoOnCastComplete, + Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL, RageCost: core.RageCostOptions{ Cost: 30, Refund: 0.8, }, + Cast: core.CastConfig{ + CD: core.Cooldown{ + Timer: druid.NewTimer(), + Duration: time.Second*3, + }, + }, DamageMultiplier: 1, CritMultiplier: druid.DefaultMeleeCritMultiplier(), ThreatMultiplier: 1, - FlatThreatBonus: 424, + FlatThreatBonus: 424, // TODO: Measure for Cata BonusCoefficient: 1, MaxRange: core.MaxMeleeRange, ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) { - // Need to specially deactivate CC here in case maul is cast simultaneously with another spell. - if druid.ClearcastingAura != nil { - druid.ClearcastingAura.Deactivate(sim) - } - - baseDamage := flatBaseDamage + spell.Unit.MHWeaponDamage(sim, spell.MeleeAttackPower()) + baseDamage := flatBaseDamage + 0.19 * spell.MeleeAttackPower() curTarget := target for hitIndex := int32(0); hitIndex < numHits; hitIndex++ { @@ -63,51 +60,6 @@ func (druid *Druid) registerMaulSpell() { curTarget = sim.Environment.NextTargetUnit(curTarget) } - - druid.MaulQueueAura.Deactivate(sim) }, }) - - druid.MaulQueueAura = druid.RegisterAura(core.Aura{ - Label: "Maul Queue Aura", - ActionID: druid.Maul.ActionID, - Duration: core.NeverExpires, - }) - - druid.MaulQueueSpell = druid.RegisterSpell(Bear, core.SpellConfig{ - ActionID: druid.Maul.WithTag(1), - SpellSchool: core.SpellSchoolPhysical, - ProcMask: core.ProcMaskMeleeMHSpecial, - Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL, - - ExtraCastCondition: func(sim *core.Simulation, target *core.Unit) bool { - return !druid.MaulQueueAura.IsActive() && - druid.CurrentRage() >= druid.Maul.DefaultCast.Cost && - sim.CurrentTime >= druid.Hardcast.Expires - }, - - ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) { - druid.MaulQueueAura.Activate(sim) - }, - }) -} - -func (druid *Druid) QueueMaul(sim *core.Simulation) { - if druid.MaulQueueSpell.CanCast(sim, druid.CurrentTarget) { - druid.MaulQueueSpell.Cast(sim, druid.CurrentTarget) - } -} - -// Returns true if the regular melee swing should be used, false otherwise. -func (druid *Druid) MaulReplaceMH(sim *core.Simulation, mhSwingSpell *core.Spell) *core.Spell { - if !druid.MaulQueueAura.IsActive() { - return mhSwingSpell - } - - if !druid.Maul.Spell.CanCast(sim, druid.CurrentTarget) { - druid.MaulQueueAura.Deactivate(sim) - return mhSwingSpell - } - - return druid.Maul.Spell } diff --git a/sim/druid/omen_of_clarity.go b/sim/druid/omen_of_clarity.go index e23fb457d2..db50f40b65 100644 --- a/sim/druid/omen_of_clarity.go +++ b/sim/druid/omen_of_clarity.go @@ -35,6 +35,7 @@ func (druid *Druid) applyOmenOfClarity() { druid.Shred, druid.SwipeBear, druid.SwipeCat, + druid.Thrash, }, func(spell *DruidSpell) bool { return spell != nil }) }, OnGain: func(aura *core.Aura, sim *core.Simulation) { diff --git a/sim/druid/thrash.go b/sim/druid/thrash.go index cd0419201e..78f81d7459 100644 --- a/sim/druid/thrash.go +++ b/sim/druid/thrash.go @@ -32,6 +32,10 @@ func (druid *Druid) registerThrashBearSpell() { GCD: core.GCDDefault, }, IgnoreHaste: true, + CD: core.Cooldown{ + Timer: druid.NewTimer(), + Duration: time.Second*6, + }, }, DamageMultiplier: 1, diff --git a/ui/core/components/individual_sim_ui/apl_actions.ts b/ui/core/components/individual_sim_ui/apl_actions.ts index 3177e441dc..b22ffe051f 100644 --- a/ui/core/components/individual_sim_ui/apl_actions.ts +++ b/ui/core/components/individual_sim_ui/apl_actions.ts @@ -619,23 +619,27 @@ const actionKindFactories: { [f in NonNullable]: ActionKindConfig rotationType: FeralDruid_Rotation_AplType.SingleTarget, maintainFaerieFire: true, manualParams: true, - minRoarOffset: 12.0, - ripLeeway: 4, + minRoarOffset: 29.0, + ripLeeway: 1, useRake: true, useBite: true, - biteTime: 10.0, + biteTime: 11.0, biteDuringExecute: true, allowAoeBerserk: false, meleeWeave: true, + bearWeave: true, }), fields: [ AplHelpers.rotationTypeFieldConfig('rotationType'), AplHelpers.booleanFieldConfig('maintainFaerieFire', 'Maintain Faerie Fire', { labelTooltip: 'Maintain Faerie Fire debuff. Overwrites any external Sunder effects specified in settings.', }), - AplHelpers.booleanFieldConfig('meleeWeave', 'Enable melee-weaving', { + AplHelpers.booleanFieldConfig('meleeWeave', 'Enable leave-weaving', { labelTooltip: 'Weave out of melee range for Stampede procs. Ignored for AoE rotation or if Stampede is not talented.', }), + AplHelpers.booleanFieldConfig('bearWeave', 'Enable bear-weaving', { + labelTooltip: 'Weave into Bear Form while pooling Energy. Ignored for AoE rotation.', + }), AplHelpers.booleanFieldConfig('allowAoeBerserk', 'Allow AoE Berserk', { labelTooltip: 'Allow Berserk usage in AoE rotation. Ignored for single target rotation.', }), diff --git a/ui/druid/feral/apls/default.apl.json b/ui/druid/feral/apls/default.apl.json index 93fa173bb8..0f9286f3c7 100644 --- a/ui/druid/feral/apls/default.apl.json +++ b/ui/druid/feral/apls/default.apl.json @@ -3,6 +3,6 @@ "priorityList": [ {"action":{"autocastOtherCooldowns":{}}}, {"action":{"condition":{"const":{"val":"false"}},"castSpell":{"spellId":{"spellId":50334}}}}, - {"action":{"catOptimalRotationAction":{"manualParams":false,"maintainFaerieFire":true,"meleeWeave":true}}} + {"action":{"catOptimalRotationAction":{"manualParams":false,"maintainFaerieFire":true,"meleeWeave":true,"bearWeave":true}}} ] } diff --git a/ui/druid/feral/inputs.ts b/ui/druid/feral/inputs.ts index 3fd19f4bd7..946d54ff86 100644 --- a/ui/druid/feral/inputs.ts +++ b/ui/druid/feral/inputs.ts @@ -42,12 +42,19 @@ export const FeralDruidRotationConfig = { }), InputHelpers.makeRotationBooleanInput({ fieldName: 'meleeWeave', - label: 'Enable melee-weaving', + label: 'Enable leave-weaving', labelTooltip: 'Weave out of melee range for Stampede procs', showWhen: (player: Player) => player.getSimpleRotation().rotationType == AplType.SingleTarget && player.getTalents().stampede > 0, changeEmitter: (player: Player) => TypedEvent.onAny([player.rotationChangeEmitter, player.talentsChangeEmitter]), }), + InputHelpers.makeRotationBooleanInput({ + fieldName: 'bearWeave', + label: 'Enable bear-weaving', + labelTooltip: 'Weave into Bear Form while pooling Energy', + showWhen: (player: Player) => + player.getSimpleRotation().rotationType == AplType.SingleTarget, + }), InputHelpers.makeRotationBooleanInput({ fieldName: 'allowAoeBerserk', label: 'Allow AoE Berserk', diff --git a/ui/druid/feral/presets.ts b/ui/druid/feral/presets.ts index 34087de8f8..b67b77d674 100644 --- a/ui/druid/feral/presets.ts +++ b/ui/druid/feral/presets.ts @@ -33,7 +33,7 @@ export const APL_ROTATION_AOE = PresetUtils.makePresetAPLRotation('APL AoE', Aoe export const DefaultRotation = FeralDruidRotation.create({ rotationType: FeralDruid_Rotation_AplType.SingleTarget, - bearWeaveType: FeralDruid_Rotation_BearweaveType.None, + bearWeave: true, minCombosForRip: 5, minCombosForBite: 5, useRake: true, @@ -41,12 +41,11 @@ export const DefaultRotation = FeralDruidRotation.create({ mangleSpam: false, biteModeType: FeralDruid_Rotation_BiteModeType.Emperical, biteTime: 11.0, - powerbear: false, minRoarOffset: 29.0, ripLeeway: 1.0, maintainFaerieFire: true, snekWeave: false, - manualParams: true, + manualParams: false, biteDuringExecute: true, allowAoeBerserk: false, meleeWeave: true, diff --git a/ui/druid/feral/sim.ts b/ui/druid/feral/sim.ts index 136d280d48..6533621418 100644 --- a/ui/druid/feral/sim.ts +++ b/ui/druid/feral/sim.ts @@ -129,7 +129,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecFeralDruid, { const [prepullActions, actions] = AplUtils.standardCooldownDefaults(cooldowns); const blockZerk = APLAction.fromJsonString(`{"condition":{"const":{"val":"false"}},"castSpell":{"spellId":{"spellId":50334}}}`); - const doRotation = APLAction.fromJsonString(`{"catOptimalRotationAction":{"rotationType":${simple.rotationType},"manualParams":${simple.manualParams},"maintainFaerieFire":${simple.maintainFaerieFire},"allowAoeBerserk":${simple.allowAoeBerserk},"meleeWeave":${simple.meleeWeave},"minRoarOffset":${simple.minRoarOffset.toFixed(2)},"ripLeeway":${simple.ripLeeway.toFixed(0)},"useRake":${simple.useRake},"useBite":${simple.useBite},"biteDuringExecute":${simple.biteDuringExecute},"biteTime":${simple.biteTime.toFixed(2)}}}`); + const doRotation = APLAction.fromJsonString(`{"catOptimalRotationAction":{"rotationType":${simple.rotationType},"manualParams":${simple.manualParams},"maintainFaerieFire":${simple.maintainFaerieFire},"allowAoeBerserk":${simple.allowAoeBerserk},"meleeWeave":${simple.meleeWeave},"bearWeave":${simple.bearWeave},"minRoarOffset":${simple.minRoarOffset.toFixed(2)},"ripLeeway":${simple.ripLeeway.toFixed(0)},"useRake":${simple.useRake},"useBite":${simple.useBite},"biteDuringExecute":${simple.biteDuringExecute},"biteTime":${simple.biteTime.toFixed(2)}}}`); actions.push(...([blockZerk, doRotation].filter(a => a) as Array)); From 7581462fa6cd6601cc2ba0a7f8a9eb809d87604a Mon Sep 17 00:00:00 2001 From: NerdEgghead Date: Thu, 9 May 2024 16:25:56 -0700 Subject: [PATCH 2/6] Fixed bug in Threat aggreation for Mana and Rage gains On branch feral Changes to be committed: modified: sim/core/mana.go modified: sim/core/rage.go modified: sim/druid/feral/TestFeral.results --- sim/core/mana.go | 2 +- sim/core/rage.go | 2 +- sim/druid/feral/TestFeral.results | 36 +++++++++++++++---------------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/sim/core/mana.go b/sim/core/mana.go index 1b62279e55..02a53bfda2 100644 --- a/sim/core/mana.go +++ b/sim/core/mana.go @@ -142,7 +142,7 @@ func (mb *manaBar) doneIteration(sim *Simulation) { // Vampiric Touch mana threat goes to the priest, so it's handled in the priest code. continue } - if resourceMetrics.ActualGain <= 0 { + if resourceMetrics.ActualGainForCurrentIteration() <= 0 { continue } diff --git a/sim/core/rage.go b/sim/core/rage.go index 5084656b14..7c192fb2ca 100644 --- a/sim/core/rage.go +++ b/sim/core/rage.go @@ -192,7 +192,7 @@ func (rb *rageBar) doneIteration() { if resourceMetrics.ActionID.SameActionIgnoreTag(ActionID{OtherID: proto.OtherAction_OtherActionRefund}) { continue } - if resourceMetrics.ActualGain <= 0 { + if resourceMetrics.ActualGainForCurrentIteration() <= 0 { continue } diff --git a/sim/druid/feral/TestFeral.results b/sim/druid/feral/TestFeral.results index a371517133..f823a06fe2 100644 --- a/sim/druid/feral/TestFeral.results +++ b/sim/druid/feral/TestFeral.results @@ -901,8 +901,8 @@ dps_results: { dps_results: { key: "TestFeral-AllItems-ShardofWoe-60233" value: { - dps: 22124.15441 - tps: 15708.14963 + dps: 22719.65495 + tps: 30185.41834 } } dps_results: { @@ -1364,7 +1364,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { dps: 35321.22465 - tps: 33231.41672 + tps: 33231.47714 } } dps_results: { @@ -1385,7 +1385,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { dps: 34787.51322 - tps: 31660.57849 + tps: 31660.8462 } } dps_results: { @@ -1406,7 +1406,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { dps: 20402.37659 - tps: 22492.012 + tps: 22492.47033 } } dps_results: { @@ -1427,7 +1427,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { dps: 20253.40894 - tps: 21906.18106 + tps: 21906.41023 } } dps_results: { @@ -1532,7 +1532,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { dps: 34269.62854 - tps: 32463.16376 + tps: 32463.48251 } } dps_results: { @@ -1553,7 +1553,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { dps: 34012.54254 - tps: 31958.21005 + tps: 31958.60796 } } dps_results: { @@ -1574,7 +1574,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { dps: 19715.13206 - tps: 20435.43554 + tps: 20435.66575 } } dps_results: { @@ -1595,7 +1595,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { dps: 19688.09655 - tps: 20881.38792 + tps: 20881.54938 } } dps_results: { @@ -1700,7 +1700,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { dps: 29358.16239 - tps: 28262.47046 + tps: 28262.63712 } } dps_results: { @@ -1721,7 +1721,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { dps: 28767.52804 - tps: 27956.23794 + tps: 27956.41919 } } dps_results: { @@ -1742,7 +1742,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { dps: 16770.14551 - tps: 20314.14473 + tps: 20314.43014 } } dps_results: { @@ -1763,7 +1763,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { dps: 16575.47739 - tps: 20278.6357 + tps: 20278.97007 } } dps_results: { @@ -1868,7 +1868,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { dps: 28781.5136 - tps: 27109.4962 + tps: 27109.65141 } } dps_results: { @@ -1889,7 +1889,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { dps: 28221.61857 - tps: 27113.15161 + tps: 27113.4912 } } dps_results: { @@ -1910,7 +1910,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { dps: 16062.46112 - tps: 18689.2035 + tps: 18689.44309 } } dps_results: { @@ -1931,7 +1931,7 @@ dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { dps: 16092.40186 - tps: 20138.15674 + tps: 20138.33278 } } dps_results: { From 7c27f5d929af9685a3d5d703380c89b3e849e850 Mon Sep 17 00:00:00 2001 From: NerdEgghead Date: Thu, 9 May 2024 16:56:18 -0700 Subject: [PATCH 3/6] Added rotation option for Albino Snake usage On branch feral Changes to be committed: modified: proto/apl.proto modified: sim/druid/feral/TestFeral.results modified: sim/druid/feral/apl_values.go modified: sim/druid/feral/rotation.go modified: ui/core/components/individual_sim_ui/apl_actions.ts modified: ui/druid/feral/apls/default.apl.json modified: ui/druid/feral/inputs.ts modified: ui/druid/feral/presets.ts modified: ui/druid/feral/sim.ts --- proto/apl.proto | 1 + sim/druid/feral/TestFeral.results | 896 +++++++++--------- sim/druid/feral/apl_values.go | 1 + sim/druid/feral/rotation.go | 2 +- .../individual_sim_ui/apl_actions.ts | 4 + ui/druid/feral/apls/default.apl.json | 2 +- ui/druid/feral/inputs.ts | 7 + ui/druid/feral/presets.ts | 2 +- ui/druid/feral/sim.ts | 2 +- 9 files changed, 465 insertions(+), 452 deletions(-) diff --git a/proto/apl.proto b/proto/apl.proto index fdbe7628f4..ac4ef017a8 100644 --- a/proto/apl.proto +++ b/proto/apl.proto @@ -289,6 +289,7 @@ message APLActionCatOptimalRotationAction { bool allow_aoe_berserk = 10; bool melee_weave = 11; bool bear_weave = 12; + bool snek_weave = 13; } message APLActionMove { diff --git a/sim/druid/feral/TestFeral.results b/sim/druid/feral/TestFeral.results index f823a06fe2..f7f4739271 100644 --- a/sim/druid/feral/TestFeral.results +++ b/sim/druid/feral/TestFeral.results @@ -39,1227 +39,1227 @@ character_stats_results: { dps_results: { key: "TestFeral-AllItems-AgileShadowspiritDiamond" value: { - dps: 23836.09648 - tps: 32264.65117 + dps: 23859.52359 + tps: 32838.61766 } } dps_results: { key: "TestFeral-AllItems-Althor'sAbacus-50366" value: { - dps: 22382.54565 - tps: 30196.9545 + dps: 22428.0989 + tps: 30696.16907 } } dps_results: { key: "TestFeral-AllItems-Anhuur'sHymnal-55889" value: { - dps: 22633.8051 - tps: 31452.89947 + dps: 22657.25269 + tps: 31240.67348 } } dps_results: { key: "TestFeral-AllItems-Anhuur'sHymnal-56407" value: { - dps: 22633.8051 - tps: 31452.89947 + dps: 22657.25269 + tps: 31240.67348 } } dps_results: { key: "TestFeral-AllItems-AustereShadowspiritDiamond" value: { - dps: 23294.59662 - tps: 31445.49876 + dps: 23296.89391 + tps: 31971.73671 } } dps_results: { key: "TestFeral-AllItems-BaubleofTrueBlood-50726" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 hps: 84.91645 } } dps_results: { key: "TestFeral-AllItems-BedrockTalisman-58182" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-BellofEnragingResonance-59326" value: { - dps: 22709.35918 - tps: 31063.68895 + dps: 22739.83829 + tps: 31705.2259 } } dps_results: { key: "TestFeral-AllItems-BellofEnragingResonance-65053" value: { - dps: 22732.66644 - tps: 31169.82072 + dps: 22773.33232 + tps: 31672.23493 } } dps_results: { key: "TestFeral-AllItems-BindingPromise-67037" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-Blood-SoakedAleMug-63843" value: { - dps: 23590.63502 - tps: 31723.71938 + dps: 23677.66366 + tps: 32230.35806 } } dps_results: { key: "TestFeral-AllItems-BloodofIsiset-55995" value: { - dps: 22638.80369 - tps: 30587.29271 + dps: 22685.91055 + tps: 31004.00971 } } dps_results: { key: "TestFeral-AllItems-BloodofIsiset-56414" value: { - dps: 22672.42627 - tps: 30638.70778 + dps: 22719.45612 + tps: 31055.50449 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofConquest-64687" value: { - dps: 24006.62141 - tps: 32164.87882 + dps: 24090.38932 + tps: 32532.87575 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofDominance-64688" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofVictory-64689" value: { - dps: 22854.44076 - tps: 30754.46656 + dps: 22913.76494 + tps: 31198.41182 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofCruelty-64740" value: { - dps: 22695.51773 - tps: 30961.44584 + dps: 22721.39478 + tps: 31676.75585 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofMeditation-64741" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofTenacity-64742" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofConquest-64761" value: { - dps: 23578.25974 - tps: 31746.50608 + dps: 23612.50746 + tps: 32023.63163 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofDominance-64762" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofVictory-64763" value: { - dps: 22812.40024 - tps: 30737.38816 + dps: 22863.20008 + tps: 31148.79617 } } dps_results: { key: "TestFeral-AllItems-BottledLightning-66879" value: { - dps: 22517.32188 - tps: 30422.93055 + dps: 22572.35035 + tps: 30988.49041 } } dps_results: { key: "TestFeral-AllItems-BracingShadowspiritDiamond" value: { - dps: 23295.06086 - tps: 30819.00493 + dps: 23294.09016 + tps: 31420.54734 } } dps_results: { key: "TestFeral-AllItems-BurningShadowspiritDiamond" value: { - dps: 23677.20843 - tps: 31950.46361 + dps: 23675.46531 + tps: 32572.0479 } } dps_results: { key: "TestFeral-AllItems-ChaoticShadowspiritDiamond" value: { - dps: 23700.50041 - tps: 32090.07524 + dps: 23723.05858 + tps: 32761.54915 } } dps_results: { key: "TestFeral-AllItems-CoreofRipeness-58184" value: { - dps: 22389.94613 - tps: 30247.11869 + dps: 22429.12282 + tps: 30701.1301 } } dps_results: { key: "TestFeral-AllItems-CorpseTongueCoin-50349" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-CrushingWeight-59506" value: { - dps: 23200.44801 - tps: 30743.96693 + dps: 23232.12827 + tps: 31004.22669 } } dps_results: { key: "TestFeral-AllItems-CrushingWeight-65118" value: { - dps: 23275.25117 - tps: 30542.58485 + dps: 23371.94958 + tps: 30795.22835 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Earthquake-62048" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Hurricane-62049" value: { - dps: 22976.53637 - tps: 31655.96058 + dps: 23189.20463 + tps: 32939.29874 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Hurricane-62051" value: { - dps: 23642.98601 - tps: 33095.20816 + dps: 23794.26804 + tps: 33766.18799 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Tsunami-62050" value: { - dps: 22389.94613 - tps: 30247.11869 + dps: 22429.12282 + tps: 30701.1301 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Volcano-62047" value: { - dps: 22702.29816 - tps: 30863.38895 + dps: 22779.65793 + tps: 31334.24573 } } dps_results: { key: "TestFeral-AllItems-Deathbringer'sWill-50363" value: { - dps: 23090.06785 - tps: 31060.35464 + dps: 23051.69687 + tps: 31317.5032 } } dps_results: { key: "TestFeral-AllItems-DestructiveShadowspiritDiamond" value: { - dps: 23316.13471 - tps: 31582.69002 + dps: 23338.05494 + tps: 32244.98767 } } dps_results: { key: "TestFeral-AllItems-DislodgedForeignObject-50348" value: { - dps: 22466.68315 - tps: 29302.11459 + dps: 22603.1976 + tps: 31048.06529 } } dps_results: { key: "TestFeral-AllItems-EffulgentShadowspiritDiamond" value: { - dps: 23294.59662 - tps: 31445.49876 + dps: 23296.89391 + tps: 31971.73671 } } dps_results: { key: "TestFeral-AllItems-ElectrosparkHeartstarter-67118" value: { - dps: 22382.04946 - tps: 30224.90452 + dps: 22429.74438 + tps: 30640.94669 } } dps_results: { key: "TestFeral-AllItems-EmberShadowspiritDiamond" value: { - dps: 23295.06086 - tps: 31447.72634 + dps: 23294.09016 + tps: 32061.53549 } } dps_results: { key: "TestFeral-AllItems-EnigmaticShadowspiritDiamond" value: { - dps: 23316.13471 - tps: 31582.69002 + dps: 23338.05494 + tps: 32244.98767 } } dps_results: { key: "TestFeral-AllItems-EssenceoftheCyclone-59473" value: { - dps: 23921.01759 - tps: 33441.53397 + dps: 23943.03985 + tps: 33212.94857 } } dps_results: { key: "TestFeral-AllItems-EssenceoftheCyclone-65140" value: { - dps: 24059.76189 - tps: 33059.29517 + dps: 24093.64404 + tps: 33383.20477 } } dps_results: { key: "TestFeral-AllItems-EternalShadowspiritDiamond" value: { - dps: 23294.59662 - tps: 31445.49876 + dps: 23296.89391 + tps: 31971.73671 } } dps_results: { key: "TestFeral-AllItems-FallofMortality-59500" value: { - dps: 22389.94613 - tps: 30247.11869 + dps: 22429.12282 + tps: 30701.1301 } } dps_results: { key: "TestFeral-AllItems-FallofMortality-65124" value: { - dps: 22389.94613 - tps: 30247.06977 + dps: 22429.12282 + tps: 30701.08307 } } dps_results: { key: "TestFeral-AllItems-Figurine-DemonPanther-52199" value: { - dps: 24201.10283 - tps: 33279.97672 + dps: 24268.49649 + tps: 33617.1352 } } dps_results: { key: "TestFeral-AllItems-Figurine-DreamOwl-52354" value: { - dps: 22389.94613 - tps: 30247.16062 + dps: 22429.12282 + tps: 30701.17042 } } dps_results: { key: "TestFeral-AllItems-Figurine-EarthenGuardian-52352" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-Figurine-JeweledSerpent-52353" value: { - dps: 22389.94613 - tps: 30247.16062 + dps: 22429.12282 + tps: 30701.17042 } } dps_results: { key: "TestFeral-AllItems-Figurine-KingofBoars-52351" value: { - dps: 23121.27646 - tps: 31171.92342 + dps: 23179.48867 + tps: 31615.11683 } } dps_results: { key: "TestFeral-AllItems-FleetShadowspiritDiamond" value: { - dps: 23351.19658 - tps: 31531.76601 + dps: 23353.31755 + tps: 32058.9061 } } dps_results: { key: "TestFeral-AllItems-FluidDeath-58181" value: { - dps: 23972.7398 - tps: 33445.12566 + dps: 23992.71489 + tps: 32581.20218 } } dps_results: { key: "TestFeral-AllItems-ForlornShadowspiritDiamond" value: { - dps: 23295.06086 - tps: 31447.76055 + dps: 23294.09016 + tps: 32061.56747 } } dps_results: { key: "TestFeral-AllItems-FuryofAngerforge-59461" value: { - dps: 23282.69525 - tps: 31783.09683 + dps: 23311.32421 + tps: 32393.47278 } } dps_results: { key: "TestFeral-AllItems-GaleofShadows-56138" value: { - dps: 22622.12655 - tps: 30297.70134 + dps: 22601.14455 + tps: 30756.22914 } } dps_results: { key: "TestFeral-AllItems-GaleofShadows-56462" value: { - dps: 22711.31997 - tps: 30855.36548 + dps: 22751.46492 + tps: 30378.60819 } } dps_results: { key: "TestFeral-AllItems-GearDetector-61462" value: { - dps: 23069.66116 - tps: 31349.51011 + dps: 23132.96704 + tps: 31488.45301 } } dps_results: { key: "TestFeral-AllItems-GlowingTwilightScale-54589" value: { - dps: 22382.54565 - tps: 30196.94059 + dps: 22428.0989 + tps: 30696.15563 } } dps_results: { key: "TestFeral-AllItems-GraceoftheHerald-55266" value: { - dps: 23174.14457 - tps: 31341.2719 + dps: 23224.80578 + tps: 31779.31609 } } dps_results: { key: "TestFeral-AllItems-GraceoftheHerald-56295" value: { - dps: 23609.23418 - tps: 31756.99988 + dps: 23640.98585 + tps: 32437.96765 } } dps_results: { key: "TestFeral-AllItems-HarmlightToken-63839" value: { - dps: 22420.56042 - tps: 30409.6165 + dps: 22469.61883 + tps: 30884.17579 } } dps_results: { key: "TestFeral-AllItems-Harrison'sInsigniaofPanache-65803" value: { - dps: 22907.81172 - tps: 30893.19425 + dps: 22952.93094 + tps: 31318.4173 } } dps_results: { key: "TestFeral-AllItems-HeartofIgnacious-59514" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-HeartofIgnacious-65110" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-HeartofRage-59224" value: { - dps: 23326.27527 - tps: 33331.19849 + dps: 23425.43785 + tps: 32808.46111 } } dps_results: { key: "TestFeral-AllItems-HeartofRage-65072" value: { - dps: 23370.78492 - tps: 32172.62778 + dps: 23534.19392 + tps: 32931.44923 } } dps_results: { key: "TestFeral-AllItems-HeartofSolace-55868" value: { - dps: 22622.12655 - tps: 30297.70134 + dps: 22601.14455 + tps: 30756.22914 } } dps_results: { key: "TestFeral-AllItems-HeartofSolace-56393" value: { - dps: 23181.89269 - tps: 31436.8257 + dps: 23237.12636 + tps: 30966.01113 } } dps_results: { key: "TestFeral-AllItems-HeartofThunder-55845" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-HeartofThunder-56370" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-HeartoftheVile-66969" value: { - dps: 23294.79151 - tps: 31406.41737 + dps: 23303.25027 + tps: 31774.66373 } } dps_results: { key: "TestFeral-AllItems-Heartpierce-50641" value: { - dps: 24335.45834 - tps: 32599.5445 + dps: 24365.40017 + tps: 32673.22375 } } dps_results: { key: "TestFeral-AllItems-ImpassiveShadowspiritDiamond" value: { - dps: 23316.13471 - tps: 31582.69002 + dps: 23338.05494 + tps: 32244.98767 } } dps_results: { key: "TestFeral-AllItems-ImpatienceofYouth-62464" value: { - dps: 23215.50376 - tps: 31296.56193 + dps: 23275.08429 + tps: 31743.21924 } } dps_results: { key: "TestFeral-AllItems-ImpatienceofYouth-62469" value: { - dps: 23215.50376 - tps: 31296.56193 + dps: 23275.08429 + tps: 31743.21924 } } dps_results: { key: "TestFeral-AllItems-ImpetuousQuery-55881" value: { - dps: 22638.80369 - tps: 30587.29271 + dps: 22685.91055 + tps: 31004.00971 } } dps_results: { key: "TestFeral-AllItems-ImpetuousQuery-56406" value: { - dps: 22672.42627 - tps: 30638.70778 + dps: 22719.45612 + tps: 31055.50449 } } dps_results: { key: "TestFeral-AllItems-InsigniaofDiplomacy-61433" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-InsigniaoftheEarthenLord-61429" value: { - dps: 22579.70946 - tps: 30496.92685 + dps: 22626.95167 + tps: 30913.50374 } } dps_results: { key: "TestFeral-AllItems-JarofAncientRemedies-59354" value: { - dps: 22382.04946 - tps: 30194.80846 + dps: 22429.74438 + tps: 30610.85473 } } dps_results: { key: "TestFeral-AllItems-JarofAncientRemedies-65029" value: { - dps: 22382.04946 - tps: 30194.80846 + dps: 22429.74438 + tps: 30610.85473 } } dps_results: { key: "TestFeral-AllItems-JujuofNimbleness-63840" value: { - dps: 23590.63502 - tps: 31723.71938 + dps: 23677.66366 + tps: 32230.35806 } } dps_results: { key: "TestFeral-AllItems-KeytotheEndlessChamber-55795" value: { - dps: 23598.57041 - tps: 32636.43624 + dps: 23679.14955 + tps: 32754.85814 } } dps_results: { key: "TestFeral-AllItems-KeytotheEndlessChamber-56328" value: { - dps: 24018.14088 - tps: 33136.29661 + dps: 24008.40806 + tps: 32798.83796 } } dps_results: { key: "TestFeral-AllItems-KvaldirBattleStandard-59685" value: { - dps: 22635.34966 - tps: 29955.24828 + dps: 22786.78705 + tps: 30995.51979 } } dps_results: { key: "TestFeral-AllItems-KvaldirBattleStandard-59689" value: { - dps: 22635.34966 - tps: 29955.24828 + dps: 22786.78705 + tps: 30995.51979 } } dps_results: { key: "TestFeral-AllItems-LadyLa-La'sSingingShell-67152" value: { - dps: 22433.07924 - tps: 30643.97888 + dps: 22528.687 + tps: 31427.47046 } } dps_results: { key: "TestFeral-AllItems-LastWord-50708" value: { - dps: 23992.56227 - tps: 32475.84423 + dps: 24016.26631 + tps: 33053.19539 } } dps_results: { key: "TestFeral-AllItems-LeadenDespair-55816" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-LeadenDespair-56347" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-LeftEyeofRajh-56102" value: { - dps: 23761.53831 - tps: 32938.4452 + dps: 23800.96969 + tps: 33199.01304 } } dps_results: { key: "TestFeral-AllItems-LeftEyeofRajh-56427" value: { - dps: 24027.13686 - tps: 33191.41787 + dps: 24023.03038 + tps: 33511.93128 } } dps_results: { key: "TestFeral-AllItems-LicensetoSlay-58180" value: { - dps: 23147.90597 - tps: 32152.77072 + dps: 23166.60182 + tps: 31942.66768 } } dps_results: { key: "TestFeral-AllItems-MagnetiteMirror-55814" value: { - dps: 22956.67773 - tps: 31843.36935 + dps: 23040.95228 + tps: 31995.46169 } } dps_results: { key: "TestFeral-AllItems-MagnetiteMirror-56345" value: { - dps: 23183.87315 - tps: 32358.23741 + dps: 23261.23034 + tps: 32630.9269 } } dps_results: { key: "TestFeral-AllItems-MandalaofStirringPatterns-62467" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-MandalaofStirringPatterns-62472" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-MarkofKhardros-56132" value: { - dps: 23067.54802 - tps: 31086.96012 + dps: 23114.79313 + tps: 31495.1375 } } dps_results: { key: "TestFeral-AllItems-MarkofKhardros-56458" value: { - dps: 23158.11721 - tps: 31204.84503 + dps: 23205.29838 + tps: 31611.95653 } } dps_results: { key: "TestFeral-AllItems-MightoftheOcean-55251" value: { - dps: 22814.1178 - tps: 32315.59245 + dps: 22826.74749 + tps: 31448.5428 } } dps_results: { key: "TestFeral-AllItems-MightoftheOcean-56285" value: { - dps: 23126.45523 - tps: 32002.95258 + dps: 23146.28659 + tps: 31797.62198 } } dps_results: { key: "TestFeral-AllItems-MirrorofBrokenImages-62466" value: { - dps: 22709.10545 - tps: 30694.79694 + dps: 22756.05129 + tps: 31111.68061 } } dps_results: { key: "TestFeral-AllItems-MirrorofBrokenImages-62471" value: { - dps: 22709.10545 - tps: 30694.79694 + dps: 22756.05129 + tps: 31111.68061 } } dps_results: { key: "TestFeral-AllItems-MoonwellChalice-70142" value: { - dps: 22791.04183 - tps: 30803.45253 + dps: 22850.61683 + tps: 31281.31263 } } dps_results: { key: "TestFeral-AllItems-Oremantle'sFavor-61448" value: { - dps: 22803.73948 - tps: 30963.27376 + dps: 22991.2035 + tps: 31777.62729 } } dps_results: { key: "TestFeral-AllItems-PetrifiedTwilightScale-54591" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-PhylacteryoftheNamelessLich-50365" value: { - dps: 22578.23665 - tps: 30460.50884 + dps: 22572.40466 + tps: 31019.01451 } } dps_results: { key: "TestFeral-AllItems-PorcelainCrab-55237" value: { - dps: 22587.07952 - tps: 30473.62905 + dps: 22620.65665 + tps: 30883.21655 } } dps_results: { key: "TestFeral-AllItems-PorcelainCrab-56280" value: { - dps: 22743.5596 - tps: 30704.75652 + dps: 22775.31344 + tps: 31092.43167 } } dps_results: { key: "TestFeral-AllItems-PowerfulShadowspiritDiamond" value: { - dps: 23294.59662 - tps: 31445.49876 + dps: 23296.89391 + tps: 31971.73671 } } dps_results: { key: "TestFeral-AllItems-Prestor'sTalismanofMachination-59441" value: { - dps: 23784.49295 - tps: 31443.98702 + dps: 23920.34741 + tps: 32153.67331 } } dps_results: { key: "TestFeral-AllItems-Prestor'sTalismanofMachination-65026" value: { - dps: 24034.51214 - tps: 32401.96205 + dps: 24110.65302 + tps: 32449.30768 } } dps_results: { key: "TestFeral-AllItems-Rainsong-55854" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-Rainsong-56377" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-ReverberatingShadowspiritDiamond" value: { - dps: 23750.89823 - tps: 32047.35291 + dps: 23752.76838 + tps: 32582.40953 } } dps_results: { key: "TestFeral-AllItems-RevitalizingShadowspiritDiamond" value: { - dps: 23676.70241 - tps: 31947.99291 + dps: 23678.55549 + tps: 32481.54473 } } dps_results: { key: "TestFeral-AllItems-RightEyeofRajh-56100" value: { - dps: 23051.598 - tps: 32010.37484 + dps: 23072.7663 + tps: 31768.77498 } } dps_results: { key: "TestFeral-AllItems-RightEyeofRajh-56431" value: { - dps: 23115.14245 - tps: 32105.54375 + dps: 23144.0532 + tps: 31884.13166 } } dps_results: { key: "TestFeral-AllItems-Schnottz'sMedallionofCommand-65805" value: { - dps: 23431.26578 - tps: 31544.89424 + dps: 23414.47215 + tps: 31995.77678 } } dps_results: { key: "TestFeral-AllItems-SeaStar-55256" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-SeaStar-56290" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-ShardofWoe-60233" value: { - dps: 22719.65495 - tps: 30185.41834 + dps: 22772.33368 + tps: 31118.72162 } } dps_results: { key: "TestFeral-AllItems-Shrine-CleansingPurifier-63838" value: { - dps: 22965.2985 - tps: 31913.88954 + dps: 22979.67075 + tps: 31301.0653 } } dps_results: { key: "TestFeral-AllItems-Sindragosa'sFlawlessFang-50364" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-Skardyn'sGrace-56115" value: { - dps: 23587.46793 - tps: 31781.04844 + dps: 23600.72096 + tps: 32314.22139 } } dps_results: { key: "TestFeral-AllItems-Skardyn'sGrace-56440" value: { - dps: 23738.8409 - tps: 31980.59906 + dps: 23758.76364 + tps: 32520.79445 } } dps_results: { key: "TestFeral-AllItems-Sorrowsong-55879" value: { - dps: 22638.80369 - tps: 30587.29271 + dps: 22685.91055 + tps: 31004.00971 } } dps_results: { key: "TestFeral-AllItems-Sorrowsong-56400" value: { - dps: 22672.42627 - tps: 30638.70778 + dps: 22719.45612 + tps: 31055.50449 } } dps_results: { key: "TestFeral-AllItems-Soul'sAnguish-66994" value: { - dps: 22898.28043 - tps: 31748.19114 + dps: 22919.78668 + tps: 31539.66689 } } dps_results: { key: "TestFeral-AllItems-SoulCasket-58183" value: { - dps: 22709.10545 - tps: 30694.79694 + dps: 22756.05129 + tps: 31111.68061 } } dps_results: { key: "TestFeral-AllItems-Stonemother'sKiss-61411" value: { - dps: 22403.88597 - tps: 30218.4055 + dps: 22461.63233 + tps: 30741.72699 } } dps_results: { key: "TestFeral-AllItems-Stormrider'sBattlegarb" value: { - dps: 22692.37354 - tps: 29234.94239 + dps: 22714.54599 + tps: 29067.27881 } } dps_results: { key: "TestFeral-AllItems-StumpofTime-62465" value: { - dps: 22640.22836 - tps: 31451.2321 + dps: 22658.16314 + tps: 31245.75239 } } dps_results: { key: "TestFeral-AllItems-StumpofTime-62470" value: { - dps: 22640.22836 - tps: 31451.2321 + dps: 22658.16314 + tps: 31245.75239 } } dps_results: { key: "TestFeral-AllItems-SymbioticWorm-59332" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-SymbioticWorm-65048" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-TalismanofSinisterOrder-65804" value: { - dps: 22412.07463 - tps: 30284.2748 + dps: 22453.09431 + tps: 30741.48752 } } dps_results: { key: "TestFeral-AllItems-Tank-CommanderInsignia-63841" value: { - dps: 22946.39012 - tps: 31580.76547 + dps: 22998.45288 + tps: 31277.1556 } } dps_results: { key: "TestFeral-AllItems-TearofBlood-55819" value: { - dps: 22389.94613 - tps: 30247.24215 + dps: 22429.12282 + tps: 30701.24882 } } dps_results: { key: "TestFeral-AllItems-TearofBlood-56351" value: { - dps: 22389.94613 - tps: 30247.16062 + dps: 22429.12282 + tps: 30701.17042 } } dps_results: { key: "TestFeral-AllItems-TendrilsofBurrowingDark-55810" value: { - dps: 22601.10565 - tps: 30529.64552 + dps: 22648.29885 + tps: 30946.27315 } } dps_results: { key: "TestFeral-AllItems-TendrilsofBurrowingDark-56339" value: { - dps: 22672.42627 - tps: 30638.70778 + dps: 22719.45612 + tps: 31055.50449 } } dps_results: { key: "TestFeral-AllItems-Theralion'sMirror-59519" value: { - dps: 22422.24521 - tps: 30291.75012 + dps: 22454.70204 + tps: 30740.61922 } } dps_results: { key: "TestFeral-AllItems-Theralion'sMirror-65105" value: { - dps: 22444.54298 - tps: 30347.43707 + dps: 22474.60755 + tps: 30780.13051 } } dps_results: { key: "TestFeral-AllItems-Throngus'sFinger-56121" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-Throngus'sFinger-56449" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-Tia'sGrace-55874" value: { - dps: 23688.50131 - tps: 32010.58936 + dps: 23697.79216 + tps: 32536.50512 } } dps_results: { key: "TestFeral-AllItems-TinyAbominationinaJar-50706" value: { - dps: 22699.21037 - tps: 31462.49622 + dps: 22672.47017 + tps: 31651.10234 } } dps_results: { key: "TestFeral-AllItems-Tyrande'sFavoriteDoll-64645" value: { - dps: 22364.95208 - tps: 30416.81776 + dps: 22407.50979 + tps: 30840.73395 } } dps_results: { key: "TestFeral-AllItems-UnquenchableFlame-67101" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-UnsolvableRiddle-62468" value: { - dps: 23987.16182 - tps: 32449.09403 + dps: 24198.57985 + tps: 33348.13288 } } dps_results: { key: "TestFeral-AllItems-UnsolvableRiddle-68709" value: { - dps: 23987.16182 - tps: 32449.09403 + dps: 24198.57985 + tps: 33348.13288 } } dps_results: { key: "TestFeral-AllItems-Val'anyr,HammerofAncientKings-46017" value: { - dps: 20351.75397 - tps: 28723.56812 + dps: 20313.28365 + tps: 28411.76391 } } dps_results: { key: "TestFeral-AllItems-VialofStolenMemories-59515" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-VialofStolenMemories-65109" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofConquest-61033" value: { - dps: 23640.81892 - tps: 31919.46353 + dps: 23851.01491 + tps: 32807.13942 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofDominance-61035" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofVictory-61034" value: { - dps: 22880.85738 - tps: 30785.77105 + dps: 22940.83187 + tps: 31231.27298 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofAccuracy-61027" value: { - dps: 22641.13881 - tps: 31456.31101 + dps: 22659.13144 + tps: 31251.12053 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofAlacrity-61028" value: { - dps: 22715.71314 - tps: 31397.18946 + dps: 22731.95839 + tps: 30853.74565 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofCruelty-61026" value: { - dps: 22722.18581 - tps: 31073.86573 + dps: 22756.56721 + tps: 31724.99436 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofProficiency-61030" value: { - dps: 22767.99759 - tps: 31872.83713 + dps: 22889.63651 + tps: 31822.77187 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofProwess-61029" value: { - dps: 22728.4639 - tps: 30724.39955 + dps: 22775.3654 + tps: 31141.32912 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofTenacity-61032" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofConquest-61047" value: { - dps: 23579.80169 - tps: 31763.47706 + dps: 23701.20092 + tps: 32323.56257 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofDominance-61045" value: { - dps: 22382.04946 - tps: 30194.6686 + dps: 22429.74438 + tps: 30610.77687 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofVictory-61046" value: { - dps: 22860.00395 - tps: 30766.87512 + dps: 22913.60481 + tps: 31199.3093 } } dps_results: { key: "TestFeral-AllItems-WitchingHourglass-55787" value: { - dps: 22395.39905 - tps: 30474.59955 + dps: 22389.39861 + tps: 30311.99795 } } dps_results: { key: "TestFeral-AllItems-WitchingHourglass-56320" value: { - dps: 22426.90522 - tps: 30340.9289 + dps: 22437.36471 + tps: 30645.50577 } } dps_results: { key: "TestFeral-AllItems-World-QuellerFocus-63842" value: { - dps: 22605.18112 - tps: 30535.87765 + dps: 22652.36498 + tps: 30952.51494 } } dps_results: { key: "TestFeral-AllItems-Za'brox'sLuckyTooth-63742" value: { - dps: 22678.96536 - tps: 30570.57278 + dps: 22725.62892 + tps: 30975.12359 } } dps_results: { key: "TestFeral-AllItems-Za'brox'sLuckyTooth-63745" value: { - dps: 22678.96536 - tps: 30570.57278 + dps: 22725.62892 + tps: 30975.12359 } } dps_results: { key: "TestFeral-Average-Default" value: { - dps: 24013.94844 - tps: 32864.40391 + dps: 24085.25662 + tps: 32821.95746 } } dps_results: { @@ -1349,85 +1349,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 32329.02778 - tps: 50221.40229 + dps: 32129.14874 + tps: 47868.18852 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 28287.42466 - tps: 36431.74204 + dps: 28342.95394 + tps: 37165.99064 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 35321.22465 - tps: 33231.47714 + dps: 35423.15822 + tps: 33403.80071 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 32219.02322 - tps: 49646.20477 + dps: 32301.01432 + tps: 48896.25568 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 28137.47935 - tps: 35852.31108 + dps: 28199.58452 + tps: 36706.75262 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 34787.51322 - tps: 31660.8462 + dps: 34877.06112 + tps: 31963.25457 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 21865.32073 - tps: 34500.18032 + dps: 21990.85427 + tps: 35057.75762 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 18676.99409 - tps: 24826.20691 + dps: 18732.56778 + tps: 25080.67308 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 20402.37659 - tps: 22492.47033 + dps: 20482.57365 + tps: 22465.66976 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 21709.724 - tps: 34065.06187 + dps: 21967.65987 + tps: 35729.91786 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 18573.33089 - tps: 24783.5294 + dps: 18607.03118 + tps: 25538.19753 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 20253.40894 - tps: 21906.41023 + dps: 20240.60024 + tps: 21643.05162 } } dps_results: { @@ -1517,85 +1517,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 31842.57093 - tps: 49679.53443 + dps: 31820.41704 + tps: 50250.16163 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 27465.39656 - tps: 34905.87154 + dps: 27562.79602 + tps: 35689.37234 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 34269.62854 - tps: 32463.48251 + dps: 34352.84503 + tps: 32374.9235 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 31232.87767 - tps: 46590.54756 + dps: 31722.54696 + tps: 49326.98278 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 27391.90773 - tps: 34883.4826 + dps: 27577.33435 + tps: 34829.80103 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 34012.54254 - tps: 31958.60796 + dps: 34079.13354 + tps: 32189.12821 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 21512.45697 - tps: 34364.60413 + dps: 21469.49464 + tps: 34491.63198 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 18088.33301 - tps: 23777.71445 + dps: 18160.64133 + tps: 24176.11034 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 19715.13206 - tps: 20435.66575 + dps: 19729.23833 + tps: 20355.74376 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 21653.84752 - tps: 35388.07557 + dps: 21528.65992 + tps: 35379.38706 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 18051.78244 - tps: 24218.22267 + dps: 18111.56799 + tps: 24336.53809 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 19688.09655 - tps: 20881.54938 + dps: 19750.56348 + tps: 21278.07134 } } dps_results: { @@ -1685,85 +1685,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 28208.47081 - tps: 47534.64171 + dps: 28280.29202 + tps: 46975.35926 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 23836.09648 - tps: 32264.65117 + dps: 23859.52359 + tps: 32838.61766 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 29358.16239 - tps: 28262.63712 + dps: 29421.04714 + tps: 28937.78649 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 27959.90871 - tps: 45647.91842 + dps: 27820.8957 + tps: 45828.80084 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 23691.95098 - tps: 32691.98011 + dps: 23764.35945 + tps: 32127.13486 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 28767.52804 - tps: 27956.41919 + dps: 28795.623 + tps: 27885.57748 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 18958.53153 - tps: 32956.41871 + dps: 18734.3911 + tps: 32686.57128 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 15358.40471 - tps: 22555.60963 + dps: 15530.99432 + tps: 23161.53321 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 16770.14551 - tps: 20314.43014 + dps: 16829.01838 + tps: 20396.97902 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 18802.5242 - tps: 33208.68242 + dps: 19106.83596 + tps: 33531.43018 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 15403.26727 - tps: 22904.74989 + dps: 15422.97301 + tps: 22785.26952 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 16575.47739 - tps: 20278.97007 + dps: 16655.95269 + tps: 20479.14966 } } dps_results: { @@ -1853,91 +1853,91 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 27644.52155 - tps: 46273.83935 + dps: 27833.95702 + tps: 46864.4267 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 23303.73007 - tps: 31779.72841 + dps: 23286.73462 + tps: 32312.20496 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 28781.5136 - tps: 27109.65141 + dps: 28820.24028 + tps: 27008.52319 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 27370.72136 - tps: 45541.4629 + dps: 27605.53987 + tps: 45293.50964 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 23108.90016 - tps: 31409.01873 + dps: 23184.20694 + tps: 31403.5052 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 28221.61857 - tps: 27113.4912 + dps: 28247.17582 + tps: 27230.47376 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 18364.22114 - tps: 31939.68303 + dps: 18308.22729 + tps: 31514.63167 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 14999.30878 - tps: 22055.66238 + dps: 15042.37606 + tps: 21834.17988 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 16062.46112 - tps: 18689.44309 + dps: 16160.0885 + tps: 19186.26215 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 18013.14911 - tps: 30461.78281 + dps: 18138.15927 + tps: 30430.76416 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 14990.11561 - tps: 22044.28085 + dps: 15006.54433 + tps: 21958.45722 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 16092.40186 - tps: 20138.33278 + dps: 16190.77083 + tps: 19925.10274 } } dps_results: { key: "TestFeral-SwitchInFrontOfTarget-Default" value: { - dps: 20373.21234 - tps: 27979.44299 + dps: 20599.19791 + tps: 28628.45412 } } diff --git a/sim/druid/feral/apl_values.go b/sim/druid/feral/apl_values.go index 265bfa68f1..8a35903d61 100644 --- a/sim/druid/feral/apl_values.go +++ b/sim/druid/feral/apl_values.go @@ -120,6 +120,7 @@ func (cat *FeralDruid) newActionCatOptimalRotationAction(_ *core.APLRotation, co AllowAoeBerserk: config.AllowAoeBerserk, MeleeWeave: config.MeleeWeave, BearWeave: config.BearWeave, + SnekWeave: config.SnekWeave, } cat.setupRotation(rotationOptions) diff --git a/sim/druid/feral/rotation.go b/sim/druid/feral/rotation.go index 003e503ffa..a35ca8d01e 100644 --- a/sim/druid/feral/rotation.go +++ b/sim/druid/feral/rotation.go @@ -730,7 +730,7 @@ func (cat *FeralDruid) setupRotation(rotation *proto.FeralDruid_Rotation) { MangleSpam: rotation.MangleSpam, MinRoarOffset: time.Duration(float64(rotation.MinRoarOffset) * float64(time.Second)), RipLeeway: time.Duration(float64(rotation.RipLeeway) * float64(time.Second)), - SnekWeave: false, + SnekWeave: rotation.SnekWeave, RakeDpeCheck: true, UseBerserk: cat.Talents.Berserk && ((rotation.RotationType == proto.FeralDruid_Rotation_SingleTarget) || rotation.AllowAoeBerserk), MeleeWeave: rotation.MeleeWeave && (cat.Talents.Stampede > 0), diff --git a/ui/core/components/individual_sim_ui/apl_actions.ts b/ui/core/components/individual_sim_ui/apl_actions.ts index b22ffe051f..b82ee872bf 100644 --- a/ui/core/components/individual_sim_ui/apl_actions.ts +++ b/ui/core/components/individual_sim_ui/apl_actions.ts @@ -628,6 +628,7 @@ const actionKindFactories: { [f in NonNullable]: ActionKindConfig allowAoeBerserk: false, meleeWeave: true, bearWeave: true, + snekWeave: true, }), fields: [ AplHelpers.rotationTypeFieldConfig('rotationType'), @@ -640,6 +641,9 @@ const actionKindFactories: { [f in NonNullable]: ActionKindConfig AplHelpers.booleanFieldConfig('bearWeave', 'Enable bear-weaving', { labelTooltip: 'Weave into Bear Form while pooling Energy. Ignored for AoE rotation.', }), + AplHelpers.booleanFieldConfig('snekWeave', 'Use Albino Snake', { + labelTooltip: 'Reset swing timer at the end of bear-weaves using Albino Snake pet. Ignored if not bear-weaving.', + }), AplHelpers.booleanFieldConfig('allowAoeBerserk', 'Allow AoE Berserk', { labelTooltip: 'Allow Berserk usage in AoE rotation. Ignored for single target rotation.', }), diff --git a/ui/druid/feral/apls/default.apl.json b/ui/druid/feral/apls/default.apl.json index 0f9286f3c7..5e2870f2ba 100644 --- a/ui/druid/feral/apls/default.apl.json +++ b/ui/druid/feral/apls/default.apl.json @@ -3,6 +3,6 @@ "priorityList": [ {"action":{"autocastOtherCooldowns":{}}}, {"action":{"condition":{"const":{"val":"false"}},"castSpell":{"spellId":{"spellId":50334}}}}, - {"action":{"catOptimalRotationAction":{"manualParams":false,"maintainFaerieFire":true,"meleeWeave":true,"bearWeave":true}}} + {"action":{"catOptimalRotationAction":{"manualParams":false,"maintainFaerieFire":true,"meleeWeave":true,"bearWeave":true,"snekWeave":true}}} ] } diff --git a/ui/druid/feral/inputs.ts b/ui/druid/feral/inputs.ts index 946d54ff86..64bc28689a 100644 --- a/ui/druid/feral/inputs.ts +++ b/ui/druid/feral/inputs.ts @@ -55,6 +55,13 @@ export const FeralDruidRotationConfig = { showWhen: (player: Player) => player.getSimpleRotation().rotationType == AplType.SingleTarget, }), + InputHelpers.makeRotationBooleanInput({ + fieldName: 'snekWeave', + label: 'Use Albino Snake', + labelTooltip: 'Reset swing timer at the end of bear-weaves using Albino Snake pet', + showWhen: (player: Player) => + player.getSimpleRotation().bearWeave, + }), InputHelpers.makeRotationBooleanInput({ fieldName: 'allowAoeBerserk', label: 'Allow AoE Berserk', diff --git a/ui/druid/feral/presets.ts b/ui/druid/feral/presets.ts index b67b77d674..810dd17268 100644 --- a/ui/druid/feral/presets.ts +++ b/ui/druid/feral/presets.ts @@ -44,7 +44,7 @@ export const DefaultRotation = FeralDruidRotation.create({ minRoarOffset: 29.0, ripLeeway: 1.0, maintainFaerieFire: true, - snekWeave: false, + snekWeave: true, manualParams: false, biteDuringExecute: true, allowAoeBerserk: false, diff --git a/ui/druid/feral/sim.ts b/ui/druid/feral/sim.ts index 6533621418..9c39468569 100644 --- a/ui/druid/feral/sim.ts +++ b/ui/druid/feral/sim.ts @@ -129,7 +129,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecFeralDruid, { const [prepullActions, actions] = AplUtils.standardCooldownDefaults(cooldowns); const blockZerk = APLAction.fromJsonString(`{"condition":{"const":{"val":"false"}},"castSpell":{"spellId":{"spellId":50334}}}`); - const doRotation = APLAction.fromJsonString(`{"catOptimalRotationAction":{"rotationType":${simple.rotationType},"manualParams":${simple.manualParams},"maintainFaerieFire":${simple.maintainFaerieFire},"allowAoeBerserk":${simple.allowAoeBerserk},"meleeWeave":${simple.meleeWeave},"bearWeave":${simple.bearWeave},"minRoarOffset":${simple.minRoarOffset.toFixed(2)},"ripLeeway":${simple.ripLeeway.toFixed(0)},"useRake":${simple.useRake},"useBite":${simple.useBite},"biteDuringExecute":${simple.biteDuringExecute},"biteTime":${simple.biteTime.toFixed(2)}}}`); + const doRotation = APLAction.fromJsonString(`{"catOptimalRotationAction":{"rotationType":${simple.rotationType},"manualParams":${simple.manualParams},"maintainFaerieFire":${simple.maintainFaerieFire},"allowAoeBerserk":${simple.allowAoeBerserk},"meleeWeave":${simple.meleeWeave},"bearWeave":${simple.bearWeave},"snekWeave":${simple.snekWeave},"minRoarOffset":${simple.minRoarOffset.toFixed(2)},"ripLeeway":${simple.ripLeeway.toFixed(0)},"useRake":${simple.useRake},"useBite":${simple.useBite},"biteDuringExecute":${simple.biteDuringExecute},"biteTime":${simple.biteTime.toFixed(2)}}}`); actions.push(...([blockZerk, doRotation].filter(a => a) as Array)); From f758187e6cf5106b92917af24320aee1b8cf8a80 Mon Sep 17 00:00:00 2001 From: NerdEgghead Date: Thu, 9 May 2024 17:54:58 -0700 Subject: [PATCH 4/6] Ignore 4pT11 set bonus when bear-weaving On branch feral Changes to be committed: modified: sim/druid/feral/TestFeral.results modified: sim/druid/feral/rotation.go --- sim/druid/feral/TestFeral.results | 100 +++++++++++++++--------------- sim/druid/feral/rotation.go | 2 +- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/sim/druid/feral/TestFeral.results b/sim/druid/feral/TestFeral.results index f7f4739271..956ef8355a 100644 --- a/sim/druid/feral/TestFeral.results +++ b/sim/druid/feral/TestFeral.results @@ -971,8 +971,8 @@ dps_results: { dps_results: { key: "TestFeral-AllItems-Stormrider'sBattlegarb" value: { - dps: 22714.54599 - tps: 29067.27881 + dps: 23111.30851 + tps: 31709.32456 } } dps_results: { @@ -1349,85 +1349,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 32129.14874 - tps: 47868.18852 + dps: 33337.42769 + tps: 54656.86455 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 28342.95394 - tps: 37165.99064 + dps: 28743.46932 + tps: 39598.69069 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 35423.15822 - tps: 33403.80071 + dps: 35370.97694 + tps: 35388.81057 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 32301.01432 - tps: 48896.25568 + dps: 33373.52454 + tps: 54759.08614 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 28199.58452 - tps: 36706.75262 + dps: 28576.933 + tps: 38074.00826 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 34877.06112 - tps: 31963.25457 + dps: 35111.89211 + tps: 34038.12707 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 21990.85427 - tps: 35057.75762 + dps: 22888.84775 + tps: 39587.27628 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 18732.56778 - tps: 25080.67308 + dps: 19094.37706 + tps: 27544.73452 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 20482.57365 - tps: 22465.66976 + dps: 20841.66384 + tps: 23358.44273 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 21967.65987 - tps: 35729.91786 + dps: 22592.36345 + tps: 38304.28739 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 18607.03118 - tps: 25538.19753 + dps: 18906.58406 + tps: 27459.08055 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 20240.60024 - tps: 21643.05162 + dps: 20651.08681 + tps: 26261.53911 } } dps_results: { @@ -1517,85 +1517,85 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 31820.41704 - tps: 50250.16163 + dps: 32762.4226 + tps: 54746.41896 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 27562.79602 - tps: 35689.37234 + dps: 27935.71997 + tps: 37856.45595 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 34352.84503 - tps: 32374.9235 + dps: 34761.43437 + tps: 33705.34393 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" value: { - dps: 31722.54696 - tps: 49326.98278 + dps: 32558.42044 + tps: 53203.20592 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" value: { - dps: 27577.33435 - tps: 34829.80103 + dps: 27943.23357 + tps: 38123.15507 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" value: { - dps: 34079.13354 - tps: 32189.12821 + dps: 34358.58218 + tps: 32799.31621 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 21469.49464 - tps: 34491.63198 + dps: 22301.80502 + tps: 38486.11402 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 18160.64133 - tps: 24176.11034 + dps: 18514.81981 + tps: 26494.78332 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 19729.23833 - tps: 20355.74376 + dps: 19885.96039 + tps: 23517.37495 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" value: { - dps: 21528.65992 - tps: 35379.38706 + dps: 22045.36975 + tps: 37392.48705 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" value: { - dps: 18111.56799 - tps: 24336.53809 + dps: 18395.93936 + tps: 26252.2309 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" value: { - dps: 19750.56348 - tps: 21278.07134 + dps: 19974.18368 + tps: 24728.00155 } } dps_results: { diff --git a/sim/druid/feral/rotation.go b/sim/druid/feral/rotation.go index a35ca8d01e..6e0446b673 100644 --- a/sim/druid/feral/rotation.go +++ b/sim/druid/feral/rotation.go @@ -480,7 +480,7 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { // Clip Mangle if it won't change the total number of Mangles we have to // cast before the fight ends. - t11BuildNow := (cat.StrengthOfThePantherAura != nil) && (cat.StrengthOfThePantherAura.GetStacks() < 3) + t11BuildNow := (cat.StrengthOfThePantherAura != nil) && (cat.StrengthOfThePantherAura.GetStacks() < 3) && !rotation.BearWeave t11RefreshNow := t11Active && (cat.StrengthOfThePantherAura.RemainingDuration(sim) < time.Second+cat.ReactionTime) && (simTimeRemain > time.Second) t11RefreshNext := t11Active && (cat.StrengthOfThePantherAura.RemainingDuration(sim) < time.Second*2+cat.ReactionTime) && (simTimeRemain > time.Second*2) mangleRefreshNow := !cat.bleedAura.IsActive() && (simTimeRemain > time.Second) From f9e32f30dc2032fb880715d1535c18e721edd812 Mon Sep 17 00:00:00 2001 From: NerdEgghead Date: Thu, 9 May 2024 18:01:12 -0700 Subject: [PATCH 5/6] Added mono-cat APL to unit tests, and removed 5-yard test to keep total test count reasonable. On branch feral Changes to be committed: modified: sim/druid/feral/TestFeral.results modified: sim/druid/feral/feral_test.go new file: ui/druid/feral/apls/monocat.apl.json --- sim/druid/feral/TestFeral.results | 384 ++++++++------------------- sim/druid/feral/feral_test.go | 2 +- ui/druid/feral/apls/monocat.apl.json | 8 + 3 files changed, 117 insertions(+), 277 deletions(-) create mode 100644 ui/druid/feral/apls/monocat.apl.json diff --git a/sim/druid/feral/TestFeral.results b/sim/druid/feral/TestFeral.results index 956ef8355a..ae5b51beed 100644 --- a/sim/druid/feral/TestFeral.results +++ b/sim/druid/feral/TestFeral.results @@ -1283,27 +1283,6 @@ dps_results: { tps: 13377.41332 } } -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongMultiTarget" - value: { - dps: 57916.43002 - tps: 41150.43041 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongSingleTarget" - value: { - dps: 16339.73436 - tps: 11602.55756 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-aoe-FullBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 18748.03791 - tps: 13317.83771 - } -} dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-aoe-NoBuffs-25.0yards-LongMultiTarget" value: { @@ -1325,27 +1304,6 @@ dps_results: { tps: 7495.92261 } } -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongMultiTarget" - value: { - dps: 38888.19446 - tps: 27641.43018 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongSingleTarget" - value: { - dps: 10572.30027 - tps: 7508.72637 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-aoe-NoBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 10559.50023 - tps: 7504.72383 - } -} dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { @@ -1367,27 +1325,6 @@ dps_results: { tps: 35388.81057 } } -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" - value: { - dps: 33373.52454 - tps: 54759.08614 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" - value: { - dps: 28576.933 - tps: 38074.00826 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 35111.89211 - tps: 34038.12707 - } -} dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { @@ -1410,66 +1347,66 @@ dps_results: { } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 22592.36345 - tps: 38304.28739 + dps: 27983.32621 + tps: 19897.62756 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 18906.58406 - tps: 27459.08055 + dps: 28309.37772 + tps: 20099.65818 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-monocat-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 20651.08681 - tps: 26261.53911 + dps: 35160.64342 + tps: 24964.05683 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 56238.00027 - tps: 39958.52093 + dps: 18323.75578 + tps: 13040.75349 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 16225.96795 - tps: 11520.43724 + dps: 18565.89872 + tps: 13184.33084 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-monocat-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 18760.25866 - tps: 13319.78365 + dps: 20419.1596 + tps: 14505.08198 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 56220.07066 - tps: 39946.01527 + dps: 56238.00027 + tps: 39958.52093 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 16087.68838 - tps: 11423.60491 + dps: 16225.96795 + tps: 11520.43724 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 18684.34031 - tps: 13272.61242 + dps: 18760.25866 + tps: 13319.78365 } } dps_results: { @@ -1493,27 +1430,6 @@ dps_results: { tps: 7461.19065 } } -dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongMultiTarget" - value: { - dps: 37689.23252 - tps: 26790.46634 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongSingleTarget" - value: { - dps: 10426.12103 - tps: 7404.93911 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-aoe-NoBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 10523.84633 - tps: 7479.40956 - } -} dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { @@ -1535,27 +1451,6 @@ dps_results: { tps: 33705.34393 } } -dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" - value: { - dps: 32558.42044 - tps: 53203.20592 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" - value: { - dps: 27943.23357 - tps: 38123.15507 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 34358.58218 - tps: 32799.31621 - } -} dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { @@ -1578,66 +1473,66 @@ dps_results: { } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 22045.36975 - tps: 37392.48705 + dps: 27168.25121 + tps: 19318.77473 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 18395.93936 - tps: 26252.2309 + dps: 27583.18125 + tps: 19584.05869 } } dps_results: { - key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-monocat-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 19974.18368 - tps: 24728.00155 + dps: 34289.35719 + tps: 24345.44361 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 45564.49539 - tps: 32380.33246 + dps: 17885.41718 + tps: 12729.4583 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 13118.94218 - tps: 9314.44895 + dps: 18060.04014 + tps: 12825.09646 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-25.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-monocat-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 15077.33256 - tps: 10704.90612 + dps: 19793.71466 + tps: 14061.01608 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 45479.18845 - tps: 32319.91411 + dps: 45564.49539 + tps: 32380.33246 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 13068.72398 - tps: 9280.0654 + dps: 13118.94218 + tps: 9314.44895 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 14984.35301 - tps: 10645.2475 + dps: 15077.33256 + tps: 10704.90612 } } dps_results: { @@ -1661,27 +1556,6 @@ dps_results: { tps: 5746.82932 } } -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongMultiTarget" - value: { - dps: 29998.57568 - tps: 21329.95041 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongSingleTarget" - value: { - dps: 8204.23261 - tps: 5827.24875 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-aoe-NoBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 8118.4119 - tps: 5771.55111 - } -} dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { @@ -1703,27 +1577,6 @@ dps_results: { tps: 28937.78649 } } -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" - value: { - dps: 27820.8957 - tps: 45828.80084 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" - value: { - dps: 23764.35945 - tps: 32127.13486 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 28795.623 - tps: 27885.57748 - } -} dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { @@ -1746,66 +1599,66 @@ dps_results: { } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 19106.83596 - tps: 33531.43018 + dps: 23012.50781 + tps: 16368.27171 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 15422.97301 - tps: 22785.26952 + dps: 23483.65791 + tps: 16673.39712 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-monocat-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 16655.95269 - tps: 20479.14966 + dps: 29192.37858 + tps: 20726.58879 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 44349.56799 - tps: 31516.83657 + dps: 14905.05259 + tps: 10613.39945 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 13035.54853 - tps: 9255.23946 + dps: 15017.79649 + tps: 10665.02868 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-monocat-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 14935.82735 - tps: 10604.43742 + dps: 16383.55732 + tps: 11639.80437 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 44427.87423 - tps: 31573.48101 + dps: 44349.56799 + tps: 31516.83657 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 13024.26251 - tps: 9248.49775 + dps: 13035.54853 + tps: 9255.23946 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 14770.09108 - tps: 10493.12154 + dps: 14935.82735 + tps: 10604.43742 } } dps_results: { @@ -1829,27 +1682,6 @@ dps_results: { tps: 5654.21825 } } -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongMultiTarget" - value: { - dps: 29140.29752 - tps: 20720.19899 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-NoBuffs-5.0yards-LongSingleTarget" - value: { - dps: 8176.29038 - tps: 5807.70892 - } -} -dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-aoe-NoBuffs-5.0yards-ShortSingleTarget" - value: { - dps: 8066.60737 - tps: 5734.7699 - } -} dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { @@ -1872,66 +1704,66 @@ dps_results: { } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 27605.53987 - tps: 45293.50964 + dps: 18308.22729 + tps: 31514.63167 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 23184.20694 - tps: 31403.5052 + dps: 15042.37606 + tps: 21834.17988 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 28247.17582 - tps: 27230.47376 + dps: 16160.0885 + tps: 19186.26215 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 18308.22729 - tps: 31514.63167 + dps: 22461.4378 + tps: 15977.012 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-monocat-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 15042.37606 - tps: 21834.17988 + dps: 22742.75049 + tps: 16147.35285 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-monocat-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 16160.0885 - tps: 19186.26215 + dps: 28577.42123 + tps: 20289.96907 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongMultiTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 18138.15927 - tps: 30430.76416 + dps: 14413.8859 + tps: 10264.59631 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-LongSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-monocat-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 15006.54433 - tps: 21958.45722 + dps: 14551.16378 + tps: 10333.86903 } } dps_results: { - key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-5.0yards-ShortSingleTarget" + key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-monocat-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 16190.77083 - tps: 19925.10274 + dps: 15784.57296 + tps: 11214.52547 } } dps_results: { diff --git a/sim/druid/feral/feral_test.go b/sim/druid/feral/feral_test.go index 2a8e8fec7c..d7ce2375eb 100644 --- a/sim/druid/feral/feral_test.go +++ b/sim/druid/feral/feral_test.go @@ -42,10 +42,10 @@ func TestFeral(t *testing.T) { SpecOptions: core.SpecOptionsCombo{Label: "ExternalBleed", SpecOptions: PlayerOptionsMonoCat}, Rotation: core.GetAplRotation("../../../ui/druid/feral/apls", "default"), OtherRotations: []core.RotationCombo{ + core.GetAplRotation("../../../ui/druid/feral/apls", "monocat"), core.GetAplRotation("../../../ui/druid/feral/apls", "aoe"), }, StartingDistance: 25, - OtherStartingDistances: []float64{core.MaxMeleeRange}, ItemFilter: FeralItemFilter, })) } diff --git a/ui/druid/feral/apls/monocat.apl.json b/ui/druid/feral/apls/monocat.apl.json new file mode 100644 index 0000000000..f47516a138 --- /dev/null +++ b/ui/druid/feral/apls/monocat.apl.json @@ -0,0 +1,8 @@ +{ + "type": "TypeAPL", + "priorityList": [ + {"action":{"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"const":{"val":"false"}},"castSpell":{"spellId":{"spellId":50334}}}}, + {"action":{"catOptimalRotationAction":{"manualParams":false,"maintainFaerieFire":true,"meleeWeave":true,"bearWeave":false,"snekWeave":false}}} + ] +} From 8ff30cc9ccd97a30d9f3b05fcc6b7f6d4b2cb794 Mon Sep 17 00:00:00 2001 From: NerdEgghead Date: Thu, 9 May 2024 18:21:29 -0700 Subject: [PATCH 6/6] Allow bear-weaves while pooling for Bite On branch feral Changes to be committed: modified: sim/druid/feral/TestFeral.results modified: sim/druid/feral/rotation.go --- sim/druid/feral/TestFeral.results | 788 +++++++++++++++--------------- sim/druid/feral/rotation.go | 2 +- 2 files changed, 395 insertions(+), 395 deletions(-) diff --git a/sim/druid/feral/TestFeral.results b/sim/druid/feral/TestFeral.results index ae5b51beed..4158406ae0 100644 --- a/sim/druid/feral/TestFeral.results +++ b/sim/druid/feral/TestFeral.results @@ -39,1227 +39,1227 @@ character_stats_results: { dps_results: { key: "TestFeral-AllItems-AgileShadowspiritDiamond" value: { - dps: 23859.52359 - tps: 32838.61766 + dps: 23909.35358 + tps: 32964.90238 } } dps_results: { key: "TestFeral-AllItems-Althor'sAbacus-50366" value: { - dps: 22428.0989 - tps: 30696.16907 + dps: 22437.64845 + tps: 30850.94997 } } dps_results: { key: "TestFeral-AllItems-Anhuur'sHymnal-55889" value: { - dps: 22657.25269 - tps: 31240.67348 + dps: 22725.98151 + tps: 31393.95335 } } dps_results: { key: "TestFeral-AllItems-Anhuur'sHymnal-56407" value: { - dps: 22657.25269 - tps: 31240.67348 + dps: 22725.98151 + tps: 31393.95335 } } dps_results: { key: "TestFeral-AllItems-AustereShadowspiritDiamond" value: { - dps: 23296.89391 - tps: 31971.73671 + dps: 23320.24924 + tps: 32057.20799 } } dps_results: { key: "TestFeral-AllItems-BaubleofTrueBlood-50726" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 hps: 84.91645 } } dps_results: { key: "TestFeral-AllItems-BedrockTalisman-58182" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-BellofEnragingResonance-59326" value: { - dps: 22739.83829 - tps: 31705.2259 + dps: 22789.96143 + tps: 31634.90947 } } dps_results: { key: "TestFeral-AllItems-BellofEnragingResonance-65053" value: { - dps: 22773.33232 - tps: 31672.23493 + dps: 22822.9962 + tps: 31620.77356 } } dps_results: { key: "TestFeral-AllItems-BindingPromise-67037" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-Blood-SoakedAleMug-63843" value: { - dps: 23677.66366 - tps: 32230.35806 + dps: 23670.85217 + tps: 32205.88275 } } dps_results: { key: "TestFeral-AllItems-BloodofIsiset-55995" value: { - dps: 22685.91055 - tps: 31004.00971 + dps: 22696.10317 + tps: 31162.08498 } } dps_results: { key: "TestFeral-AllItems-BloodofIsiset-56414" value: { - dps: 22719.45612 - tps: 31055.50449 + dps: 22729.73295 + tps: 31214.01073 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofConquest-64687" value: { - dps: 24090.38932 - tps: 32532.87575 + dps: 24105.10924 + tps: 32750.01979 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofDominance-64688" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sBadgeofVictory-64689" value: { - dps: 22913.76494 - tps: 31198.41182 + dps: 22923.30898 + tps: 31356.80471 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofCruelty-64740" value: { - dps: 22721.39478 - tps: 31676.75585 + dps: 22764.03357 + tps: 31626.32543 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofMeditation-64741" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sEmblemofTenacity-64742" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofConquest-64761" value: { - dps: 23612.50746 - tps: 32023.63163 + dps: 23629.55268 + tps: 32298.78953 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofDominance-64762" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-BloodthirstyGladiator'sInsigniaofVictory-64763" value: { - dps: 22863.20008 - tps: 31148.79617 + dps: 22871.90946 + tps: 31305.47091 } } dps_results: { key: "TestFeral-AllItems-BottledLightning-66879" value: { - dps: 22572.35035 - tps: 30988.49041 + dps: 22568.01838 + tps: 30866.42843 } } dps_results: { key: "TestFeral-AllItems-BracingShadowspiritDiamond" value: { - dps: 23294.09016 - tps: 31420.54734 + dps: 23317.44548 + tps: 31504.31575 } } dps_results: { key: "TestFeral-AllItems-BurningShadowspiritDiamond" value: { - dps: 23675.46531 - tps: 32572.0479 + dps: 23699.13013 + tps: 32658.12106 } } dps_results: { key: "TestFeral-AllItems-ChaoticShadowspiritDiamond" value: { - dps: 23723.05858 - tps: 32761.54915 + dps: 23771.92227 + tps: 32883.83255 } } dps_results: { key: "TestFeral-AllItems-CoreofRipeness-58184" value: { - dps: 22429.12282 - tps: 30701.1301 + dps: 22438.67237 + tps: 30855.90814 } } dps_results: { key: "TestFeral-AllItems-CorpseTongueCoin-50349" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-CrushingWeight-59506" value: { - dps: 23232.12827 - tps: 31004.22669 + dps: 23266.42148 + tps: 31030.27144 } } dps_results: { key: "TestFeral-AllItems-CrushingWeight-65118" value: { - dps: 23371.94958 - tps: 30795.22835 + dps: 23281.92379 + tps: 30985.09947 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Earthquake-62048" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Hurricane-62049" value: { - dps: 23189.20463 - tps: 32939.29874 + dps: 23220.17138 + tps: 33344.68282 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Hurricane-62051" value: { - dps: 23794.26804 - tps: 33766.18799 + dps: 23812.7703 + tps: 34103.47008 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Tsunami-62050" value: { - dps: 22429.12282 - tps: 30701.1301 + dps: 22438.67237 + tps: 30855.90814 } } dps_results: { key: "TestFeral-AllItems-DarkmoonCard:Volcano-62047" value: { - dps: 22779.65793 - tps: 31334.24573 + dps: 22790.02664 + tps: 31493.66795 } } dps_results: { key: "TestFeral-AllItems-Deathbringer'sWill-50363" value: { - dps: 23051.69687 - tps: 31317.5032 + dps: 23108.22492 + tps: 31646.78332 } } dps_results: { key: "TestFeral-AllItems-DestructiveShadowspiritDiamond" value: { - dps: 23338.05494 - tps: 32244.98767 + dps: 23385.72728 + tps: 32366.84337 } } dps_results: { key: "TestFeral-AllItems-DislodgedForeignObject-50348" value: { - dps: 22603.1976 - tps: 31048.06529 + dps: 22620.63257 + tps: 31213.06638 } } dps_results: { key: "TestFeral-AllItems-EffulgentShadowspiritDiamond" value: { - dps: 23296.89391 - tps: 31971.73671 + dps: 23320.24924 + tps: 32057.20799 } } dps_results: { key: "TestFeral-AllItems-ElectrosparkHeartstarter-67118" value: { - dps: 22429.74438 - tps: 30640.94669 + dps: 22439.29393 + tps: 30795.70266 } } dps_results: { key: "TestFeral-AllItems-EmberShadowspiritDiamond" value: { - dps: 23294.09016 - tps: 32061.53549 + dps: 23317.44548 + tps: 32147.00996 } } dps_results: { key: "TestFeral-AllItems-EnigmaticShadowspiritDiamond" value: { - dps: 23338.05494 - tps: 32244.98767 + dps: 23385.72728 + tps: 32366.84337 } } dps_results: { key: "TestFeral-AllItems-EssenceoftheCyclone-59473" value: { - dps: 23943.03985 - tps: 33212.94857 + dps: 24053.90596 + tps: 33559.84495 } } dps_results: { key: "TestFeral-AllItems-EssenceoftheCyclone-65140" value: { - dps: 24093.64404 - tps: 33383.20477 + dps: 24125.07148 + tps: 33298.30208 } } dps_results: { key: "TestFeral-AllItems-EternalShadowspiritDiamond" value: { - dps: 23296.89391 - tps: 31971.73671 + dps: 23320.24924 + tps: 32057.20799 } } dps_results: { key: "TestFeral-AllItems-FallofMortality-59500" value: { - dps: 22429.12282 - tps: 30701.1301 + dps: 22438.67237 + tps: 30855.90814 } } dps_results: { key: "TestFeral-AllItems-FallofMortality-65124" value: { - dps: 22429.12282 - tps: 30701.08307 + dps: 22438.67237 + tps: 30855.8603 } } dps_results: { key: "TestFeral-AllItems-Figurine-DemonPanther-52199" value: { - dps: 24268.49649 - tps: 33617.1352 + dps: 24320.87676 + tps: 33471.12611 } } dps_results: { key: "TestFeral-AllItems-Figurine-DreamOwl-52354" value: { - dps: 22429.12282 - tps: 30701.17042 + dps: 22438.67237 + tps: 30855.94915 } } dps_results: { key: "TestFeral-AllItems-Figurine-EarthenGuardian-52352" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-Figurine-JeweledSerpent-52353" value: { - dps: 22429.12282 - tps: 30701.17042 + dps: 22438.67237 + tps: 30855.94915 } } dps_results: { key: "TestFeral-AllItems-Figurine-KingofBoars-52351" value: { - dps: 23179.48867 - tps: 31615.11683 + dps: 23189.75074 + tps: 31777.0353 } } dps_results: { key: "TestFeral-AllItems-FleetShadowspiritDiamond" value: { - dps: 23353.31755 - tps: 32058.9061 + dps: 23376.81434 + tps: 32144.65451 } } dps_results: { key: "TestFeral-AllItems-FluidDeath-58181" value: { - dps: 23992.71489 - tps: 32581.20218 + dps: 24053.44884 + tps: 32794.21062 } } dps_results: { key: "TestFeral-AllItems-ForlornShadowspiritDiamond" value: { - dps: 23294.09016 - tps: 32061.56747 + dps: 23317.44548 + tps: 32147.04083 } } dps_results: { key: "TestFeral-AllItems-FuryofAngerforge-59461" value: { - dps: 23311.32421 - tps: 32393.47278 + dps: 23369.1612 + tps: 32349.00367 } } dps_results: { key: "TestFeral-AllItems-GaleofShadows-56138" value: { - dps: 22601.14455 - tps: 30756.22914 + dps: 22638.55767 + tps: 30958.88126 } } dps_results: { key: "TestFeral-AllItems-GaleofShadows-56462" value: { - dps: 22751.46492 - tps: 30378.60819 + dps: 22796.5634 + tps: 31036.0359 } } dps_results: { key: "TestFeral-AllItems-GearDetector-61462" value: { - dps: 23132.96704 - tps: 31488.45301 + dps: 23161.80288 + tps: 32227.06282 } } dps_results: { key: "TestFeral-AllItems-GlowingTwilightScale-54589" value: { - dps: 22428.0989 - tps: 30696.15563 + dps: 22437.64845 + tps: 30850.9363 } } dps_results: { key: "TestFeral-AllItems-GraceoftheHerald-55266" value: { - dps: 23224.80578 - tps: 31779.31609 + dps: 23263.10663 + tps: 31850.5687 } } dps_results: { key: "TestFeral-AllItems-GraceoftheHerald-56295" value: { - dps: 23640.98585 - tps: 32437.96765 + dps: 23667.59027 + tps: 32550.61318 } } dps_results: { key: "TestFeral-AllItems-HarmlightToken-63839" value: { - dps: 22469.61883 - tps: 30884.17579 + dps: 22476.18765 + tps: 30968.63437 } } dps_results: { key: "TestFeral-AllItems-Harrison'sInsigniaofPanache-65803" value: { - dps: 22952.93094 - tps: 31318.4173 + dps: 22960.59062 + tps: 31471.61249 } } dps_results: { key: "TestFeral-AllItems-HeartofIgnacious-59514" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-HeartofIgnacious-65110" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-HeartofRage-59224" value: { - dps: 23425.43785 - tps: 32808.46111 + dps: 23418.48079 + tps: 32722.0328 } } dps_results: { key: "TestFeral-AllItems-HeartofRage-65072" value: { - dps: 23534.19392 - tps: 32931.44923 + dps: 23520.16973 + tps: 32991.56812 } } dps_results: { key: "TestFeral-AllItems-HeartofSolace-55868" value: { - dps: 22601.14455 - tps: 30756.22914 + dps: 22638.55767 + tps: 30958.88126 } } dps_results: { key: "TestFeral-AllItems-HeartofSolace-56393" value: { - dps: 23237.12636 - tps: 30966.01113 + dps: 23277.33796 + tps: 31617.2119 } } dps_results: { key: "TestFeral-AllItems-HeartofThunder-55845" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-HeartofThunder-56370" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-HeartoftheVile-66969" value: { - dps: 23303.25027 - tps: 31774.66373 + dps: 23427.85902 + tps: 32452.37976 } } dps_results: { key: "TestFeral-AllItems-Heartpierce-50641" value: { - dps: 24365.40017 - tps: 32673.22375 + dps: 24339.97958 + tps: 32659.19473 } } dps_results: { key: "TestFeral-AllItems-ImpassiveShadowspiritDiamond" value: { - dps: 23338.05494 - tps: 32244.98767 + dps: 23385.72728 + tps: 32366.84337 } } dps_results: { key: "TestFeral-AllItems-ImpatienceofYouth-62464" value: { - dps: 23275.08429 - tps: 31743.21924 + dps: 23285.435 + tps: 31906.04302 } } dps_results: { key: "TestFeral-AllItems-ImpatienceofYouth-62469" value: { - dps: 23275.08429 - tps: 31743.21924 + dps: 23285.435 + tps: 31906.04302 } } dps_results: { key: "TestFeral-AllItems-ImpetuousQuery-55881" value: { - dps: 22685.91055 - tps: 31004.00971 + dps: 22696.10317 + tps: 31162.08498 } } dps_results: { key: "TestFeral-AllItems-ImpetuousQuery-56406" value: { - dps: 22719.45612 - tps: 31055.50449 + dps: 22729.73295 + tps: 31214.01073 } } dps_results: { key: "TestFeral-AllItems-InsigniaofDiplomacy-61433" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-InsigniaoftheEarthenLord-61429" value: { - dps: 22626.95167 - tps: 30913.50374 + dps: 22636.99628 + tps: 31070.82154 } } dps_results: { key: "TestFeral-AllItems-JarofAncientRemedies-59354" value: { - dps: 22429.74438 - tps: 30610.85473 + dps: 22439.29393 + tps: 30765.63893 } } dps_results: { key: "TestFeral-AllItems-JarofAncientRemedies-65029" value: { - dps: 22429.74438 - tps: 30610.85473 + dps: 22439.29393 + tps: 30765.63893 } } dps_results: { key: "TestFeral-AllItems-JujuofNimbleness-63840" value: { - dps: 23677.66366 - tps: 32230.35806 + dps: 23670.85217 + tps: 32205.88275 } } dps_results: { key: "TestFeral-AllItems-KeytotheEndlessChamber-55795" value: { - dps: 23679.14955 - tps: 32754.85814 + dps: 23766.17517 + tps: 32881.08058 } } dps_results: { key: "TestFeral-AllItems-KeytotheEndlessChamber-56328" value: { - dps: 24008.40806 - tps: 32798.83796 + dps: 24091.3243 + tps: 33047.59404 } } dps_results: { key: "TestFeral-AllItems-KvaldirBattleStandard-59685" value: { - dps: 22786.78705 - tps: 30995.51979 + dps: 22767.87452 + tps: 31262.52394 } } dps_results: { key: "TestFeral-AllItems-KvaldirBattleStandard-59689" value: { - dps: 22786.78705 - tps: 30995.51979 + dps: 22767.87452 + tps: 31262.52394 } } dps_results: { key: "TestFeral-AllItems-LadyLa-La'sSingingShell-67152" value: { - dps: 22528.687 - tps: 31427.47046 + dps: 22530.50207 + tps: 31483.91099 } } dps_results: { key: "TestFeral-AllItems-LastWord-50708" value: { - dps: 24016.26631 - tps: 33053.19539 + dps: 24066.43062 + tps: 33180.3166 } } dps_results: { key: "TestFeral-AllItems-LeadenDespair-55816" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-LeadenDespair-56347" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-LeftEyeofRajh-56102" value: { - dps: 23800.96969 - tps: 33199.01304 + dps: 23793.90131 + tps: 33531.7917 } } dps_results: { key: "TestFeral-AllItems-LeftEyeofRajh-56427" value: { - dps: 24023.03038 - tps: 33511.93128 + dps: 24079.49649 + tps: 33735.35341 } } dps_results: { key: "TestFeral-AllItems-LicensetoSlay-58180" value: { - dps: 23166.60182 - tps: 31942.66768 + dps: 23237.2965 + tps: 32099.37278 } } dps_results: { key: "TestFeral-AllItems-MagnetiteMirror-55814" value: { - dps: 23040.95228 - tps: 31995.46169 + dps: 23076.6579 + tps: 31942.71451 } } dps_results: { key: "TestFeral-AllItems-MagnetiteMirror-56345" value: { - dps: 23261.23034 - tps: 32630.9269 + dps: 23302.65354 + tps: 32487.92911 } } dps_results: { key: "TestFeral-AllItems-MandalaofStirringPatterns-62467" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-MandalaofStirringPatterns-62472" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-MarkofKhardros-56132" value: { - dps: 23114.79313 - tps: 31495.1375 + dps: 23119.29066 + tps: 31664.29524 } } dps_results: { key: "TestFeral-AllItems-MarkofKhardros-56458" value: { - dps: 23205.29838 - tps: 31611.95653 + dps: 23209.12482 + tps: 31783.02677 } } dps_results: { key: "TestFeral-AllItems-MightoftheOcean-55251" value: { - dps: 22826.74749 - tps: 31448.5428 + dps: 22895.11721 + tps: 32082.73818 } } dps_results: { key: "TestFeral-AllItems-MightoftheOcean-56285" value: { - dps: 23146.28659 - tps: 31797.62198 + dps: 23213.73157 + tps: 31942.83868 } } dps_results: { key: "TestFeral-AllItems-MirrorofBrokenImages-62466" value: { - dps: 22756.05129 - tps: 31111.68061 + dps: 22766.41999 + tps: 31270.657 } } dps_results: { key: "TestFeral-AllItems-MirrorofBrokenImages-62471" value: { - dps: 22756.05129 - tps: 31111.68061 + dps: 22766.41999 + tps: 31270.657 } } dps_results: { key: "TestFeral-AllItems-MoonwellChalice-70142" value: { - dps: 22850.61683 - tps: 31281.31263 + dps: 22859.23988 + tps: 31438.02303 } } dps_results: { key: "TestFeral-AllItems-Oremantle'sFavor-61448" value: { - dps: 22991.2035 - tps: 31777.62729 + dps: 22992.45195 + tps: 31884.5089 } } dps_results: { key: "TestFeral-AllItems-PetrifiedTwilightScale-54591" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-PhylacteryoftheNamelessLich-50365" value: { - dps: 22572.40466 - tps: 31019.01451 + dps: 22595.14117 + tps: 31103.9515 } } dps_results: { key: "TestFeral-AllItems-PorcelainCrab-55237" value: { - dps: 22620.65665 - tps: 30883.21655 + dps: 22630.08538 + tps: 31035.18509 } } dps_results: { key: "TestFeral-AllItems-PorcelainCrab-56280" value: { - dps: 22775.31344 - tps: 31092.43167 + dps: 22792.15134 + tps: 31269.5669 } } dps_results: { key: "TestFeral-AllItems-PowerfulShadowspiritDiamond" value: { - dps: 23296.89391 - tps: 31971.73671 + dps: 23320.24924 + tps: 32057.20799 } } dps_results: { key: "TestFeral-AllItems-Prestor'sTalismanofMachination-59441" value: { - dps: 23920.34741 - tps: 32153.67331 + dps: 23908.12348 + tps: 32164.89639 } } dps_results: { key: "TestFeral-AllItems-Prestor'sTalismanofMachination-65026" value: { - dps: 24110.65302 - tps: 32449.30768 + dps: 24118.69606 + tps: 32525.69993 } } dps_results: { key: "TestFeral-AllItems-Rainsong-55854" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-Rainsong-56377" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-ReverberatingShadowspiritDiamond" value: { - dps: 23752.76838 - tps: 32582.40953 + dps: 23776.5107 + tps: 32668.75801 } } dps_results: { key: "TestFeral-AllItems-RevitalizingShadowspiritDiamond" value: { - dps: 23678.55549 - tps: 32481.54473 + dps: 23702.22031 + tps: 32567.61582 } } dps_results: { key: "TestFeral-AllItems-RightEyeofRajh-56100" value: { - dps: 23072.7663 - tps: 31768.77498 + dps: 23130.26818 + tps: 31927.164 } } dps_results: { key: "TestFeral-AllItems-RightEyeofRajh-56431" value: { - dps: 23144.0532 - tps: 31884.13166 + dps: 23210.99427 + tps: 32020.34426 } } dps_results: { key: "TestFeral-AllItems-Schnottz'sMedallionofCommand-65805" value: { - dps: 23414.47215 - tps: 31995.77678 + dps: 23459.12733 + tps: 32235.29762 } } dps_results: { key: "TestFeral-AllItems-SeaStar-55256" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-SeaStar-56290" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-ShardofWoe-60233" value: { - dps: 22772.33368 - tps: 31118.72162 + dps: 22780.52723 + tps: 31284.42022 } } dps_results: { key: "TestFeral-AllItems-Shrine-CleansingPurifier-63838" value: { - dps: 22979.67075 - tps: 31301.0653 + dps: 22965.8267 + tps: 31435.41927 } } dps_results: { key: "TestFeral-AllItems-Sindragosa'sFlawlessFang-50364" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-Skardyn'sGrace-56115" value: { - dps: 23600.72096 - tps: 32314.22139 + dps: 23629.53742 + tps: 32431.72353 } } dps_results: { key: "TestFeral-AllItems-Skardyn'sGrace-56440" value: { - dps: 23758.76364 - tps: 32520.79445 + dps: 23781.28409 + tps: 32607.97153 } } dps_results: { key: "TestFeral-AllItems-Sorrowsong-55879" value: { - dps: 22685.91055 - tps: 31004.00971 + dps: 22696.10317 + tps: 31162.08498 } } dps_results: { key: "TestFeral-AllItems-Sorrowsong-56400" value: { - dps: 22719.45612 - tps: 31055.50449 + dps: 22729.73295 + tps: 31214.01073 } } dps_results: { key: "TestFeral-AllItems-Soul'sAnguish-66994" value: { - dps: 22919.78668 - tps: 31539.66689 + dps: 22987.82628 + tps: 31688.61811 } } dps_results: { key: "TestFeral-AllItems-SoulCasket-58183" value: { - dps: 22756.05129 - tps: 31111.68061 + dps: 22766.41999 + tps: 31270.657 } } dps_results: { key: "TestFeral-AllItems-Stonemother'sKiss-61411" value: { - dps: 22461.63233 - tps: 30741.72699 + dps: 22467.43959 + tps: 30887.46641 } } dps_results: { key: "TestFeral-AllItems-Stormrider'sBattlegarb" value: { - dps: 23111.30851 - tps: 31709.32456 + dps: 23124.64958 + tps: 32123.90026 } } dps_results: { key: "TestFeral-AllItems-StumpofTime-62465" value: { - dps: 22658.16314 - tps: 31245.75239 + dps: 22726.89196 + tps: 31399.03226 } } dps_results: { key: "TestFeral-AllItems-StumpofTime-62470" value: { - dps: 22658.16314 - tps: 31245.75239 + dps: 22726.89196 + tps: 31399.03226 } } dps_results: { key: "TestFeral-AllItems-SymbioticWorm-59332" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-SymbioticWorm-65048" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-TalismanofSinisterOrder-65804" value: { - dps: 22453.09431 - tps: 30741.48752 + dps: 22468.19461 + tps: 30905.28949 } } dps_results: { key: "TestFeral-AllItems-Tank-CommanderInsignia-63841" value: { - dps: 22998.45288 - tps: 31277.1556 + dps: 22996.98304 + tps: 31558.40534 } } dps_results: { key: "TestFeral-AllItems-TearofBlood-55819" value: { - dps: 22429.12282 - tps: 30701.24882 + dps: 22438.67237 + tps: 30856.02889 } } dps_results: { key: "TestFeral-AllItems-TearofBlood-56351" value: { - dps: 22429.12282 - tps: 30701.17042 + dps: 22438.67237 + tps: 30855.94915 } } dps_results: { key: "TestFeral-AllItems-TendrilsofBurrowingDark-55810" value: { - dps: 22648.29885 - tps: 30946.27315 + dps: 22658.39705 + tps: 31103.8652 } } dps_results: { key: "TestFeral-AllItems-TendrilsofBurrowingDark-56339" value: { - dps: 22719.45612 - tps: 31055.50449 + dps: 22729.73295 + tps: 31214.01073 } } dps_results: { key: "TestFeral-AllItems-Theralion'sMirror-59519" value: { - dps: 22454.70204 - tps: 30740.61922 + dps: 22468.49739 + tps: 30906.40488 } } dps_results: { key: "TestFeral-AllItems-Theralion'sMirror-65105" value: { - dps: 22474.60755 - tps: 30780.13051 + dps: 22488.33316 + tps: 30941.66301 } } dps_results: { key: "TestFeral-AllItems-Throngus'sFinger-56121" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-Throngus'sFinger-56449" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-Tia'sGrace-55874" value: { - dps: 23697.79216 - tps: 32536.50512 + dps: 23727.40415 + tps: 32625.04882 } } dps_results: { key: "TestFeral-AllItems-TinyAbominationinaJar-50706" value: { - dps: 22672.47017 - tps: 31651.10234 + dps: 22707.2603 + tps: 32139.70703 } } dps_results: { key: "TestFeral-AllItems-Tyrande'sFavoriteDoll-64645" value: { - dps: 22407.50979 - tps: 30840.73395 + dps: 22442.67507 + tps: 31074.69826 } } dps_results: { key: "TestFeral-AllItems-UnquenchableFlame-67101" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-UnsolvableRiddle-62468" value: { - dps: 24198.57985 - tps: 33348.13288 + dps: 24198.79641 + tps: 33465.99598 } } dps_results: { key: "TestFeral-AllItems-UnsolvableRiddle-68709" value: { - dps: 24198.57985 - tps: 33348.13288 + dps: 24198.79641 + tps: 33465.99598 } } dps_results: { key: "TestFeral-AllItems-Val'anyr,HammerofAncientKings-46017" value: { - dps: 20313.28365 - tps: 28411.76391 + dps: 20339.1101 + tps: 28576.52843 } } dps_results: { key: "TestFeral-AllItems-VialofStolenMemories-59515" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-VialofStolenMemories-65109" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofConquest-61033" value: { - dps: 23851.01491 - tps: 32807.13942 + dps: 23850.40827 + tps: 32919.68333 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofDominance-61035" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sBadgeofVictory-61034" value: { - dps: 22940.83187 - tps: 31231.27298 + dps: 22950.37561 + tps: 31389.86768 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofAccuracy-61027" value: { - dps: 22659.13144 - tps: 31251.12053 + dps: 22727.80241 + tps: 31404.11116 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofAlacrity-61028" value: { - dps: 22731.95839 - tps: 30853.74565 + dps: 22719.05513 + tps: 31429.7072 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofCruelty-61026" value: { - dps: 22756.56721 - tps: 31724.99436 + dps: 22808.60493 + tps: 31667.49737 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofProficiency-61030" value: { - dps: 22889.63651 - tps: 31822.77187 + dps: 22854.50666 + tps: 31690.69475 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofProwess-61029" value: { - dps: 22775.3654 - tps: 31141.32912 + dps: 22785.78259 + tps: 31300.55365 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sEmblemofTenacity-61032" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofConquest-61047" value: { - dps: 23701.20092 - tps: 32323.56257 + dps: 23723.62037 + tps: 32650.37263 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofDominance-61045" value: { - dps: 22429.74438 - tps: 30610.77687 + dps: 22439.29393 + tps: 30765.56107 } } dps_results: { key: "TestFeral-AllItems-ViciousGladiator'sInsigniaofVictory-61046" value: { - dps: 22913.60481 - tps: 31199.3093 + dps: 22925.25602 + tps: 31359.29366 } } dps_results: { key: "TestFeral-AllItems-WitchingHourglass-55787" value: { - dps: 22389.39861 - tps: 30311.99795 + dps: 22433.37339 + tps: 30732.41337 } } dps_results: { key: "TestFeral-AllItems-WitchingHourglass-56320" value: { - dps: 22437.36471 - tps: 30645.50577 + dps: 22441.7897 + tps: 30986.72069 } } dps_results: { key: "TestFeral-AllItems-World-QuellerFocus-63842" value: { - dps: 22652.36498 - tps: 30952.51494 + dps: 22662.47339 + tps: 31110.15923 } } dps_results: { key: "TestFeral-AllItems-Za'brox'sLuckyTooth-63742" value: { - dps: 22725.62892 - tps: 30975.12359 + dps: 22730.69321 + tps: 31140.34078 } } dps_results: { key: "TestFeral-AllItems-Za'brox'sLuckyTooth-63745" value: { - dps: 22725.62892 - tps: 30975.12359 + dps: 22730.69321 + tps: 31140.34078 } } dps_results: { key: "TestFeral-Average-Default" value: { - dps: 24085.25662 - tps: 32821.95746 + dps: 24101.55 + tps: 33120.63193 } } dps_results: { @@ -1307,15 +1307,15 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 33337.42769 - tps: 54656.86455 + dps: 33402.75087 + tps: 54951.58393 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 28743.46932 - tps: 39598.69069 + dps: 28758.41221 + tps: 39983.34035 } } dps_results: { @@ -1328,22 +1328,22 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 22888.84775 - tps: 39587.27628 + dps: 23008.36678 + tps: 40137.91164 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 19094.37706 - tps: 27544.73452 + dps: 19095.37251 + tps: 27728.61977 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 20841.66384 - tps: 23358.44273 + dps: 20875.24713 + tps: 23385.23472 } } dps_results: { @@ -1433,43 +1433,43 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 32762.4226 - tps: 54746.41896 + dps: 32963.95936 + tps: 55833.14659 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 27935.71997 - tps: 37856.45595 + dps: 27996.20469 + tps: 38150.78845 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 34761.43437 - tps: 33705.34393 + dps: 34812.69228 + tps: 33728.55016 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 22301.80502 - tps: 38486.11402 + dps: 22280.35062 + tps: 38524.51248 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 18514.81981 - tps: 26494.78332 + dps: 18485.11433 + tps: 26279.78602 } } dps_results: { key: "TestFeral-Settings-Tauren-p1-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 19885.96039 - tps: 23517.37495 + dps: 19918.15927 + tps: 23720.97885 } } dps_results: { @@ -1559,15 +1559,15 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 28280.29202 - tps: 46975.35926 + dps: 28326.41773 + tps: 47241.31393 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 23859.52359 - tps: 32838.61766 + dps: 23909.35358 + tps: 32964.90238 } } dps_results: { @@ -1580,22 +1580,22 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 18734.3911 - tps: 32686.57128 + dps: 18888.06019 + tps: 33431.67456 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 15530.99432 - tps: 23161.53321 + dps: 15520.98227 + tps: 23163.97922 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-DefaultTalents-ExternalBleed-default-NoBuffs-25.0yards-ShortSingleTarget" value: { - dps: 16829.01838 - tps: 20396.97902 + dps: 16834.31705 + tps: 20467.43434 } } dps_results: { @@ -1685,36 +1685,36 @@ dps_results: { dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongMultiTarget" value: { - dps: 27833.95702 - tps: 46864.4267 + dps: 27727.44038 + tps: 46525.50246 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-LongSingleTarget" value: { - dps: 23286.73462 - tps: 32312.20496 + dps: 23317.14958 + tps: 32468.38066 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-FullBuffs-25.0yards-ShortSingleTarget" value: { - dps: 28820.24028 - tps: 27008.52319 + dps: 28815.22415 + tps: 26961.39502 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongMultiTarget" value: { - dps: 18308.22729 - tps: 31514.63167 + dps: 18320.11647 + tps: 31556.11542 } } dps_results: { key: "TestFeral-Settings-Tauren-preraid-HybridTalents-ExternalBleed-default-NoBuffs-25.0yards-LongSingleTarget" value: { - dps: 15042.37606 - tps: 21834.17988 + dps: 15032.57212 + tps: 22006.3348 } } dps_results: { @@ -1769,7 +1769,7 @@ dps_results: { dps_results: { key: "TestFeral-SwitchInFrontOfTarget-Default" value: { - dps: 20599.19791 - tps: 28628.45412 + dps: 20538.70844 + tps: 28377.87303 } } diff --git a/sim/druid/feral/rotation.go b/sim/druid/feral/rotation.go index 6e0446b673..316e281028 100644 --- a/sim/druid/feral/rotation.go +++ b/sim/druid/feral/rotation.go @@ -626,7 +626,7 @@ func (cat *FeralDruid) doRotation(sim *core.Simulation) (bool, time.Duration) { return false, 0 } timeToNextAction = core.DurationFromSeconds((cat.CurrentSavageRoarCost() - curEnergy) / regenRate) - } else if biteNow { + } else if biteNow && ((curEnergy >= cat.CurrentFerociousBiteCost()) || !bearWeaveNow) { if cat.FerociousBite.CanCast(sim, cat.CurrentTarget) { cat.FerociousBite.Cast(sim, cat.CurrentTarget) return false, 0