From 509ef147c3038d6c9ed0304acd44481750746d1f Mon Sep 17 00:00:00 2001 From: jarves Date: Sat, 7 Oct 2023 16:22:04 -0500 Subject: [PATCH] ele: change prepull to avoid gcd/haste issue Signed-off-by: jarves --- sim/shaman/elemental/TestElemental.results | 168 +++++++++++++++++++++ sim/shaman/elemental/elemental_test.go | 3 + ui/elemental_shaman/apls/advanced.apl.json | 26 ++++ ui/elemental_shaman/presets.ts | 28 +--- 4 files changed, 199 insertions(+), 26 deletions(-) create mode 100644 ui/elemental_shaman/apls/advanced.apl.json diff --git a/sim/shaman/elemental/TestElemental.results b/sim/shaman/elemental/TestElemental.results index 0b1003fea0..0e06343da2 100644 --- a/sim/shaman/elemental/TestElemental.results +++ b/sim/shaman/elemental/TestElemental.results @@ -1026,6 +1026,48 @@ dps_results: { tps: 4043.3569 } } +dps_results: { + key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-FullBuffs-LongMultiTarget" + value: { + dps: 9036.1897 + tps: 4049.05869 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-FullBuffs-LongSingleTarget" + value: { + dps: 6293.2028 + tps: 3481.3102 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-FullBuffs-ShortSingleTarget" + value: { + dps: 9423.47937 + tps: 5103.37126 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-NoBuffs-LongMultiTarget" + value: { + dps: 4965.72812 + tps: 1729.23411 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-NoBuffs-LongSingleTarget" + value: { + dps: 2999.71923 + tps: 1528.33138 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-NoBuffs-ShortSingleTarget" + value: { + dps: 6016.81526 + tps: 3208.77645 + } +} dps_results: { key: "TestElemental-Settings-Orc-P1-Adaptive-default-FullBuffs-LongMultiTarget" value: { @@ -1068,6 +1110,48 @@ dps_results: { tps: 3326.00116 } } +dps_results: { + key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-FullBuffs-LongMultiTarget" + value: { + dps: 9036.1897 + tps: 4049.05869 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-FullBuffs-LongSingleTarget" + value: { + dps: 6293.2028 + tps: 3481.3102 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-FullBuffs-ShortSingleTarget" + value: { + dps: 9423.47937 + tps: 5103.37126 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-NoBuffs-LongMultiTarget" + value: { + dps: 4965.72812 + tps: 1729.23411 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-NoBuffs-LongSingleTarget" + value: { + dps: 2999.71923 + tps: 1528.33138 + } +} +dps_results: { + key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-NoBuffs-ShortSingleTarget" + value: { + dps: 6016.81526 + tps: 3208.77645 + } +} dps_results: { key: "TestElemental-Settings-Orc-P1-EleFireElemental-default-FullBuffs-LongMultiTarget" value: { @@ -1110,6 +1194,48 @@ dps_results: { tps: 3326.00116 } } +dps_results: { + key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-FullBuffs-LongMultiTarget" + value: { + dps: 8809.02003 + tps: 4028.52781 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-FullBuffs-LongSingleTarget" + value: { + dps: 6199.10254 + tps: 3451.45175 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-FullBuffs-ShortSingleTarget" + value: { + dps: 9244.06556 + tps: 5055.98685 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-NoBuffs-LongMultiTarget" + value: { + dps: 4768.65159 + tps: 1701.48462 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-NoBuffs-LongSingleTarget" + value: { + dps: 2934.48351 + tps: 1513.55425 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-NoBuffs-ShortSingleTarget" + value: { + dps: 5892.59368 + tps: 3181.45207 + } +} dps_results: { key: "TestElemental-Settings-Troll-P1-Adaptive-default-FullBuffs-LongMultiTarget" value: { @@ -1152,6 +1278,48 @@ dps_results: { tps: 3317.4338 } } +dps_results: { + key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-FullBuffs-LongMultiTarget" + value: { + dps: 8809.02003 + tps: 4028.52781 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-FullBuffs-LongSingleTarget" + value: { + dps: 6199.10254 + tps: 3451.45175 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-FullBuffs-ShortSingleTarget" + value: { + dps: 9244.06556 + tps: 5055.98685 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-NoBuffs-LongMultiTarget" + value: { + dps: 4768.65159 + tps: 1701.48462 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-NoBuffs-LongSingleTarget" + value: { + dps: 2934.48351 + tps: 1513.55425 + } +} +dps_results: { + key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-NoBuffs-ShortSingleTarget" + value: { + dps: 5892.59368 + tps: 3181.45207 + } +} dps_results: { key: "TestElemental-Settings-Troll-P1-EleFireElemental-default-FullBuffs-LongMultiTarget" value: { diff --git a/sim/shaman/elemental/elemental_test.go b/sim/shaman/elemental/elemental_test.go index a558b1b420..a93865ce8d 100644 --- a/sim/shaman/elemental/elemental_test.go +++ b/sim/shaman/elemental/elemental_test.go @@ -27,6 +27,9 @@ func TestElemental(t *testing.T) { {Label: "EleFireElemental", SpecOptions: PlayerOptionsAdaptiveFireElemental}, }, Rotation: core.GetAplRotation("../../../ui/elemental_shaman/apls", "default"), + OtherRotations: []core.RotationCombo{ + core.GetAplRotation("../../../ui/elemental_shaman/apls", "advanced"), + }, ItemFilter: core.ItemFilter{ WeaponTypes: []proto.WeaponType{ diff --git a/ui/elemental_shaman/apls/advanced.apl.json b/ui/elemental_shaman/apls/advanced.apl.json new file mode 100644 index 0000000000..d82063e34f --- /dev/null +++ b/ui/elemental_shaman/apls/advanced.apl.json @@ -0,0 +1,26 @@ +{ + "enabled": true, + "type": "TypeAPL", + "prepullActions": [ + {"action":{"castSpell":{"spellId":{"spellId":59159}}},"doAtValue":{"const":{"val":"-5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":49238}}},"doAtValue":{"const":{"val":"-3.5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":49271}}},"doAtValue":{"const":{"val":"-1.00s"}}} + ], + "priorityList": [ + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"0s"}}}},{"spellIsReady":{"spellId":{"spellId":2825,"tag":-1}}}]}},"castSpell":{"spellId":{"spellId":2825,"tag":-1}}}}, + {"hide":true,"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"2s"}}}},{"spellIsReady":{"spellId":{"spellId":2825}}}]}},"castSpell":{"spellId":{"spellId":2825}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":16166}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.0s"}}}}]}},"castSpell":{"spellId":{"spellId":16166}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":54758}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2825,"tag":-1}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"41s"}}}}]}},"castSpell":{"spellId":{"spellId":54758}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":2894}}},{"or":{"vals":[{"auraIsActive":{"auraId":{"itemId":40255}}},{"auraIsActive":{"auraId":{"itemId":40682}}},{"auraIsActive":{"auraId":{"itemId":37660}}},{"auraIsActive":{"auraId":{"itemId":45518}}},{"auraIsActive":{"auraId":{"itemId":54572}}},{"auraIsActive":{"auraId":{"itemId":54588}}},{"auraIsActive":{"auraId":{"itemId":47213}}},{"auraIsActive":{"auraId":{"itemId":45490}}},{"auraIsActive":{"auraId":{"spellId":71636}}},{"auraIsActive":{"auraId":{"itemId":50365}}},{"auraIsActive":{"auraId":{"itemId":50345}}},{"auraIsActive":{"auraId":{"itemId":50340}}},{"auraIsActive":{"auraId":{"itemId":50398}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50353}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50348}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":60486}}},"rhs":{"const":{"val":"10"}}}}]}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":33697}}},{"castSpell":{"spellId":{"itemId":50357}}},{"castSpell":{"spellId":{"spellId":2894}}}]}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2894}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":58704}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"120"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"20s"}}}}]}},"castSpell":{"spellId":{"spellId":58704}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"dotIsActive":{"spellId":{"spellId":49233}}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"3s"}}}}]}},"multidot":{"spellId":{"spellId":49233},"maxDots":3,"maxOverlap":{"const":{"val":"10ms"}}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":49271}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49271}}},"rhs":{"const":{"val":".92s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":60043}}}}}]}},"castSpell":{"spellId":{"spellId":49271}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"dotRemainingTime":{"spellId":{"spellId":49233}}},"rhs":{"const":{"val":".98s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"spellIsReady":{"spellId":{"spellId":60043}}}]}},"castSpell":{"spellId":{"spellId":60043}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":40211}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.00s"}}}}]}},"castSpell":{"spellId":{"itemId":40211}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":33697}}},{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"60s"}}}}]}},"castSpell":{"spellId":{"spellId":33697}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":42641}}}]}},"castSpell":{"spellId":{"itemId":42641}}}}, + {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":41119}}},{"not":{"val":{"spellIsReady":{"spellId":{"itemId":42641}}}}}]}},"castSpell":{"spellId":{"itemId":41119}}}}, + {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"1.25s"}}}},"castSpell":{"spellId":{"spellId":49238}}}}, + {"action":{"condition":{"cmp":{"op":"OpLe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".97s"}}}},"castSpell":{"spellId":{"spellId":49236}}}} + ] + } \ No newline at end of file diff --git a/ui/elemental_shaman/presets.ts b/ui/elemental_shaman/presets.ts index 17225d80ce..89589ba3e2 100644 --- a/ui/elemental_shaman/presets.ts +++ b/ui/elemental_shaman/presets.ts @@ -26,6 +26,7 @@ import * as Tooltips from '../core/constants/tooltips.js'; import { Faction } from '../core/proto/common.js'; import DefaultApl from './apls/default.apl.json'; +import AdvancedApl from './apls/advanced.apl.json'; // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to @@ -255,31 +256,6 @@ export const ROTATION_PRESET_ADVANCED = { name: 'Advanced APL', rotation: SavedRotation.create({ specRotationOptionsJson: ElementalShamanRotation.toJsonString(DefaultRotation), - rotation: APLRotation.fromJsonString(`{ - "enabled": true, - "type": "TypeAPL", - "prepullActions": [ - {"action":{"castSpell":{"spellId":{"spellId":59159}}},"doAtValue":{"const":{"val":"-3.75s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":49238}}},"doAtValue":{"const":{"val":"-2.50s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":49271}}},"doAtValue":{"const":{"val":"-1.03s"}}} - ], - "priorityList": [ - {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"0s"}}}},{"spellIsReady":{"spellId":{"spellId":2825,"tag":-1}}}]}},"castSpell":{"spellId":{"spellId":2825,"tag":-1}}}}, - {"hide":true,"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"2s"}}}},{"spellIsReady":{"spellId":{"spellId":2825}}}]}},"castSpell":{"spellId":{"spellId":2825}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":16166}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.0s"}}}}]}},"castSpell":{"spellId":{"spellId":16166}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":54758}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2825,"tag":-1}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"41s"}}}}]}},"castSpell":{"spellId":{"spellId":54758}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":2894}}},{"or":{"vals":[{"auraIsActive":{"auraId":{"itemId":40255}}},{"auraIsActive":{"auraId":{"itemId":40682}}},{"auraIsActive":{"auraId":{"itemId":37660}}},{"auraIsActive":{"auraId":{"itemId":45518}}},{"auraIsActive":{"auraId":{"itemId":54572}}},{"auraIsActive":{"auraId":{"itemId":54588}}},{"auraIsActive":{"auraId":{"itemId":47213}}},{"auraIsActive":{"auraId":{"itemId":45490}}},{"auraIsActive":{"auraId":{"spellId":71636}}},{"auraIsActive":{"auraId":{"itemId":50365}}},{"auraIsActive":{"auraId":{"itemId":50345}}},{"auraIsActive":{"auraId":{"itemId":50340}}},{"auraIsActive":{"auraId":{"itemId":50398}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50353}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50348}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":60486}}},"rhs":{"const":{"val":"10"}}}}]}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":33697}}},{"castSpell":{"spellId":{"itemId":50357}}},{"castSpell":{"spellId":{"spellId":2894}}}]}}}, - {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2894}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":58704}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"120"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"20s"}}}}]}},"castSpell":{"spellId":{"spellId":58704}}}}, - {"action":{"condition":{"and":{"vals":[{"not":{"val":{"dotIsActive":{"spellId":{"spellId":49233}}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"3s"}}}}]}},"multidot":{"spellId":{"spellId":49233},"maxDots":3,"maxOverlap":{"const":{"val":"10ms"}}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":49271}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49271}}},"rhs":{"const":{"val":".92s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":60043}}}}}]}},"castSpell":{"spellId":{"spellId":49271}}}}, - {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"dotRemainingTime":{"spellId":{"spellId":49233}}},"rhs":{"const":{"val":".98s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"spellIsReady":{"spellId":{"spellId":60043}}}]}},"castSpell":{"spellId":{"spellId":60043}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":40211}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.00s"}}}}]}},"castSpell":{"spellId":{"itemId":40211}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":33697}}},{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"60s"}}}}]}},"castSpell":{"spellId":{"spellId":33697}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":42641}}}]}},"castSpell":{"spellId":{"itemId":42641}}}}, - {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":41119}}},{"not":{"val":{"spellIsReady":{"spellId":{"itemId":42641}}}}}]}},"castSpell":{"spellId":{"itemId":41119}}}}, - {"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"1.25s"}}}},"castSpell":{"spellId":{"spellId":49238}}}}, - {"action":{"condition":{"cmp":{"op":"OpLe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".97s"}}}},"castSpell":{"spellId":{"spellId":49236}}}} - ] - }`), + rotation: APLRotation.fromJsonString(JSON.stringify(AdvancedApl)), }), } \ No newline at end of file