From 37dd4dae5cc95aacf39db56b3d1954d58337f47b Mon Sep 17 00:00:00 2001 From: NerdEgghead Date: Wed, 27 Dec 2023 16:32:31 -0800 Subject: [PATCH] Added prior default Feral APL as an example preset. Changes to be committed: new file: ui/feral_druid/apls/custom_apl_example.apl.json modified: ui/feral_druid/presets.ts modified: ui/feral_druid/sim.ts --- .../apls/custom_apl_example.apl.json | 19 +++++++++++++++++++ ui/feral_druid/presets.ts | 3 +++ ui/feral_druid/sim.ts | 1 + 3 files changed, 23 insertions(+) create mode 100644 ui/feral_druid/apls/custom_apl_example.apl.json diff --git a/ui/feral_druid/apls/custom_apl_example.apl.json b/ui/feral_druid/apls/custom_apl_example.apl.json new file mode 100644 index 0000000000..ebdc0d5fe3 --- /dev/null +++ b/ui/feral_druid/apls/custom_apl_example.apl.json @@ -0,0 +1,19 @@ +{ + "type": "TypeAPL", + "prepullActions": [ + {"action":{"activateAura":{"auraId":{"spellId":16870}}},"doAtValue":{"const":{"val":"-1s"}}} + ], + "priorityList": [ + {"action":{"autocastOtherCooldowns":{}}}, + {"action":{"condition":{"cmp":{"op":"OpLe","lhs":{"currentEnergy":{}},"rhs":{"const":{"val":"30"}}}},"castSpell":{"spellId":{"spellId":50213}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":16870}}}}},{"cmp":{"op":"OpEq","lhs":{"currentComboPoints":{}},"rhs":{"const":{"val":"5"}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":49800}}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"10s"}}}}]}},"castSpell":{"spellId":{"spellId":49800}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":16870}}}}},{"or":{"vals":[{"and":{"vals":[{"auraIsActive":{"auraId":{"spellId":50334}}},{"cmp":{"op":"OpLt","lhs":{"currentEnergy":{}},"rhs":{"const":{"val":"15"}}}}]}},{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":50334}}}}},{"cmp":{"op":"OpLt","lhs":{"currentEnergy":{}},"rhs":{"const":{"val":"87"}}}}]}}]}}]}},"castSpell":{"spellId":{"spellId":16857}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"spellTimeToReady":{"spellId":{"spellId":50213}}},"rhs":{"const":{"val":"15s"}}}},{"dotIsActive":{"spellId":{"spellId":49800}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":16870}}}}}]}},"castSpell":{"spellId":{"spellId":50334}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentComboPoints":{}},"rhs":{"const":{"val":"1"}}}},{"or":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":52610}}}}},{"and":{"vals":[{"dotIsActive":{"spellId":{"spellId":49800}}},{"cmp":{"op":"OpGt","lhs":{"math":{"op":"OpSub","lhs":{"remainingTime":{}},"rhs":{"dotRemainingTime":{"spellId":{"spellId":49800}}}}},"rhs":{"const":{"val":"10s"}}}},{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"spellId":52610}}},"rhs":{"math":{"op":"OpAdd","lhs":{"dotRemainingTime":{"spellId":{"spellId":49800}}},"rhs":{"const":{"val":"4s"}}}}}},{"cmp":{"op":"OpLt","lhs":{"auraRemainingTime":{"auraId":{"spellId":52610}}},"rhs":{"remainingTime":{}}}},{"cmp":{"op":"OpGe","lhs":{"catNewSavageRoarDuration":{}},"rhs":{"math":{"op":"OpAdd","lhs":{"dotRemainingTime":{"spellId":{"spellId":49800}}},"rhs":{"const":{"val":"25s"}}}}}}]}}]}}]}},"castSpell":{"spellId":{"spellId":52610}}}}, + {"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpEq","lhs":{"currentComboPoints":{}},"rhs":{"const":{"val":"5"}}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":16870}}}}},{"or":{"vals":[{"and":{"vals":[{"auraIsActive":{"auraId":{"spellId":50334}}},{"cmp":{"op":"OpLe","lhs":{"currentEnergy":{}},"rhs":{"const":{"val":"25"}}}}]}},{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":50334}}}}},{"cmp":{"op":"OpLt","lhs":{"currentEnergy":{}},"rhs":{"const":{"val":"67"}}}}]}}]}},{"or":{"vals":[{"and":{"vals":[{"dotIsActive":{"spellId":{"spellId":49800}}},{"auraIsActive":{"auraId":{"spellId":52610}}},{"cmp":{"op":"OpGe","lhs":{"dotRemainingTime":{"spellId":{"spellId":49800}}},"rhs":{"const":{"val":"4s"}}}},{"cmp":{"op":"OpGe","lhs":{"auraRemainingTime":{"auraId":{"spellId":52610}}},"rhs":{"const":{"val":"4s"}}}}]}},{"and":{"vals":[{"dotIsActive":{"spellId":{"spellId":49800}}},{"cmp":{"op":"OpLt","lhs":{"math":{"op":"OpSub","lhs":{"remainingTime":{}},"rhs":{"dotRemainingTime":{"spellId":{"spellId":49800}}}}},"rhs":{"const":{"val":"10s"}}}}]}},{"cmp":{"op":"OpLt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"10s"}}}}]}}]}},"castSpell":{"spellId":{"spellId":48577}}}}, + {"action":{"condition":{"and":{"vals":[{"auraShouldRefresh":{"auraId":{"spellId":48566},"maxOverlap":{"const":{"val":"1s"}}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":16870}}}}}]}},"castSpell":{"spellId":{"spellId":48566}}}}, + {"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":16870}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":48574}}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"9s"}}}}]}},"castSpell":{"spellId":{"spellId":48574}}}}, + {"action":{"condition":{"and":{"vals":[{"or":{"vals":[{"auraIsActive":{"auraId":{"spellId":16870}}},{"cmp":{"op":"OpGe","lhs":{"catExcessEnergy":{}},"rhs":{"const":{"val":"120"}}}}]}},{"cmp":{"op":"OpEq","lhs":{"const":{"val":"1"}},"rhs":{"const":{"val":"0"}}}}]}},"castSpell":{"spellId":{"spellId":48566}}}}, + {"action":{"condition":{"and":{"vals":[{"or":{"vals":[{"auraIsActive":{"auraId":{"spellId":16870}}},{"cmp":{"op":"OpGe","lhs":{"catExcessEnergy":{}},"rhs":{"const":{"val":"42s"}}}}]}}]}},"castSpell":{"spellId":{"spellId":48572}}}} + ] +} \ No newline at end of file diff --git a/ui/feral_druid/presets.ts b/ui/feral_druid/presets.ts index 4e25339fa6..6067ac092e 100644 --- a/ui/feral_druid/presets.ts +++ b/ui/feral_druid/presets.ts @@ -38,6 +38,9 @@ export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); import DefaultApl from './apls/default.apl.json'; export const APL_ROTATION_DEFAULT = PresetUtils.makePresetAPLRotation('APL Default', DefaultApl); +import CustomExampleApl from './apls/custom_apl_example.apl.json'; +export const APL_ROTATION_CUSTOM_EXAMPLE = PresetUtils.makePresetAPLRotation('Custom APL Example', CustomExampleApl); + export const DefaultRotation = FeralDruidRotation.create({ rotationType: FeralDruid_Rotation_AplType.SingleTarget, diff --git a/ui/feral_druid/sim.ts b/ui/feral_druid/sim.ts index 05014e7c54..8d0b45bc50 100644 --- a/ui/feral_druid/sim.ts +++ b/ui/feral_druid/sim.ts @@ -166,6 +166,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecFeralDruid, { rotations: [ Presets.SIMPLE_ROTATION_DEFAULT, Presets.APL_ROTATION_DEFAULT, + Presets.APL_ROTATION_CUSTOM_EXAMPLE, ], // Preset gear configurations that the user can quickly select. gear: [