From 1f2621a7dc62b3d837a0b168ec52574ab1b17ce3 Mon Sep 17 00:00:00 2001 From: The Grox Empire <47816228+TheGroxEmpire@users.noreply.github.com> Date: Wed, 11 Oct 2023 20:47:57 +0700 Subject: [PATCH 1/2] Warrior: Added more Fury APL --- ui/warrior/apls/fury.apl.json | 39 +++++++++++++++++----------- ui/warrior/apls/fury_sunder.apl.json | 31 ++++++++++++++++++++++ ui/warrior/presets.ts | 11 ++++++++ ui/warrior/sim.ts | 1 + 4 files changed, 67 insertions(+), 15 deletions(-) create mode 100644 ui/warrior/apls/fury_sunder.apl.json diff --git a/ui/warrior/apls/fury.apl.json b/ui/warrior/apls/fury.apl.json index 2cee99c9c5..ee3e57ab19 100644 --- a/ui/warrior/apls/fury.apl.json +++ b/ui/warrior/apls/fury.apl.json @@ -1,22 +1,31 @@ { "type": "TypeAPL", "prepullActions": [ - {"action":{"castSpell":{"spellId":{"spellId":47436}}},"doAtValue":{"const":{"val":"-10s"}}}, - {"action":{"castSpell":{"spellId":{"otherId":"OtherActionPotion"}}},"doAtValue":{"const":{"val":"-1s"}}} - ], - "priorityList": [ - {"action":{"castSpell":{"spellId":{"spellId":2458}}}}, - {"action":{"condition":{"auraShouldRefresh":{"sourceUnit":{"type":"Self"},"auraId":{"spellId":47436},"maxOverlap":{"const":{"val":"2s"}}}},"castSpell":{"spellId":{"spellId":47436}}}}, - {"action":{"condition":{"auraShouldRefresh":{"auraId":{"spellId":47467},"maxOverlap":{"const":{"val":"2s"}}}},"castSpell":{"spellId":{"spellId":47467}}}}, - {"hide":true,"action":{"condition":{"and":{"vals":[{"auraShouldRefresh":{"auraId":{"spellId":47502},"maxOverlap":{"const":{"val":"2s"}}}},{"gcdIsReady":{}},{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"20"}}}},{"spellIsReady":{"spellId":{"spellId":47502}}}]}},"sequence":{"name":"TC","actions":[{"castSpell":{"spellId":{"spellId":2457}}},{"castSpell":{"spellId":{"spellId":47502}}}]}}}, - {"hide":true,"action":{"resetSequence":{"sequenceName":"TC"}}}, - {"hide":true,"action":{"condition":{"auraShouldRefresh":{"auraId":{"spellId":47437},"maxOverlap":{"const":{"val":"2s"}}}},"castSpell":{"spellId":{"spellId":25203}}}}, + {"action":{"castSpell":{"spellId":{"spellId":2458}}},"doAtValue":{"const":{"val":"-20s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":2687}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":18499}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":1719}}},"doAtValue":{"const":{"val":"-3s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":12292}}},"doAtValue":{"const":{"val":"-1.5s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":40211}}},"doAtValue":{"const":{"val":"-0.5s"}}} + ], + "priorityList": [ {"action":{"autocastOtherCooldowns":{}}}, - {"action":{"condition":{"auraIsActive":{"auraId":{"spellId":46916}}},"castSpell":{"spellId":{"spellId":47475}}}}, + {"action":{"condition":{"and":{"vals":[{"auraIsActive":{"auraId":{"spellId":2458}}},{"cmp":{"op":"OpLe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"20"}}}}]}},"castSpell":{"spellId":{"spellId":2687}}}}, + {"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":{"auraIsActive":{"auraId":{"spellId":12292}}},"castSpell":{"spellId":{"itemId":40211}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"12"}}}},{"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":"12"}}}},{"cmp":{"op":"OpEq","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"castSpell":{"spellId":{"spellId":47450,"tag":1}}}}, + {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}},"castSpell":{"spellId":{"spellId":1680}}}}, {"action":{"castSpell":{"spellId":{"spellId":23881}}}}, {"action":{"castSpell":{"spellId":{"spellId":1680}}}}, - {"action":{"condition":{"and":{"vals":[{"not":{"val":{"isExecutePhase":{"threshold":"E20"}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":47465}}}}}]}},"castSpell":{"spellId":{"spellId":47465}}}}, - {"action":{"castSpell":{"spellId":{"spellId":47471}}}}, - {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"30"}}}},"castSpell":{"spellId":{"spellId":47450,"tag":1}}}} - ] + {"action":{"condition":{"or":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"6s"}}}},{"cmp":{"op":"OpGe","lhs":{"autoTimeToNext":{}},"rhs":{"const":{"val":"1s"}}}}]}},"castSpell":{"spellId":{"spellId":64382}}}}, + {"action":{"condition":{"or":{"vals":[{"auraIsActive":{"auraId":{"spellId":70847}}},{"auraIsActive":{"auraId":{"spellId":46916}}}]}},"castSpell":{"spellId":{"spellId":47475}}}}, + {"hide":true,"action":{"condition":{"auraShouldRefresh":{"auraId":{"spellId":47467},"maxOverlap":{"const":{"val":"8s"}}}},"castSpell":{"spellId":{"spellId":47467}}}}, + {"action":{"condition":{"isExecutePhase":{"threshold":"E20"}},"castSpell":{"spellId":{"spellId":47471}}}}, + {"action":{"condition":{"and":{"vals":[{"gcdIsReady":{}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":47465}}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":1680}}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":23881}}}}},{"cmp":{"op":"OpEq","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":2457}}},{"castSpell":{"spellId":{"spellId":47465}}},{"castSpell":{"spellId":{"spellId":2458}}}]}}}, + {"action":{"condition":{"and":{"vals":[{"gcdIsReady":{}},{"auraIsActive":{"auraId":{"spellId":68051}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":1680}}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":23881}}}}},{"cmp":{"op":"OpEq","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":2457}}},{"castSpell":{"spellId":{"spellId":7384}}},{"castSpell":{"spellId":{"spellId":2458}}}]}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"autoTimeToNext":{}},"rhs":{"const":{"val":"1s"}}}},"castSpell":{"spellId":{"spellId":57755}}}}, + {"action":{"condition":{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2458}}}}},"castSpell":{"spellId":{"spellId":2458}}}} + ] } \ No newline at end of file diff --git a/ui/warrior/apls/fury_sunder.apl.json b/ui/warrior/apls/fury_sunder.apl.json new file mode 100644 index 0000000000..338061fd8d --- /dev/null +++ b/ui/warrior/apls/fury_sunder.apl.json @@ -0,0 +1,31 @@ +{ + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":2458}}},"doAtValue":{"const":{"val":"-20s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":2687}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":18499}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":1719}}},"doAtValue":{"const":{"val":"-3s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":12292}}},"doAtValue":{"const":{"val":"-1.5s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":40211}}},"doAtValue":{"const":{"val":"-0.5s"}}} + ], + "priorityList": [ + {"action":{"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"and":{"vals":[{"auraIsActive":{"auraId":{"spellId":2458}}},{"cmp":{"op":"OpLe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"20"}}}}]}},"castSpell":{"spellId":{"spellId":2687}}}}, + {"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}}}}, + {"action":{"condition":{"auraShouldRefresh":{"auraId":{"spellId":47467},"maxOverlap":{"const":{"val":"3s"}}}},"castSpell":{"spellId":{"spellId":47467}}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"6s"}}}},"castSpell":{"spellId":{"spellId":64382}}}}, + {"action":{"condition":{"auraIsActive":{"auraId":{"spellId":12292}}},"castSpell":{"spellId":{"itemId":40211}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentRage":{}},"rhs":{"const":{"val":"12"}}}},{"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":"12"}}}},{"cmp":{"op":"OpEq","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"castSpell":{"spellId":{"spellId":47450,"tag":1}}}}, + {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}},"castSpell":{"spellId":{"spellId":1680}}}}, + {"action":{"castSpell":{"spellId":{"spellId":23881}}}}, + {"action":{"castSpell":{"spellId":{"spellId":1680}}}}, + {"action":{"condition":{"or":{"vals":[{"auraIsActive":{"auraId":{"spellId":70847}}},{"auraIsActive":{"auraId":{"spellId":46916}}}]}},"castSpell":{"spellId":{"spellId":47475}}}}, + {"action":{"condition":{"auraShouldRefresh":{"auraId":{"spellId":47467},"maxOverlap":{"const":{"val":"8s"}}}},"castSpell":{"spellId":{"spellId":47467}}}}, + {"action":{"condition":{"isExecutePhase":{"threshold":"E20"}},"castSpell":{"spellId":{"spellId":47471}}}}, + {"action":{"condition":{"and":{"vals":[{"gcdIsReady":{}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":47465}}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":1680}}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":23881}}}}},{"cmp":{"op":"OpEq","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":2457}}},{"castSpell":{"spellId":{"spellId":47465}}},{"castSpell":{"spellId":{"spellId":2458}}}]}}}, + {"action":{"condition":{"and":{"vals":[{"gcdIsReady":{}},{"auraIsActive":{"auraId":{"spellId":68051}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":1680}}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":23881}}}}},{"cmp":{"op":"OpEq","lhs":{"numberTargets":{}},"rhs":{"const":{"val":"1"}}}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":2457}}},{"castSpell":{"spellId":{"spellId":7384}}},{"castSpell":{"spellId":{"spellId":2458}}}]}}}, + {"action":{"condition":{"cmp":{"op":"OpGe","lhs":{"autoTimeToNext":{}},"rhs":{"const":{"val":"1s"}}}},"castSpell":{"spellId":{"spellId":57755}}}}, + {"action":{"condition":{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2458}}}}},"castSpell":{"spellId":{"spellId":2458}}}} + ] +} \ No newline at end of file diff --git a/ui/warrior/presets.ts b/ui/warrior/presets.ts index 01505e4c2a..f45e6321f3 100644 --- a/ui/warrior/presets.ts +++ b/ui/warrior/presets.ts @@ -24,6 +24,7 @@ import { import * as Tooltips from '../core/constants/tooltips.js'; import FuryApl from './apls/fury.apl.json'; +import FurySunderApl from './apls/fury_sunder.apl.json'; // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to @@ -108,6 +109,16 @@ export const ROTATION_FURY = { }), }; +export const ROTATION_FURY_SUNDER = { + name: 'Fury + Sunder', + enableWhen: (player: Player) => player.getTalentTree() == 1, + rotation: SavedRotation.create({ + specRotationOptionsJson: WarriorRotation.toJsonString(WarriorRotation.create({ + })), + rotation: APLRotation.fromJsonString(JSON.stringify(FurySunderApl)), + }), +}; + export const DefaultOptions = WarriorOptions.create({ startingRage: 0, useRecklessness: true, diff --git a/ui/warrior/sim.ts b/ui/warrior/sim.ts index 54b0f0bf5f..5620bcace2 100644 --- a/ui/warrior/sim.ts +++ b/ui/warrior/sim.ts @@ -166,6 +166,7 @@ export class WarriorSimUI extends IndividualSimUI { // Preset rotations that the user can quickly select. rotations: [ Presets.ROTATION_FURY, + Presets.ROTATION_FURY_SUNDER, ], // Preset gear configurations that the user can quickly select. gear: [ From 2f6cbffd5e745105a43a0c54756b6415fb63e221 Mon Sep 17 00:00:00 2001 From: The Grox Empire <47816228+TheGroxEmpire@users.noreply.github.com> Date: Wed, 11 Oct 2023 21:25:39 +0700 Subject: [PATCH 2/2] Update tests --- sim/rogue/TestAssassination.results | 2 +- sim/rogue/TestCombat.results | 2 +- sim/warrior/dps/TestFury.results | 48 ++++++++++++++--------------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/sim/rogue/TestAssassination.results b/sim/rogue/TestAssassination.results index ef70d97018..b93ef85d2a 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 d668b5ef6e..961246cea9 100644 --- a/sim/rogue/TestCombat.results +++ b/sim/rogue/TestCombat.results @@ -13,7 +13,7 @@ character_stats_results: { final_stats: 221 final_stats: 0 final_stats: 5725.0336 - final_stats: 469.94995 + final_stats: 469.94994 final_stats: 2164.78757 final_stats: 221 final_stats: 94 diff --git a/sim/warrior/dps/TestFury.results b/sim/warrior/dps/TestFury.results index 9d591d3577..1004002f7b 100644 --- a/sim/warrior/dps/TestFury.results +++ b/sim/warrior/dps/TestFury.results @@ -932,43 +932,43 @@ dps_results: { dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-fury-FullBuffs-LongMultiTarget" value: { - dps: 8922.62321 - tps: 7185.74753 + dps: 10335.53844 + tps: 8055.47326 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-fury-FullBuffs-LongSingleTarget" value: { - dps: 6657.75798 - tps: 4934.05953 + dps: 6956.89606 + tps: 5172.37235 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-fury-FullBuffs-ShortSingleTarget" value: { - dps: 7736.65032 - tps: 5725.66398 + dps: 8334.00253 + tps: 6194.42682 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-fury-NoBuffs-LongMultiTarget" value: { - dps: 4313.67004 - tps: 3566.86264 + dps: 4398.47104 + tps: 3574.68804 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-fury-NoBuffs-LongSingleTarget" value: { - dps: 3005.5555 - tps: 2274.66575 + dps: 2781.44964 + tps: 2099.54141 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-fury-NoBuffs-ShortSingleTarget" value: { - dps: 3147.54453 - tps: 2409.80417 + dps: 2993.62836 + tps: 2267.44841 } } dps_results: { @@ -1016,43 +1016,43 @@ dps_results: { dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-fury-FullBuffs-LongMultiTarget" value: { - dps: 8996.21383 - tps: 7238.45452 + dps: 10420.27644 + tps: 8119.1797 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-fury-FullBuffs-LongSingleTarget" value: { - dps: 6722.48479 - tps: 4980.74568 + dps: 6948.04992 + tps: 5165.92716 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-fury-FullBuffs-ShortSingleTarget" value: { - dps: 7816.14329 - tps: 5781.74265 + dps: 8418.04587 + tps: 6247.66223 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-fury-NoBuffs-LongMultiTarget" value: { - dps: 4288.36759 - tps: 3548.56129 + dps: 4441.18536 + tps: 3610.77623 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-fury-NoBuffs-LongSingleTarget" value: { - dps: 3055.24022 - tps: 2309.34528 + dps: 2829.25095 + tps: 2134.76157 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-fury-NoBuffs-ShortSingleTarget" value: { - dps: 3161.71238 - tps: 2408.1493 + dps: 3106.30985 + tps: 2350.90578 } } dps_results: {