From c3fe19ab5707f4f982cae21e83915a3906a69d0c Mon Sep 17 00:00:00 2001 From: The Grox Empire <47816228+TheGroxEmpire@users.noreply.github.com> Date: Fri, 20 Oct 2023 16:37:45 +0700 Subject: [PATCH 1/3] Warrior: Add arms APL --- ui/warrior/apls/arms.apl.json | 25 +++++++++++++++++++++++++ ui/warrior/presets.ts | 2 ++ ui/warrior/sim.ts | 1 + 3 files changed, 28 insertions(+) create mode 100644 ui/warrior/apls/arms.apl.json diff --git a/ui/warrior/apls/arms.apl.json b/ui/warrior/apls/arms.apl.json new file mode 100644 index 0000000000..8c4f56b8f5 --- /dev/null +++ b/ui/warrior/apls/arms.apl.json @@ -0,0 +1,25 @@ +{ + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":2687}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":1719}}},"doAtValue":{"const":{"val":"-3s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":2457}}},"doAtValue":{"const":{"val":"-2s"}}}, + {"action":{"castSpell":{"spellId":{"otherId":"OtherActionPotion"}}},"doAtValue":{"const":{"val":"-0.1s"}}} + ], + "priorityList": [ + {"action":{"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"cmp":{"op":"OpLt","lhs":{"currentRage":{}},"rhs":{"const":{"val":"20"}}}},"castSpell":{"spellId":{"spellId":2687}}}}, + {"action":{"condition":{"isExecutePhase":{"threshold":"E20"}},"castSpell":{"spellId":{"otherId":"OtherActionPotion"}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"35"}}}},{"cmp":{"op":"OpLe","lhs":{"autoTimeToNext":{}},"rhs":{"const":{"val":"1ms"}}}},{"cmp":{"op":"OpGt","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"castSpell":{"spellId":{"spellId":47520,"tag":1}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"40"}}}},{"cmp":{"op":"OpLe","lhs":{"autoTimeToNext":{}},"rhs":{"const":{"val":"1ms"}}}},{"cmp":{"op":"OpEq","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"castSpell":{"spellId":{"spellId":47450,"tag":1}}}}, + {"hide":true,"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpLt","lhs":{"auraNumStacks":{"sourceUnit":{"type":"CurrentTarget"},"auraId":{"spellId":47467}}},"rhs":{"const":{"val":"5"}}}},{"not":{"val":{"auraIsActive":{"sourceUnit":{"type":"CurrentTarget"},"auraId":{"spellId":8647}}}}}]}},"castSpell":{"spellId":{"spellId":47467}}}}, + {"hide":true,"action":{"condition":{"auraShouldRefresh":{"auraId":{"spellId":47467},"maxOverlap":{"const":{"val":"3s"}}}},"castSpell":{"spellId":{"spellId":47467}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"sourceUnit":{"type":"CurrentTarget"},"auraId":{"spellId":47465}}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"7s"}}}}]}},"castSpell":{"spellId":{"spellId":47465}}}}, + {"action":{"condition":{"auraIsActive":{"auraId":{"spellId":68051}}},"castSpell":{"spellId":{"spellId":7384}}}}, + {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"3.5s"}}}},"castSpell":{"spellId":{"spellId":46924}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"30"}}}},"castSpell":{"spellId":{"spellId":47486}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"15"}}}},"castSpell":{"spellId":{"spellId":47471}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"15"}}}},{"cmp":{"op":"OpGt","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"castSpell":{"spellId":{"spellId":47502}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"15"}}}},"castSpell":{"spellId":{"spellId":47475}}}} + ] + } \ No newline at end of file diff --git a/ui/warrior/presets.ts b/ui/warrior/presets.ts index 55b172b449..d0eb83339a 100644 --- a/ui/warrior/presets.ts +++ b/ui/warrior/presets.ts @@ -36,6 +36,7 @@ import P3FuryHordeGear from './gear_sets/p3_fury_horde.gear.json'; import FuryApl from './apls/fury.apl.json'; import FurySunderApl from './apls/fury_sunder.apl.json'; +import ArmsApl from './apls/arms.apl.json'; // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to @@ -93,6 +94,7 @@ export const ArmsRotation = WarriorRotation.create({ export const ROTATION_FURY = PresetUtils.makePresetAPLRotation('Fury', FuryApl, { talentTree: 1 }); export const ROTATION_FURY_SUNDER = PresetUtils.makePresetAPLRotation('Fury + Sunder', FurySunderApl, { talentTree: 1 }); +export const ROTATION_ARMS = PresetUtils.makePresetAPLRotation('Arms', ArmsApl, { talentTree: 0 }); // Default talents. Uses the wowhead calculator format, make the talents on // https://wowhead.com/wotlk/talent-calc and copy the numbers in the url. diff --git a/ui/warrior/sim.ts b/ui/warrior/sim.ts index 90bc1e58cd..496040dd20 100644 --- a/ui/warrior/sim.ts +++ b/ui/warrior/sim.ts @@ -167,6 +167,7 @@ export class WarriorSimUI extends IndividualSimUI { rotations: [ Presets.ROTATION_FURY, Presets.ROTATION_FURY_SUNDER, + Presets.ROTATION_ARMS, ], // Preset gear configurations that the user can quickly select. gear: [ From b7398689d0e5c86e73b6b99848b6acc0767db0a5 Mon Sep 17 00:00:00 2001 From: The Grox Empire <47816228+TheGroxEmpire@users.noreply.github.com> Date: Fri, 20 Oct 2023 17:55:56 +0700 Subject: [PATCH 2/3] Add arms APL into test --- sim/warrior/dps/dps_warrior_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sim/warrior/dps/dps_warrior_test.go b/sim/warrior/dps/dps_warrior_test.go index 3fe66bf497..443d416fc7 100644 --- a/sim/warrior/dps/dps_warrior_test.go +++ b/sim/warrior/dps/dps_warrior_test.go @@ -54,6 +54,10 @@ func TestArms(t *testing.T) { Consumes: FullConsumes, SpecOptions: core.SpecOptionsCombo{Label: "Basic", SpecOptions: PlayerOptionsArms}, + OtherRotations: []core.RotationCombo{ + core.GetAplRotation("../../../ui/warrior/apls", "arms"), + }, + ItemFilter: core.ItemFilter{ ArmorType: proto.ArmorType_ArmorTypePlate, From 1968229dbd2a4bb121ef183c1913091648b0fedc Mon Sep 17 00:00:00 2001 From: The Grox Empire <47816228+TheGroxEmpire@users.noreply.github.com> Date: Fri, 20 Oct 2023 23:49:05 +0700 Subject: [PATCH 3/3] Update tests --- sim/rogue/TestAssassination.results | 2 +- sim/rogue/TestCombat.results | 2 +- sim/warrior/dps/TestArms.results | 84 +++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 2 deletions(-) diff --git a/sim/rogue/TestAssassination.results b/sim/rogue/TestAssassination.results index e29905f24a..93fd2e94a5 100644 --- a/sim/rogue/TestAssassination.results +++ b/sim/rogue/TestAssassination.results @@ -13,7 +13,7 @@ character_stats_results: { final_stats: 221 final_stats: 0 final_stats: 5504.84 - final_stats: 469.94995 + final_stats: 469.94994 final_stats: 2072.9756 final_stats: 221 final_stats: 94 diff --git a/sim/rogue/TestCombat.results b/sim/rogue/TestCombat.results index 51c0d19251..582389d490 100644 --- a/sim/rogue/TestCombat.results +++ b/sim/rogue/TestCombat.results @@ -13,7 +13,7 @@ character_stats_results: { final_stats: 264 final_stats: 0 final_stats: 5996.3904 - final_stats: 418.94995 + final_stats: 418.94994 final_stats: 2218.9399 final_stats: 264 final_stats: 94 diff --git a/sim/warrior/dps/TestArms.results b/sim/warrior/dps/TestArms.results index 21bde4c852..98e37f5236 100644 --- a/sim/warrior/dps/TestArms.results +++ b/sim/warrior/dps/TestArms.results @@ -929,6 +929,48 @@ dps_results: { tps: 2916.28216 } } +dps_results: { + key: "TestArms-Settings-Human-p1_arms-Basic-arms-FullBuffs-LongMultiTarget" + value: { + dps: 10652.07342 + tps: 10007.49125 + } +} +dps_results: { + key: "TestArms-Settings-Human-p1_arms-Basic-arms-FullBuffs-LongSingleTarget" + value: { + dps: 6733.8157 + tps: 5425.80149 + } +} +dps_results: { + key: "TestArms-Settings-Human-p1_arms-Basic-arms-FullBuffs-ShortSingleTarget" + value: { + dps: 7279.26113 + tps: 5922.37023 + } +} +dps_results: { + key: "TestArms-Settings-Human-p1_arms-Basic-arms-NoBuffs-LongMultiTarget" + value: { + dps: 5528.79397 + tps: 5348.07684 + } +} +dps_results: { + key: "TestArms-Settings-Human-p1_arms-Basic-arms-NoBuffs-LongSingleTarget" + value: { + dps: 3508.72973 + tps: 2830.91293 + } +} +dps_results: { + key: "TestArms-Settings-Human-p1_arms-Basic-arms-NoBuffs-ShortSingleTarget" + value: { + dps: 3700.71515 + tps: 3012.98824 + } +} dps_results: { key: "TestArms-Settings-Orc-p1_arms-Basic--FullBuffs-LongMultiTarget" value: { @@ -971,6 +1013,48 @@ dps_results: { tps: 2997.17387 } } +dps_results: { + key: "TestArms-Settings-Orc-p1_arms-Basic-arms-FullBuffs-LongMultiTarget" + value: { + dps: 10689.87998 + tps: 10049.09221 + } +} +dps_results: { + key: "TestArms-Settings-Orc-p1_arms-Basic-arms-FullBuffs-LongSingleTarget" + value: { + dps: 6785.38856 + tps: 5487.0128 + } +} +dps_results: { + key: "TestArms-Settings-Orc-p1_arms-Basic-arms-FullBuffs-ShortSingleTarget" + value: { + dps: 7379.87823 + tps: 6038.23714 + } +} +dps_results: { + key: "TestArms-Settings-Orc-p1_arms-Basic-arms-NoBuffs-LongMultiTarget" + value: { + dps: 5670.62396 + tps: 5482.18162 + } +} +dps_results: { + key: "TestArms-Settings-Orc-p1_arms-Basic-arms-NoBuffs-LongSingleTarget" + value: { + dps: 3535.77971 + tps: 2856.56853 + } +} +dps_results: { + key: "TestArms-Settings-Orc-p1_arms-Basic-arms-NoBuffs-ShortSingleTarget" + value: { + dps: 3767.68859 + tps: 3083.31246 + } +} dps_results: { key: "TestArms-SwitchInFrontOfTarget-Default" value: {