From f08bc63694ec8457cbd46bd753a5f851086580d8 Mon Sep 17 00:00:00 2001 From: Adrian Klingen Date: Sun, 12 Jan 2025 11:59:10 +0100 Subject: [PATCH 1/3] Add Warlock P4 WIP set --- ui/warlock/demonology/gear_sets/p4.gear.json | 21 ++++++++++++++++++++ ui/warlock/demonology/presets.ts | 2 ++ ui/warlock/demonology/sim.ts | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 ui/warlock/demonology/gear_sets/p4.gear.json diff --git a/ui/warlock/demonology/gear_sets/p4.gear.json b/ui/warlock/demonology/gear_sets/p4.gear.json new file mode 100644 index 0000000000..d67f866aa1 --- /dev/null +++ b/ui/warlock/demonology/gear_sets/p4.gear.json @@ -0,0 +1,21 @@ +{ + "items": [ + { "id": 78702, "enchant": 4207, "gems": [68780, 71881], "reforging": 144 }, + { "id": 71472, "gems": [71881] }, + { "id": 78749, "enchant": 4200, "gems": [71881, 71881], "reforging": 167 }, + { "id": 77098, "gems": [71881] }, + { "id": 78730, "enchant": 4102, "gems": [71881, 71881, 71850], "reforging": 140 }, + { "id": 78417, "enchant": 4257, "gems": [71881, 0], "reforging": 165 }, + { "id": 78461, "enchant": 4107, "gems": [71881, 71881, 0], "reforging": 144 }, + { "id": 78391, "gems": [71881, 71881, 71881], "reforging": 144 }, + { "id": 78721, "enchant": 4112, "gems": [71881, 71881, 71850] }, + { "id": 78449, "gems": [71881, 71881] }, + { "id": 78419, "gems": [71881], "reforging": 165 }, + { "id": 78490, "gems": [71881] }, + { "id": 77995 }, + { "id": 78000 }, + { "id": 71086, "enchant": 4097, "gems": [71881, 71881, 71881] }, + {}, + { "id": 78392 } + ] +} diff --git a/ui/warlock/demonology/presets.ts b/ui/warlock/demonology/presets.ts index cf2a55496f..04fbb7a749 100644 --- a/ui/warlock/demonology/presets.ts +++ b/ui/warlock/demonology/presets.ts @@ -27,6 +27,7 @@ import IncinerateAPL from './apls/incinerate.apl.json'; import ShadowBoltAPL from './apls/shadow-bolt.apl.json'; import P1Gear from './gear_sets/p1.gear.json'; import P3Gear from './gear_sets/p3.gear.json'; +import P4Gear from './gear_sets/p4.gear.json'; import PreraidGear from './gear_sets/preraid.gear.json'; // Preset options for this spec. @@ -36,6 +37,7 @@ import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('Pre-raid', PreraidGear); export const P1_PRESET = PresetUtils.makePresetGear('P1 - BIS', P1Gear); export const P3_PRESET = PresetUtils.makePresetGear('P3 - BIS', P3Gear); +export const P4_PRESET = PresetUtils.makePresetGear('P4 - WIP', P4Gear); export const APL_ShadowBolt = PresetUtils.makePresetAPLRotation('Shadow Bolt', ShadowBoltAPL); export const APL_Incinerate = PresetUtils.makePresetAPLRotation('Incinerate', IncinerateAPL); diff --git a/ui/warlock/demonology/sim.ts b/ui/warlock/demonology/sim.ts index 39bf9f61a2..2983f16b04 100644 --- a/ui/warlock/demonology/sim.ts +++ b/ui/warlock/demonology/sim.ts @@ -127,7 +127,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecDemonologyWarlock, { rotations: [Presets.APL_ShadowBolt, Presets.APL_Incinerate], // Preset gear configurations that the user can quickly select. - gear: [Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P3_PRESET], + gear: [Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P3_PRESET, Presets.P4_PRESET], builds: [Presets.PRESET_BUILD_SHADOWBOLT, Presets.PRESET_BUILD_INCINERATE], }, From 724b8dd39244d87499701b3997ec99c206f90eab Mon Sep 17 00:00:00 2001 From: Adrian Klingen Date: Fri, 31 Jan 2025 17:05:50 +0100 Subject: [PATCH 2/3] Update Warlock P4 WIP sets --- .../demonology/apls/incinerate.apl.json | 34 +++++---- .../demonology/apls/shadow-bolt.apl.json | 26 ++++--- ui/warlock/demonology/gear_sets/p4.gear.json | 18 ++--- .../gear_sets/p4_item_swap.gear.json | 74 +++++++++++++++++++ ui/warlock/demonology/presets.ts | 5 +- ui/warlock/demonology/sim.ts | 2 +- 6 files changed, 121 insertions(+), 38 deletions(-) create mode 100644 ui/warlock/demonology/gear_sets/p4_item_swap.gear.json diff --git a/ui/warlock/demonology/apls/incinerate.apl.json b/ui/warlock/demonology/apls/incinerate.apl.json index a7d4d09de3..ab3db79f27 100644 --- a/ui/warlock/demonology/apls/incinerate.apl.json +++ b/ui/warlock/demonology/apls/incinerate.apl.json @@ -1,21 +1,25 @@ { "type": "TypeAPL", "prepullActions": [ - {"action":{"itemSwap":{"swapSet":"Swap1"}},"doAtValue":{"const":{"val":"-60s"}}}, - {"action":{"castSpell":{"spellId":{"itemId":70142}}},"doAtValue":{"const":{"val":"-22.5"}}}, - {"action":{"castSpell":{"spellId":{"spellId":30146}}},"doAtValue":{"const":{"val":"-10s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":77801}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, - {"action":{"castSpell":{"spellId":{"spellId":74434}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, - {"action":{"castSpell":{"spellId":{"spellId":691}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, - {"action":{"activateAura":{"auraId":{"spellId":74221,"tag":1}}},"doAtValue":{"const":{"val":"-2.51s"}}}, - {"action":{"castSpell":{"spellId":{"otherId":"OtherActionPotion"}}},"doAtValue":{"const":{"val":"-2.51s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":59672}}},"doAtValue":{"const":{"val":"-2.51s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":82174}}},"doAtValue":{"const":{"val":"-2.49s"}}}, - {"action":{"itemSwap":{"swapSet":"Main"}},"doAtValue":{"const":{"val":"-2.49s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":686}}},"doAtValue":{"const":{"val":"-2.49s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":33697}}},"doAtValue":{"const":{"val":"-0.5s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":348}}},"doAtValue":{"const":{"val":"-0.5s"}}} - ], + {"action":{"itemSwap":{"swapSet":"Swap1"}},"doAtValue":{"const":{"val":"-120s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":70142}}},"doAtValue":{"const":{"val":"-22.5"}}}, + {"action":{"castSpell":{"spellId":{"spellId":30146}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":77801}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, + {"action":{"castSpell":{"spellId":{"spellId":74434}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, + {"action":{"castSpell":{"spellId":{"spellId":691}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, + {"action":{"activateAura":{"auraId":{"spellId":102662}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":107986}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":109776}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":92320}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":74221,"tag":1}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"castSpell":{"spellId":{"otherId":"OtherActionPotion"}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":59672}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":82174}}},"doAtValue":{"const":{"val":"-2.49s"}}}, + {"action":{"itemSwap":{"swapSet":"Main"}},"doAtValue":{"const":{"val":"-2.49s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":686}}},"doAtValue":{"const":{"val":"-2.49s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":33697}}},"doAtValue":{"const":{"val":"-0.5s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":348}}},"doAtValue":{"const":{"val":"-0.5s"}}} + ], "priorityList": [ {"action":{"autocastOtherCooldowns":{}}}, {"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":59672}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"70s"}}}}]}},"castSpell":{"spellId":{"spellId":59672}}}}, diff --git a/ui/warlock/demonology/apls/shadow-bolt.apl.json b/ui/warlock/demonology/apls/shadow-bolt.apl.json index 35c9a9800a..ba21e82b41 100644 --- a/ui/warlock/demonology/apls/shadow-bolt.apl.json +++ b/ui/warlock/demonology/apls/shadow-bolt.apl.json @@ -1,17 +1,21 @@ { "type": "TypeAPL", "prepullActions": [ - {"action":{"itemSwap":{"swapSet":"Swap1"}},"doAtValue":{"const":{"val":"-60s"}}}, - {"action":{"castSpell":{"spellId":{"itemId":70142}}},"doAtValue":{"const":{"val":"-22.5"}}}, - {"action":{"castSpell":{"spellId":{"spellId":30146}}},"doAtValue":{"const":{"val":"-10s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":77801}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, - {"action":{"castSpell":{"spellId":{"spellId":74434}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, - {"action":{"castSpell":{"spellId":{"spellId":691}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, - {"action":{"activateAura":{"auraId":{"spellId":74221,"tag":1}}},"doAtValue":{"const":{"val":"-2.51s"}}}, - {"action":{"castSpell":{"spellId":{"otherId":"OtherActionPotion"}}},"doAtValue":{"const":{"val":"-2.51s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":59672}}},"doAtValue":{"const":{"val":"-2.51s"}}}, - {"action":{"castSpell":{"spellId":{"spellId":82174}}},"doAtValue":{"const":{"val":"-2.49s"}}}, - {"action":{"itemSwap":{"swapSet":"Main"}},"doAtValue":{"const":{"val":"-2.49s"}}}, + {"action":{"itemSwap":{"swapSet":"Swap1"}},"doAtValue":{"const":{"val":"-120s"}}}, + {"action":{"castSpell":{"spellId":{"itemId":70142}}},"doAtValue":{"const":{"val":"-22.5"}}}, + {"action":{"castSpell":{"spellId":{"spellId":30146}}},"doAtValue":{"const":{"val":"-10s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":77801}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, + {"action":{"castSpell":{"spellId":{"spellId":74434}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, + {"action":{"castSpell":{"spellId":{"spellId":691}}},"doAtValue":{"const":{"val":"-4.01s"}},"hide":true}, + {"action":{"activateAura":{"auraId":{"spellId":102662}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":107986}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":109776}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":92320}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"activateAura":{"auraId":{"spellId":74221,"tag":1}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"castSpell":{"spellId":{"otherId":"OtherActionPotion"}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":59672}}},"doAtValue":{"const":{"val":"-2.51s"}}}, + {"action":{"castSpell":{"spellId":{"spellId":82174}}},"doAtValue":{"const":{"val":"-2.49s"}}}, + {"action":{"itemSwap":{"swapSet":"Main"}},"doAtValue":{"const":{"val":"-2.49s"}}}, {"action":{"castSpell":{"spellId":{"spellId":686}}},"doAtValue":{"const":{"val":"-2.49s"}}}, {"action":{"castSpell":{"spellId":{"spellId":33697}}},"doAtValue":{"const":{"val":"-0.5s"}}}, {"action":{"castSpell":{"spellId":{"spellId":348}}},"doAtValue":{"const":{"val":"-0.5s"}}} diff --git a/ui/warlock/demonology/gear_sets/p4.gear.json b/ui/warlock/demonology/gear_sets/p4.gear.json index d67f866aa1..836e6d3895 100644 --- a/ui/warlock/demonology/gear_sets/p4.gear.json +++ b/ui/warlock/demonology/gear_sets/p4.gear.json @@ -1,21 +1,21 @@ { "items": [ { "id": 78702, "enchant": 4207, "gems": [68780, 71881], "reforging": 144 }, - { "id": 71472, "gems": [71881] }, - { "id": 78749, "enchant": 4200, "gems": [71881, 71881], "reforging": 167 }, - { "id": 77098, "gems": [71881] }, - { "id": 78730, "enchant": 4102, "gems": [71881, 71881, 71850], "reforging": 140 }, - { "id": 78417, "enchant": 4257, "gems": [71881, 0], "reforging": 165 }, + { "id": 71472, "gems": [71881], "reforging": 165 }, + { "id": 78749, "enchant": 4200, "gems": [71881, 71881], "reforging": 145 }, + { "id": 77098, "enchant": 4115, "gems": [71881], "reforging": 167 }, + { "id": 78730, "enchant": 4102, "gems": [71881, 71881, 71850] }, + { "id": 78417, "enchant": 4257, "gems": [71881, 0], "reforging": 151 }, { "id": 78461, "enchant": 4107, "gems": [71881, 71881, 0], "reforging": 144 }, { "id": 78391, "gems": [71881, 71881, 71881], "reforging": 144 }, - { "id": 78721, "enchant": 4112, "gems": [71881, 71881, 71850] }, - { "id": 78449, "gems": [71881, 71881] }, + { "id": 78721, "enchant": 4112, "gems": [71881, 71881, 71854], "reforging": 165 }, + { "id": 78449, "enchant": 4104, "gems": [71881, 71881], "reforging": 144 }, { "id": 78419, "gems": [71881], "reforging": 165 }, - { "id": 78490, "gems": [71881] }, + { "id": 78490, "gems": [71881], "reforging": 145 }, { "id": 77995 }, { "id": 78000 }, { "id": 71086, "enchant": 4097, "gems": [71881, 71881, 71881] }, {}, - { "id": 78392 } + { "id": 78392, "reforging": 165 } ] } diff --git a/ui/warlock/demonology/gear_sets/p4_item_swap.gear.json b/ui/warlock/demonology/gear_sets/p4_item_swap.gear.json new file mode 100644 index 0000000000..a05315e27e --- /dev/null +++ b/ui/warlock/demonology/gear_sets/p4_item_swap.gear.json @@ -0,0 +1,74 @@ +{ + "items": [ + { + "id": 77146, + "enchant": 4208, + "gems": [52289, 71877] + }, + { + "id": 71563 + }, + { + "id": 78749, + "enchant": 4204, + "gems": [71877, 71877] + }, + { + "id": 77098, + "enchant": 3722, + "gems": [71877] + }, + { + "id": 71407, + "enchant": 4102, + "gems": [71877, 71877] + }, + { + "id": 71989, + "enchant": 4257, + "gems": [71877, 71877, 0] + }, + { + "id": 78681, + "enchant": 4107, + "gems": [71877, 0] + }, + { + "id": 77179, + "gems": [71877, 71877, 71877] + }, + { + "id": 78721, + "enchant": 4112, + "gems": [71877, 71877, 71877] + }, + { + "id": 65116, + "enchant": 4094, + "gems": [71877] + }, + { + "id": 78432, + "gems": [71877] + }, + { + "id": 78493, + "gems": [71877] + }, + { + "id": 77990 + }, + { + "id": 65105 + }, + { + "id": 78401, + "enchant": 4083, + "gems": [71877] + }, + {}, + { + "id": 78392 + } + ] +} diff --git a/ui/warlock/demonology/presets.ts b/ui/warlock/demonology/presets.ts index 1613633e9f..9a6e37e927 100644 --- a/ui/warlock/demonology/presets.ts +++ b/ui/warlock/demonology/presets.ts @@ -29,6 +29,7 @@ import P1Gear from './gear_sets/p1.gear.json'; import P3Gear from './gear_sets/p3.gear.json'; import ItemSwapP3 from './gear_sets/p3_item_swap.gear.json'; import P4Gear from './gear_sets/p4.gear.json'; +import ItemSwapP4 from './gear_sets/p4_item_swap.gear.json'; import PreraidGear from './gear_sets/preraid.gear.json'; // Preset options for this spec. @@ -40,8 +41,8 @@ export const P1_PRESET = PresetUtils.makePresetGear('P1 - BIS', P1Gear); export const P3_PRESET = PresetUtils.makePresetGear('P3 - BIS', P3Gear); export const P4_PRESET = PresetUtils.makePresetGear('P4 - WIP', P4Gear); -export const P3_ITEM_SWAP = PresetUtils.makePresetItemSwapGear('P3 - Item Swap - Mastery', ItemSwapP3); -export const P4_ITEM_SWAP = PresetUtils.makePresetItemSwapGear('P4 - Item Swap - Mastery', ItemSwapP3); +export const P3_ITEM_SWAP = PresetUtils.makePresetItemSwapGear('P3 - Mastery', ItemSwapP3); +export const P4_ITEM_SWAP = PresetUtils.makePresetItemSwapGear('P4 - WIP - Mastery', ItemSwapP4); export const APL_ShadowBolt = PresetUtils.makePresetAPLRotation('Shadow Bolt', ShadowBoltAPL); export const APL_Incinerate = PresetUtils.makePresetAPLRotation('Incinerate', IncinerateAPL); diff --git a/ui/warlock/demonology/sim.ts b/ui/warlock/demonology/sim.ts index f4ad3a2c5c..afbe2b39a6 100644 --- a/ui/warlock/demonology/sim.ts +++ b/ui/warlock/demonology/sim.ts @@ -147,7 +147,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecDemonologyWarlock, { // Preset gear configurations that the user can quickly select. gear: [Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P3_PRESET, Presets.P4_PRESET], - itemSwaps: [Presets.P3_ITEM_SWAP], + itemSwaps: [Presets.P3_ITEM_SWAP,Presets.P4_ITEM_SWAP], builds: [Presets.PRESET_BUILD_SHADOWBOLT, Presets.PRESET_BUILD_INCINERATE], }, From 4d7f2c87d24114e6afb9ef9c83f76cf3078564b8 Mon Sep 17 00:00:00 2001 From: Adrian Klingen Date: Fri, 31 Jan 2025 17:09:45 +0100 Subject: [PATCH 3/3] Update test - APL pre-triggers Mastery trinkets --- sim/warlock/demonology/TestDemonology.results | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sim/warlock/demonology/TestDemonology.results b/sim/warlock/demonology/TestDemonology.results index 5e334efbd9..8364658dbc 100644 --- a/sim/warlock/demonology/TestDemonology.results +++ b/sim/warlock/demonology/TestDemonology.results @@ -627,8 +627,8 @@ dps_results: { dps_results: { key: "TestDemonology-AllItems-FoulGiftoftheDemonLord-72898" value: { - dps: 39025.62064 - tps: 19701.60115 + dps: 39620.53921 + tps: 20100.43657 } } dps_results: { @@ -1462,8 +1462,8 @@ dps_results: { dps_results: { key: "TestDemonology-AllItems-SoulshifterVortex-77206" value: { - dps: 37913.05767 - tps: 19031.97122 + dps: 39397.18075 + tps: 19921.33846 } } dps_results: { @@ -1476,8 +1476,8 @@ dps_results: { dps_results: { key: "TestDemonology-AllItems-SoulshifterVortex-77990" value: { - dps: 37935.35481 - tps: 19053.59413 + dps: 39592.13786 + tps: 19974.04063 } } dps_results: { @@ -1623,8 +1623,8 @@ dps_results: { dps_results: { key: "TestDemonology-AllItems-Theralion'sMirror-65105" value: { - dps: 38905.25314 - tps: 19696.34805 + dps: 40052.13418 + tps: 20281.37111 } } dps_results: {