From 5ed4562e24a5b5adbba7a727b52a50a7d22129c9 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Sun, 3 Dec 2023 08:05:08 -0800 Subject: [PATCH] Add all missing p3 and p4 presets, update raid sim to use them --- ui/balance_druid/presets.ts | 22 +- ui/core/launched_sims.ts | 2 +- ui/deathknight/presets.ts | 52 ++- ui/elemental_shaman/presets.ts | 18 +- ui/enhancement_shaman/presets.ts | 26 +- ui/feral_druid/presets.ts | 14 +- ui/feral_tank_druid/gear_sets/p3.gear.json | 19 ++ ui/feral_tank_druid/gear_sets/p4.gear.json | 19 ++ ui/feral_tank_druid/presets.ts | 16 +- ui/feral_tank_druid/sim.ts | 5 +- ui/healing_priest/gear_sets/p3_disc.gear.json | 19 ++ ui/healing_priest/gear_sets/p3_holy.gear.json | 19 ++ ui/healing_priest/gear_sets/p4_disc.gear.json | 19 ++ ui/healing_priest/gear_sets/p4_holy.gear.json | 19 ++ ui/healing_priest/presets.ts | 30 +- ui/healing_priest/sim.ts | 4 + ui/holy_paladin/gear_sets/p3.gear.json | 19 ++ ui/holy_paladin/gear_sets/p4.gear.json | 19 ++ ui/holy_paladin/presets.ts | 11 +- ui/holy_paladin/sim.ts | 2 + ui/hunter/presets.ts | 38 ++- ui/mage/presets.ts | 62 ++-- ui/protection_paladin/presets.ts | 16 +- ui/protection_warrior/presets.ts | 16 +- ui/raid/presets.ts | 298 ++++++++++++------ ui/restoration_druid/gear_sets/p3.gear.json | 19 ++ ui/restoration_druid/gear_sets/p4.gear.json | 19 ++ ui/restoration_druid/presets.ts | 11 +- ui/restoration_druid/sim.ts | 2 + ui/restoration_shaman/gear_sets/p3.gear.json | 19 ++ ui/restoration_shaman/gear_sets/p4.gear.json | 19 ++ ui/restoration_shaman/presets.ts | 11 +- ui/restoration_shaman/sim.ts | 2 + ui/retribution_paladin/presets.ts | 16 +- ui/rogue/presets.ts | 52 ++- ui/shadow_priest/presets.ts | 19 +- ui/smite_priest/presets.ts | 8 +- .../gear_sets/p3_blood.gear.json | 19 ++ .../gear_sets/p4_blood.gear.json | 19 ++ ui/tank_deathknight/presets.ts | 17 +- ui/tank_deathknight/sim.ts | 2 + ui/warlock/presets.ts | 40 ++- .../gear_sets/p4_arms_alliance.gear.json | 19 ++ ui/warrior/gear_sets/p4_arms_horde.gear.json | 19 ++ .../gear_sets/p4_fury_alliance.gear.json | 19 ++ ui/warrior/gear_sets/p4_fury_horde.gear.json | 19 ++ ui/warrior/presets.ts | 48 +-- ui/warrior/sim.ts | 4 + 48 files changed, 837 insertions(+), 369 deletions(-) create mode 100644 ui/feral_tank_druid/gear_sets/p3.gear.json create mode 100644 ui/feral_tank_druid/gear_sets/p4.gear.json create mode 100644 ui/healing_priest/gear_sets/p3_disc.gear.json create mode 100644 ui/healing_priest/gear_sets/p3_holy.gear.json create mode 100644 ui/healing_priest/gear_sets/p4_disc.gear.json create mode 100644 ui/healing_priest/gear_sets/p4_holy.gear.json create mode 100644 ui/holy_paladin/gear_sets/p3.gear.json create mode 100644 ui/holy_paladin/gear_sets/p4.gear.json create mode 100644 ui/restoration_druid/gear_sets/p3.gear.json create mode 100644 ui/restoration_druid/gear_sets/p4.gear.json create mode 100644 ui/restoration_shaman/gear_sets/p3.gear.json create mode 100644 ui/restoration_shaman/gear_sets/p4.gear.json create mode 100644 ui/tank_deathknight/gear_sets/p3_blood.gear.json create mode 100644 ui/tank_deathknight/gear_sets/p4_blood.gear.json create mode 100644 ui/warrior/gear_sets/p4_arms_alliance.gear.json create mode 100644 ui/warrior/gear_sets/p4_arms_horde.gear.json create mode 100644 ui/warrior/gear_sets/p4_fury_alliance.gear.json create mode 100644 ui/warrior/gear_sets/p4_fury_horde.gear.json diff --git a/ui/balance_druid/presets.ts b/ui/balance_druid/presets.ts index 656852dc1a..794cebb306 100644 --- a/ui/balance_druid/presets.ts +++ b/ui/balance_druid/presets.ts @@ -29,32 +29,30 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; -import P3AllianceGear from './gear_sets/p3_alliance.gear.json'; -import P3HordeGear from './gear_sets/p3_horde.gear.json'; -import P4HordeGear from './gear_sets/p4_horde.gear.json'; -import P4AllianceGear from './gear_sets/p4_alliance.gear.json'; - -import BasicP3AplJson from './apls/basic_p3.apl.json'; -import P4FocusAplJson from './apls/p4_focus_glyph.apl.json'; -import P4StarfireAplJson from './apls/p4_starfire_glyph.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('Pre-raid Preset', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3AllianceGear from './gear_sets/p3_alliance.gear.json'; export const P3_PRESET_ALLI = PresetUtils.makePresetGear('P3 Preset [A]', P3AllianceGear, { faction: Faction.Alliance }); +import P3HordeGear from './gear_sets/p3_horde.gear.json'; export const P3_PRESET_HORDE = PresetUtils.makePresetGear('P3 Preset [H]', P3HordeGear, { faction: Faction.Horde }); +import P4AllianceGear from './gear_sets/p4_alliance.gear.json'; export const P4_PRESET_ALLI = PresetUtils.makePresetGear('P4 Preset [A]', P4AllianceGear, { faction: Faction.Alliance }); +import P4HordeGear from './gear_sets/p4_horde.gear.json'; export const P4_PRESET_HORDE = PresetUtils.makePresetGear('P4 Preset [H]', P4HordeGear, { faction: Faction.Horde }); +import BasicP3AplJson from './apls/basic_p3.apl.json'; export const ROTATION_PRESET_P3_APL = PresetUtils.makePresetAPLRotation('P3', BasicP3AplJson); +import P4FocusAplJson from './apls/p4_focus_glyph.apl.json'; export const ROTATION_PRESET_P4_FOCUS_APL = PresetUtils.makePresetAPLRotation('P4 Focus Glyph', P4FocusAplJson); +import P4StarfireAplJson from './apls/p4_starfire_glyph.apl.json'; export const ROTATION_PRESET_P4_STARFIRE_APL = PresetUtils.makePresetAPLRotation('P4 Starfire Glyph', P4StarfireAplJson); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/core/launched_sims.ts b/ui/core/launched_sims.ts index 0cd2c2209a..b48688abf4 100644 --- a/ui/core/launched_sims.ts +++ b/ui/core/launched_sims.ts @@ -11,7 +11,7 @@ export enum LaunchStatus { Launched, } -export const raidSimStatus: LaunchStatus = LaunchStatus.Beta; +export const raidSimStatus: LaunchStatus = LaunchStatus.Launched; // This list controls which links are shown in the top-left dropdown menu. export const simLaunchStatuses: Record = { diff --git a/ui/deathknight/presets.ts b/ui/deathknight/presets.ts index aeaa53fb19..f29f1149a8 100644 --- a/ui/deathknight/presets.ts +++ b/ui/deathknight/presets.ts @@ -29,54 +29,45 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import P1BloodGear from './gear_sets/p1_blood.gear.json'; -import P2BloodGear from './gear_sets/p2_blood.gear.json'; -import P3BloodGear from './gear_sets/p3_blood.gear.json'; -import P4BloodGear from './gear_sets/p4_blood.gear.json'; -import PreraidUh2hGear from './gear_sets/preraid_uh_2h.gear.json'; -import P1Uh2hGear from './gear_sets/p1_uh_2h.gear.json'; -import P4Uh2hGear from './gear_sets/p4_uh_2h.gear.json'; -import PreraidUhDwGear from './gear_sets/preraid_uh_dw.gear.json'; -import P1UhDwGear from './gear_sets/p1_uh_dw.gear.json'; -import P2UhDwGear from './gear_sets/p2_uh_dw.gear.json'; -import P3UhDwGear from './gear_sets/p3_uh_dw.gear.json'; -import P4UhDwGear from './gear_sets/p4_uh_dw.gear.json'; -import PreraidFrostGear from './gear_sets/preraid_frost.gear.json'; -import P1FrostGear from './gear_sets/p1_frost.gear.json'; -import P2FrostGear from './gear_sets/p2_frost.gear.json'; -import P3FrostGear from './gear_sets/p3_frost.gear.json'; -import P4FrostGear from './gear_sets/p4_frost.gear.json'; -import P1FrostSubUhGear from './gear_sets/p1_frost_subUh.gear.json'; - -import BloodDPSApl from './apls/blood_dps.apl.json'; -import BloodPestiAoeApl from './apls/blood_pesti_aoe.apl.json'; -import FrostBlPestiApl from './apls/frost_bl_pesti.apl.json'; -import FrostUhPestiApl from './apls/frost_uh_pesti.apl.json'; -import UhDwSsApl from './apls/unholy_dw_ss.apl.json'; -import Uh2hSsApl from './apls/uh_2h_ss.apl.json'; -import UhDndAoeApl from './apls/uh_dnd_aoe.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import P1BloodGear from './gear_sets/p1_blood.gear.json'; export const P1_BLOOD_PRESET = PresetUtils.makePresetGear('P1 Blood', P1BloodGear, { talentTree: 0 }); +import P2BloodGear from './gear_sets/p2_blood.gear.json'; export const P2_BLOOD_PRESET = PresetUtils.makePresetGear('P2 Blood', P2BloodGear, { talentTree: 0 }); +import P3BloodGear from './gear_sets/p3_blood.gear.json'; export const P3_BLOOD_PRESET = PresetUtils.makePresetGear('P3 Blood', P3BloodGear, { talentTree: 0 }); +import P4BloodGear from './gear_sets/p4_blood.gear.json'; export const P4_BLOOD_PRESET = PresetUtils.makePresetGear('P4 Blood', P4BloodGear, { talentTree: 0 }); +import PreraidFrostGear from './gear_sets/preraid_frost.gear.json'; export const PRERAID_FROST_PRESET = PresetUtils.makePresetGear('Pre-Raid Frost', PreraidFrostGear, { talentTree: 1 }); +import P1FrostGear from './gear_sets/p1_frost.gear.json'; export const P1_FROST_PRESET = PresetUtils.makePresetGear('P1 Frost', P1FrostGear, { talentTree: 1 }); +import P2FrostGear from './gear_sets/p2_frost.gear.json'; export const P2_FROST_PRESET = PresetUtils.makePresetGear('P2 Frost', P2FrostGear, { talentTree: 1 }); +import P3FrostGear from './gear_sets/p3_frost.gear.json'; export const P3_FROST_PRESET = PresetUtils.makePresetGear('P3 Frost', P3FrostGear, { talentTree: 1 }); +import P4FrostGear from './gear_sets/p4_frost.gear.json'; export const P4_FROST_PRESET = PresetUtils.makePresetGear('P4 Frost', P4FrostGear, { talentTree: 1 }); +import P1FrostSubUhGear from './gear_sets/p1_frost_subUh.gear.json'; export const P1_FROSTSUBUNH_PRESET = PresetUtils.makePresetGear('P1 Frost Sub Unh', P1FrostSubUhGear, { talentTree: 1 }); +import PreraidUh2hGear from './gear_sets/preraid_uh_2h.gear.json'; export const PRERAID_UNHOLY_2H_PRESET = PresetUtils.makePresetGear('Pre-Raid 2H Unholy', PreraidUh2hGear, { talentTree: 2 }); +import P1Uh2hGear from './gear_sets/p1_uh_2h.gear.json'; export const P1_UNHOLY_2H_PRESET = PresetUtils.makePresetGear('P1 2H Unholy', P1Uh2hGear, { talentTree: 2 }); +import P4Uh2hGear from './gear_sets/p4_uh_2h.gear.json'; export const P4_UNHOLY_2H_PRESET = PresetUtils.makePresetGear('P4 2H Unholy', P4Uh2hGear, { talentTree: 2 }); +import PreraidUhDwGear from './gear_sets/preraid_uh_dw.gear.json'; export const PRERAID_UNHOLY_DW_PRESET = PresetUtils.makePresetGear('Pre-Raid DW Unholy', PreraidUhDwGear, { talentTree: 2 }); +import P1UhDwGear from './gear_sets/p1_uh_dw.gear.json'; export const P1_UNHOLY_DW_PRESET = PresetUtils.makePresetGear('P1 DW Unholy', P1UhDwGear, { talentTree: 2 }); +import P2UhDwGear from './gear_sets/p2_uh_dw.gear.json'; export const P2_UNHOLY_DW_PRESET = PresetUtils.makePresetGear('P2 DW Unholy', P2UhDwGear, { talentTree: 2 }); +import P3UhDwGear from './gear_sets/p3_uh_dw.gear.json'; export const P3_UNHOLY_DW_PRESET = PresetUtils.makePresetGear('P3 DW Unholy', P3UhDwGear, { talentTree: 2 }); +import P4UhDwGear from './gear_sets/p4_uh_dw.gear.json'; export const P4_UNHOLY_DW_PRESET = PresetUtils.makePresetGear('P4 DW Unholy', P4UhDwGear, { talentTree: 2 }); export const DefaultUnholyRotation = DeathKnightRotation.create({ @@ -147,12 +138,19 @@ export const BLOOD_ROTATION_PRESET_LEGACY_DEFAULT = PresetUtils.makePresetLegacy export const FROST_ROTATION_PRESET_LEGACY_DEFAULT = PresetUtils.makePresetLegacyRotation('Frost Legacy', Spec.SpecDeathknight, DefaultFrostRotation, { talentTree: 1 }); export const UNHOLY_DW_ROTATION_PRESET_LEGACY_DEFAULT = PresetUtils.makePresetLegacyRotation('Unholy DW Legacy', Spec.SpecDeathknight, DefaultUnholyRotation, { talentTree: 2 }); +import BloodDPSApl from './apls/blood_dps.apl.json'; export const BLOOD_DPS_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Blood DPS', BloodDPSApl, { talentTree: 0 }); +import BloodPestiAoeApl from './apls/blood_pesti_aoe.apl.json'; export const BLOOD_PESTI_AOE_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Blood Pesti AOE', BloodPestiAoeApl, { talentTree: 0 }); +import FrostBlPestiApl from './apls/frost_bl_pesti.apl.json'; export const FROST_BL_PESTI_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Frost BL Pesti', FrostBlPestiApl, { talentTree: 1 }); +import FrostUhPestiApl from './apls/frost_uh_pesti.apl.json'; export const FROST_UH_PESTI_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Frost UH Pesti', FrostUhPestiApl, { talentTree: 1 }); +import UhDwSsApl from './apls/unholy_dw_ss.apl.json'; export const UNHOLY_DW_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Unholy DW SS', UhDwSsApl, { talentTree: 2 }); +import Uh2hSsApl from './apls/uh_2h_ss.apl.json'; export const UNHOLY_2H_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Unholy 2H SS', Uh2hSsApl, { talentTree: 2 }); +import UhDndAoeApl from './apls/uh_dnd_aoe.apl.json'; export const UNHOLY_DND_AOE_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Unholy DND AOE', UhDndAoeApl, { talentTree: 2 }); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/elemental_shaman/presets.ts b/ui/elemental_shaman/presets.ts index ba40cbe940..fba358df48 100644 --- a/ui/elemental_shaman/presets.ts +++ b/ui/elemental_shaman/presets.ts @@ -26,25 +26,21 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; -import P3AllianceGear from './gear_sets/p3_alliance.gear.json'; -import P3HordeGear from './gear_sets/p3_horde.gear.json'; -import P4Gear from './gear_sets/p4.gear.json'; - -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 // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('Pre-raid Preset', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3AllianceGear from './gear_sets/p3_alliance.gear.json'; export const P3_PRESET_ALLI = PresetUtils.makePresetGear('P3 Preset [A]', P3AllianceGear, { faction: Faction.Alliance }); +import P3HordeGear from './gear_sets/p3_horde.gear.json'; export const P3_PRESET_HORDE = PresetUtils.makePresetGear('P3 Preset [H]', P3HordeGear, { faction: Faction.Horde }); +import P4Gear from './gear_sets/p4.gear.json'; export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); export const DefaultRotation = ElementalShamanRotation.create({ @@ -64,7 +60,9 @@ export const DefaultRotation = ElementalShamanRotation.create({ }); export const ROTATION_PRESET_LEGACY = PresetUtils.makePresetLegacyRotation('Legacy', Spec.SpecElementalShaman, DefaultRotation); +import DefaultApl from './apls/default.apl.json'; export const ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Default', DefaultApl); +import AdvancedApl from './apls/advanced.apl.json'; export const ROTATION_PRESET_ADVANCED = PresetUtils.makePresetAPLRotation('Advanced', AdvancedApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/enhancement_shaman/presets.ts b/ui/enhancement_shaman/presets.ts index 03bc5e413c..43421f6e1b 100644 --- a/ui/enhancement_shaman/presets.ts +++ b/ui/enhancement_shaman/presets.ts @@ -30,31 +30,25 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2FtGear from './gear_sets/p2_ft.gear.json'; -import P2WfGear from './gear_sets/p2_wf.gear.json'; -import P3AllianceGear from './gear_sets/p3_alliance.gear.json'; -import P3HordeGear from './gear_sets/p3_horde.gear.json'; -import P4FtGear from './gear_sets/p4_ft.gear.json'; -import P4WfGear from './gear_sets/p4_wf.gear.json'; - -import DefaultFt from './apls/default_ft.apl.json'; -import DefaultWf from './apls/default_wf.apl.json'; -import Phase3Apl from './apls/phase_3.apl.json'; -import { TotemsSection } from 'ui/core/components/totem_inputs.js'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('Preraid Preset', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2FtGear from './gear_sets/p2_ft.gear.json'; export const P2_PRESET_FT = PresetUtils.makePresetGear('P2 Preset FT', P2FtGear); +import P2WfGear from './gear_sets/p2_wf.gear.json'; export const P2_PRESET_WF = PresetUtils.makePresetGear('P2 Preset WF', P2WfGear); +import P3AllianceGear from './gear_sets/p3_alliance.gear.json'; export const P3_PRESET_ALLIANCE = PresetUtils.makePresetGear('P3 Preset [A]', P3AllianceGear, { faction: Faction.Alliance }); +import P3HordeGear from './gear_sets/p3_horde.gear.json'; export const P3_PRESET_HORDE = PresetUtils.makePresetGear('P3 Preset [H]', P3HordeGear, { faction: Faction.Horde }); +import P4FtGear from './gear_sets/p4_ft.gear.json'; export const P4_PRESET_FT = PresetUtils.makePresetGear('P4 Preset FT', P4FtGear); +import P4WfGear from './gear_sets/p4_wf.gear.json'; export const P4_PRESET_WF = PresetUtils.makePresetGear('P4 Preset WF', P4WfGear); export const DefaultRotation = EnhancementShamanRotation.create({ @@ -92,8 +86,12 @@ export const DefaultRotation = EnhancementShamanRotation.create({ }), }); + +import DefaultFt from './apls/default_ft.apl.json'; export const ROTATION_FT_DEFAULT = PresetUtils.makePresetAPLRotation('Default FT', DefaultFt); +import DefaultWf from './apls/default_wf.apl.json'; export const ROTATION_WF_DEFAULT = PresetUtils.makePresetAPLRotation('Default WF', DefaultWf); +import Phase3Apl from './apls/phase_3.apl.json'; export const ROTATION_PHASE_3 = PresetUtils.makePresetAPLRotation('Phase 3', Phase3Apl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/feral_druid/presets.ts b/ui/feral_druid/presets.ts index 478c8e6f7c..523d4be4e8 100644 --- a/ui/feral_druid/presets.ts +++ b/ui/feral_druid/presets.ts @@ -20,22 +20,22 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; -import P3Gear from './gear_sets/p3.gear.json'; -import P4Gear from './gear_sets/p4.gear.json'; -import DefaultApl from './apls/default.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('Preraid Preset', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3Gear from './gear_sets/p3.gear.json'; export const P3_PRESET = PresetUtils.makePresetGear('P3 Preset', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; 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); export const DefaultRotation = FeralDruidRotation.create({ diff --git a/ui/feral_tank_druid/gear_sets/p3.gear.json b/ui/feral_tank_druid/gear_sets/p3.gear.json new file mode 100644 index 0000000000..9b2064a9c9 --- /dev/null +++ b/ui/feral_tank_druid/gear_sets/p3.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":48204,"enchant":3878,"gems":[41339,40169]}, + {"id":47133,"gems":[49110]}, + {"id":48207,"enchant":3852,"gems":[40119]}, + {"id":47545,"enchant":3294,"gems":[40119]}, + {"id":47004,"enchant":3832,"gems":[40119,40119,40119]}, + {"id":45611,"enchant":3850,"gems":[40119,0]}, + {"id":48203,"enchant":3860,"gems":[40119,0]}, + {"id":47112,"gems":[40119,40119,40119]}, + {"id":46975,"enchant":3822,"gems":[40119,40119,40119]}, + {"id":47077,"enchant":3606,"gems":[40119,40119]}, + {"id":47955,"gems":[40119]}, + {"id":47075,"gems":[40119]}, + {"id":47088}, + {"id":47131}, + {"id":47130,"enchant":3870,"gems":[40119,40119]}, + {}, + {"id":45509} +]} \ No newline at end of file diff --git a/ui/feral_tank_druid/gear_sets/p4.gear.json b/ui/feral_tank_druid/gear_sets/p4.gear.json new file mode 100644 index 0000000000..2e434e7f32 --- /dev/null +++ b/ui/feral_tank_druid/gear_sets/p4.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51296,"enchant":3878,"gems":[41380,40119]}, + {"id":50682,"gems":[40130]}, + {"id":51299,"enchant":3852,"gems":[40119]}, + {"id":50466,"enchant":3294,"gems":[40119]}, + {"id":50656,"enchant":3330,"gems":[40119,40119,40119]}, + {"id":50670,"enchant":3850,"gems":[40119,0]}, + {"id":51295,"enchant":3860,"gems":[40119,0]}, + {"id":50707,"gems":[40119,40119,40119]}, + {"id":51297,"enchant":3822,"gems":[40119,40119]}, + {"id":50607,"enchant":3606,"gems":[40119,40119]}, + {"id":50622,"gems":[40119]}, + {"id":50404,"gems":[40119]}, + {"id":47088}, + {"id":50364}, + {"id":51432,"enchant":3870,"gems":[40119,40119]}, + {}, + {"id":50456} +]} \ No newline at end of file diff --git a/ui/feral_tank_druid/presets.ts b/ui/feral_tank_druid/presets.ts index 96cfbb85c7..aee2c3007d 100644 --- a/ui/feral_tank_druid/presets.ts +++ b/ui/feral_tank_druid/presets.ts @@ -21,17 +21,18 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; - -import DefaultApl from './apls/default.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. -export const P1_PRESET = PresetUtils.makePresetGear('P1 Boss Tanking', P1Gear); -export const P2_PRESET = PresetUtils.makePresetGear('P2 Boss Tanking', P2Gear); +import P1Gear from './gear_sets/p1.gear.json'; +export const P1_PRESET = PresetUtils.makePresetGear('P1', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; +export const P2_PRESET = PresetUtils.makePresetGear('P2', P2Gear); +import P3Gear from './gear_sets/p3.gear.json'; +export const P3_PRESET = PresetUtils.makePresetGear('P3', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; +export const P4_PRESET = PresetUtils.makePresetGear('P4', P4Gear); export const DefaultSimpleRotation = DruidRotation.create({ maulRageThreshold: 25, @@ -39,6 +40,7 @@ export const DefaultSimpleRotation = DruidRotation.create({ lacerateTime: 8.0, }); +import DefaultApl from './apls/default.apl.json'; export const ROTATION_DEFAULT = PresetUtils.makePresetAPLRotation('APL Default', DefaultApl); export const ROTATION_PRESET_SIMPLE = PresetUtils.makePresetSimpleRotation('Simple Default', Spec.SpecFeralTankDruid, DefaultSimpleRotation); diff --git a/ui/feral_tank_druid/sim.ts b/ui/feral_tank_druid/sim.ts index 401b0d0afc..c050d12f6f 100644 --- a/ui/feral_tank_druid/sim.ts +++ b/ui/feral_tank_druid/sim.ts @@ -189,7 +189,10 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecFeralTankDruid, { ], // Preset gear configurations that the user can quickly select. gear: [ - Presets.P1_PRESET, Presets.P2_PRESET + Presets.P1_PRESET, + Presets.P2_PRESET, + Presets.P3_PRESET, + Presets.P4_PRESET, ], }, diff --git a/ui/healing_priest/gear_sets/p3_disc.gear.json b/ui/healing_priest/gear_sets/p3_disc.gear.json new file mode 100644 index 0000000000..c58b0852c9 --- /dev/null +++ b/ui/healing_priest/gear_sets/p3_disc.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":46197,"enchant":3820,"gems":[41401,40113]}, + {"id":47930,"gems":[40113]}, + {"id":46190,"enchant":3810,"gems":[40113]}, + {"id":47490,"enchant":3859,"gems":[40134]}, + {"id":46193,"enchant":3832,"gems":[40113,40113]}, + {"id":47587,"enchant":3758,"gems":[40113,0]}, + {"id":46188,"enchant":3246,"gems":[40113,0]}, + {"id":45619,"gems":[40113,40113,40113]}, + {"id":47189,"enchant":3721,"gems":[40113,40113,40113]}, + {"id":46050,"enchant":3606,"gems":[40113,40113]}, + {"id":46096,"gems":[40113]}, + {"id":47224,"gems":[40151]}, + {"id":40432}, + {"id":47059}, + {"id":47206,"enchant":3834}, + {"id":47146}, + {"id":45294,"gems":[40113]} +]} \ No newline at end of file diff --git a/ui/healing_priest/gear_sets/p3_holy.gear.json b/ui/healing_priest/gear_sets/p3_holy.gear.json new file mode 100644 index 0000000000..30ffc5479e --- /dev/null +++ b/ui/healing_priest/gear_sets/p3_holy.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":49482,"enchant":3820,"gems":[41401,40174]}, + {"id":45443,"gems":[40128]}, + {"id":46068,"enchant":3810,"gems":[40128,40128]}, + {"id":46977,"enchant":3831,"gems":[40128]}, + {"id":47603,"enchant":3832,"gems":[40128,40128,40128]}, + {"id":47585,"enchant":3758,"gems":[40128,0]}, + {"id":47983,"enchant":3604,"gems":[40128,40128]}, + {"id":45619,"gems":[40128,40128,40128]}, + {"id":47985,"enchant":3721,"gems":[40128,40128]}, + {"id":45135,"enchant":3606,"gems":[40155,40128]}, + {"id":45946,"gems":[40128]}, + {"id":47224,"gems":[40128]}, + {"id":45535}, + {"id":47059}, + {"id":47206,"enchant":3834}, + {"id":47146}, + {"id":47922} +]} \ No newline at end of file diff --git a/ui/healing_priest/gear_sets/p4_disc.gear.json b/ui/healing_priest/gear_sets/p4_disc.gear.json new file mode 100644 index 0000000000..f6e498a8c4 --- /dev/null +++ b/ui/healing_priest/gear_sets/p4_disc.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51178,"enchant":3820,"gems":[41401,40134]}, + {"id":50700,"gems":[40113]}, + {"id":51175,"enchant":3810,"gems":[40113]}, + {"id":47551,"enchant":3859,"gems":[40113]}, + {"id":51176,"enchant":3832,"gems":[40113,40151]}, + {"id":51918,"enchant":3758,"gems":[40113,0]}, + {"id":51179,"enchant":3246,"gems":[40113,0]}, + {"id":50702,"gems":[40113,40113,40113]}, + {"id":51823,"enchant":3721,"gems":[40113,40113,40113]}, + {"id":51850,"enchant":3606,"gems":[40113,40113]}, + {"id":50720,"gems":[40113]}, + {"id":50400,"gems":[40113]}, + {"id":50366}, + {"id":47059}, + {"id":51944,"enchant":3834,"gems":[40113]}, + {"id":51922,"gems":[40113]}, + {"id":50631,"gems":[40113]} +]} \ No newline at end of file diff --git a/ui/healing_priest/gear_sets/p4_holy.gear.json b/ui/healing_priest/gear_sets/p4_holy.gear.json new file mode 100644 index 0000000000..30ffc5479e --- /dev/null +++ b/ui/healing_priest/gear_sets/p4_holy.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":49482,"enchant":3820,"gems":[41401,40174]}, + {"id":45443,"gems":[40128]}, + {"id":46068,"enchant":3810,"gems":[40128,40128]}, + {"id":46977,"enchant":3831,"gems":[40128]}, + {"id":47603,"enchant":3832,"gems":[40128,40128,40128]}, + {"id":47585,"enchant":3758,"gems":[40128,0]}, + {"id":47983,"enchant":3604,"gems":[40128,40128]}, + {"id":45619,"gems":[40128,40128,40128]}, + {"id":47985,"enchant":3721,"gems":[40128,40128]}, + {"id":45135,"enchant":3606,"gems":[40155,40128]}, + {"id":45946,"gems":[40128]}, + {"id":47224,"gems":[40128]}, + {"id":45535}, + {"id":47059}, + {"id":47206,"enchant":3834}, + {"id":47146}, + {"id":47922} +]} \ No newline at end of file diff --git a/ui/healing_priest/presets.ts b/ui/healing_priest/presets.ts index af2c434648..14e144e116 100644 --- a/ui/healing_priest/presets.ts +++ b/ui/healing_priest/presets.ts @@ -25,26 +25,30 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidDiscGear from './gear_sets/preraid_disc.gear.json'; -import PreraidHolyGear from './gear_sets/preraid_holy.gear.json'; -import P1DiscGear from './gear_sets/p1_disc.gear.json'; -import P1HolyGear from './gear_sets/p1_holy.gear.json'; -import P2DiscGear from './gear_sets/p2_disc.gear.json'; -import P2HolyGear from './gear_sets/p2_holy.gear.json'; - -import DiscApl from './apls/disc.apl.json'; -import HolyApl from './apls/holy.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidDiscGear from './gear_sets/preraid_disc.gear.json'; +import PreraidHolyGear from './gear_sets/preraid_holy.gear.json'; export const DISC_PRERAID_PRESET = PresetUtils.makePresetGear('Disc Preraid Preset', PreraidDiscGear, { talentTree: 0 }); -export const DISC_P1_PRESET = PresetUtils.makePresetGear('Disc P1 Preset', P1DiscGear, { talentTree: 0 }); -export const DISC_P2_PRESET = PresetUtils.makePresetGear('Disc P2 Preset', P2DiscGear, { talentTree: 0 }); export const HOLY_PRERAID_PRESET = PresetUtils.makePresetGear('Holy Preraid Preset', PreraidHolyGear, { talentTree: 1 }); +import P1DiscGear from './gear_sets/p1_disc.gear.json'; +import P1HolyGear from './gear_sets/p1_holy.gear.json'; +export const DISC_P1_PRESET = PresetUtils.makePresetGear('Disc P1 Preset', P1DiscGear, { talentTree: 0 }); export const HOLY_P1_PRESET = PresetUtils.makePresetGear('Holy P1 Preset', P1HolyGear, { talentTree: 1 }); +import P2DiscGear from './gear_sets/p2_disc.gear.json'; +import P2HolyGear from './gear_sets/p2_holy.gear.json'; +export const DISC_P2_PRESET = PresetUtils.makePresetGear('Disc P2 Preset', P2DiscGear, { talentTree: 0 }); export const HOLY_P2_PRESET = PresetUtils.makePresetGear('Holy P2 Preset', P2HolyGear, { talentTree: 1 }); +import P3DiscGear from './gear_sets/p3_disc.gear.json'; +import P3HolyGear from './gear_sets/p3_holy.gear.json'; +export const DISC_P3_PRESET = PresetUtils.makePresetGear('Disc P3 Preset', P3DiscGear, { talentTree: 0 }); +export const HOLY_P3_PRESET = PresetUtils.makePresetGear('Holy P3 Preset', P3HolyGear, { talentTree: 1 }); +import P4DiscGear from './gear_sets/p4_disc.gear.json'; +import P4HolyGear from './gear_sets/p4_holy.gear.json'; +export const DISC_P4_PRESET = PresetUtils.makePresetGear('Disc P4 Preset', P4DiscGear, { talentTree: 0 }); +export const HOLY_P4_PRESET = PresetUtils.makePresetGear('Holy P4 Preset', P4HolyGear, { talentTree: 1 }); export const DiscDefaultRotation = Rotation.create({ type: RotationType.Cycle, @@ -70,7 +74,9 @@ export const HolyDefaultRotation = Rotation.create({ }), }); +import DiscApl from './apls/disc.apl.json'; export const ROTATION_PRESET_DISC = PresetUtils.makePresetAPLRotation('Disc', DiscApl); +import HolyApl from './apls/holy.apl.json'; export const ROTATION_PRESET_HOLY = PresetUtils.makePresetAPLRotation('Holy', HolyApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/healing_priest/sim.ts b/ui/healing_priest/sim.ts index 118f3d81fd..de2bc9dd81 100644 --- a/ui/healing_priest/sim.ts +++ b/ui/healing_priest/sim.ts @@ -111,9 +111,13 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHealingPriest, { Presets.DISC_PRERAID_PRESET, Presets.DISC_P1_PRESET, Presets.DISC_P2_PRESET, + Presets.DISC_P3_PRESET, + Presets.DISC_P4_PRESET, Presets.HOLY_PRERAID_PRESET, Presets.HOLY_P1_PRESET, Presets.HOLY_P2_PRESET, + Presets.HOLY_P3_PRESET, + Presets.HOLY_P4_PRESET, ], }, diff --git a/ui/holy_paladin/gear_sets/p3.gear.json b/ui/holy_paladin/gear_sets/p3.gear.json new file mode 100644 index 0000000000..dfcbfdc791 --- /dev/null +++ b/ui/holy_paladin/gear_sets/p3.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":46180,"enchant":3820,"gems":[41401,40123]}, + {"id":47468,"gems":[40123]}, + {"id":46182,"enchant":3810,"gems":[40123]}, + {"id":47551,"enchant":3831,"gems":[40123]}, + {"id":47471,"enchant":3832,"gems":[42148,42148,42148]}, + {"id":45460,"enchant":1119,"gems":[40123,0]}, + {"id":46179,"enchant":3604,"gems":[40151,0]}, + {"id":47997,"gems":[40175,40123]}, + {"id":46181,"enchant":3721,"gems":[40123,40123]}, + {"id":47424,"enchant":3606,"gems":[40123,40123]}, + {"id":47439,"gems":[40123]}, + {"id":45614,"gems":[40123]}, + {"id":46051}, + {"id":37111}, + {"id":46017,"enchant":2666}, + {"id":47448,"enchant":1128,"gems":[40123]}, + {"id":40705} +]} \ No newline at end of file diff --git a/ui/holy_paladin/gear_sets/p4.gear.json b/ui/holy_paladin/gear_sets/p4.gear.json new file mode 100644 index 0000000000..52756a1e3f --- /dev/null +++ b/ui/holy_paladin/gear_sets/p4.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51272,"enchant":3820,"gems":[41401,49110]}, + {"id":51871,"gems":[40123]}, + {"id":51273,"enchant":3810,"gems":[40123]}, + {"id":51826,"enchant":3831,"gems":[40123]}, + {"id":50680,"enchant":3832,"gems":[42148,42148,42148]}, + {"id":50687,"enchant":1119,"gems":[40123,0]}, + {"id":50703,"enchant":3604,"gems":[40123,40123,0]}, + {"id":51919,"gems":[40123,40123,40123]}, + {"id":49891,"enchant":3721,"gems":[40123,40123,40123]}, + {"id":51920,"enchant":3606,"gems":[40123,40123]}, + {"id":50610,"gems":[40123]}, + {"id":50400,"gems":[40123]}, + {"id":46051}, + {"id":37111}, + {"id":46017,"enchant":2666}, + {"id":50616,"enchant":1128,"gems":[40123]}, + {"id":40705} +]} \ No newline at end of file diff --git a/ui/holy_paladin/presets.ts b/ui/holy_paladin/presets.ts index 751b6587f4..05ab8e31ab 100644 --- a/ui/holy_paladin/presets.ts +++ b/ui/holy_paladin/presets.ts @@ -17,17 +17,20 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('PreRaid', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3Gear from './gear_sets/p3.gear.json'; +export const P3_PRESET = PresetUtils.makePresetGear('P3 Preset', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; +export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); // 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/holy_paladin/sim.ts b/ui/holy_paladin/sim.ts index e3b1c74793..f4c387e1a6 100644 --- a/ui/holy_paladin/sim.ts +++ b/ui/holy_paladin/sim.ts @@ -149,6 +149,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecHolyPaladin, { Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P2_PRESET, + Presets.P3_PRESET, + Presets.P4_PRESET, ], }, diff --git a/ui/hunter/presets.ts b/ui/hunter/presets.ts index 853e173adc..2f4772a3a8 100644 --- a/ui/hunter/presets.ts +++ b/ui/hunter/presets.ts @@ -23,41 +23,33 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidMMGear from './gear_sets/preraid_mm.gear.json'; -import P1MMGear from './gear_sets/p1_mm.gear.json'; -import P2MMGear from './gear_sets/p2_mm.gear.json'; -import P3MMGear from './gear_sets/p3_mm.gear.json'; -import P4MMGear from './gear_sets/p4_mm.gear.json'; -import P5MMGear from './gear_sets/p5_mm.gear.json'; -import PreraidSVGear from './gear_sets/preraid_sv.gear.json'; -import P1SVGear from './gear_sets/p1_sv.gear.json'; -import P2SVGear from './gear_sets/p2_sv.gear.json'; -import P3SVGear from './gear_sets/p3_sv.gear.json'; -import P4SVGear from './gear_sets/p4_sv.gear.json'; -import P5SVGear from './gear_sets/p5_sv.gear.json'; - -import BmApl from './apls/bm.apl.json'; -import MmApl from './apls/mm.apl.json'; -import MmAdvApl from './apls/mm_advanced.apl.json'; -import SvApl from './apls/sv.apl.json'; -import SvAdvApl from './apls/sv_advanced.apl.json'; -import AoeApl from './apls/aoe.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidMMGear from './gear_sets/preraid_mm.gear.json'; export const MM_PRERAID_PRESET = PresetUtils.makePresetGear('MM PreRaid Preset', PreraidMMGear, { talentTrees: [0, 1] }); +import P1MMGear from './gear_sets/p1_mm.gear.json'; export const MM_P1_PRESET = PresetUtils.makePresetGear('MM P1 Preset', P1MMGear, { talentTrees: [0, 1] }); +import P2MMGear from './gear_sets/p2_mm.gear.json'; export const MM_P2_PRESET = PresetUtils.makePresetGear('MM P2 Preset', P2MMGear, { talentTrees: [0, 1] }); +import P3MMGear from './gear_sets/p3_mm.gear.json'; export const MM_P3_PRESET = PresetUtils.makePresetGear('MM P3 Preset', P3MMGear, { talentTrees: [0, 1] }); +import P4MMGear from './gear_sets/p4_mm.gear.json'; export const MM_P4_PRESET = PresetUtils.makePresetGear('MM P4 Preset', P4MMGear, { talentTrees: [0, 1] }); +import P5MMGear from './gear_sets/p5_mm.gear.json'; export const MM_P5_PRESET = PresetUtils.makePresetGear('MM P5 Preset', P5MMGear, { talentTrees: [0, 1] }); +import PreraidSVGear from './gear_sets/preraid_sv.gear.json'; export const SV_PRERAID_PRESET = PresetUtils.makePresetGear('SV PreRaid Preset', PreraidSVGear, { talentTree: 2 }); +import P1SVGear from './gear_sets/p1_sv.gear.json'; export const SV_P1_PRESET = PresetUtils.makePresetGear('SV P1 Preset', P1SVGear, { talentTree: 2 }); +import P2SVGear from './gear_sets/p2_sv.gear.json'; export const SV_P2_PRESET = PresetUtils.makePresetGear('SV P2 Preset', P2SVGear, { talentTree: 2 }); +import P3SVGear from './gear_sets/p3_sv.gear.json'; export const SV_P3_PRESET = PresetUtils.makePresetGear('SV P3 Preset', P3SVGear, { talentTree: 2 }); +import P4SVGear from './gear_sets/p4_sv.gear.json'; export const SV_P4_PRESET = PresetUtils.makePresetGear('SV P4 Preset', P4SVGear, { talentTree: 2 }); +import P5SVGear from './gear_sets/p5_sv.gear.json'; export const SV_P5_PRESET = PresetUtils.makePresetGear('SV P5 Preset', P5SVGear, { talentTree: 2 }); export const DefaultRotation = HunterRotation.create({ @@ -71,11 +63,17 @@ export const DefaultRotation = HunterRotation.create({ }); export const ROTATION_PRESET_SIMPLE_DEFAULT = PresetUtils.makePresetSimpleRotation('Simple Default', Spec.SpecHunter, DefaultRotation); +import BmApl from './apls/bm.apl.json'; export const ROTATION_PRESET_BM = PresetUtils.makePresetAPLRotation('BM', BmApl, { talentTree: 0 }); +import MmApl from './apls/mm.apl.json'; export const ROTATION_PRESET_MM = PresetUtils.makePresetAPLRotation('MM', MmApl, { talentTree: 1 }); +import MmAdvApl from './apls/mm_advanced.apl.json'; export const ROTATION_PRESET_MM_ADVANCED = PresetUtils.makePresetAPLRotation('MM (Advanced)', MmAdvApl, { talentTree: 1 }); +import SvApl from './apls/sv.apl.json'; export const ROTATION_PRESET_SV = PresetUtils.makePresetAPLRotation('SV', SvApl, { talentTree: 2 }); +import SvAdvApl from './apls/sv_advanced.apl.json'; export const ROTATION_PRESET_SV_ADVANCED = PresetUtils.makePresetAPLRotation('SV (Advanced)', SvAdvApl, { talentTree: 2 }); +import AoeApl from './apls/aoe.apl.json'; export const ROTATION_PRESET_AOE = PresetUtils.makePresetAPLRotation('AOE', AoeApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/mage/presets.ts b/ui/mage/presets.ts index 99ba77f1d1..e904a1a05f 100644 --- a/ui/mage/presets.ts +++ b/ui/mage/presets.ts @@ -24,64 +24,55 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidArcaneGear from './gear_sets/preraid_arcane.gear.json'; -import P1ArcaneGear from './gear_sets/p1_arcane.gear.json'; -import P2ArcaneGear from './gear_sets/p2_arcane.gear.json'; -import P3ArcaneAllianceGear from './gear_sets/p3_arcane_alliance.gear.json'; -import P3ArcaneHordeGear from './gear_sets/p3_arcane_horde.gear.json'; -import P4ArcaneAllianceGear from './gear_sets/p4_arcane_alliance.gear.json'; -import P4ArcaneHordeGear from './gear_sets/p4_arcane_horde.gear.json'; -import PreraidFireGear from './gear_sets/preraid_fire.gear.json'; -import P1FireGear from './gear_sets/p1_fire.gear.json'; -import P2FireGear from './gear_sets/p2_fire.gear.json'; -import P3FireAllianceGear from './gear_sets/p3_fire_alliance.gear.json'; -import P3FireHordeGear from './gear_sets/p3_fire_horde.gear.json'; -import P4FireAllianceGear from './gear_sets/p4_fire_alliance.gear.json'; -import P4FireHordeGear from './gear_sets/p4_fire_horde.gear.json'; -import P2FfbGear from './gear_sets/p2_ffb.gear.json'; -import P3FfbAllianceGear from './gear_sets/p3_ffb_alliance.gear.json'; -import P3FfbHordeGear from './gear_sets/p3_ffb_horde.gear.json'; -import P4FfbAllianceGear from './gear_sets/p4_ffb_alliance.gear.json'; -import P4FfbHordeGear from './gear_sets/p4_ffb_horde.gear.json'; -import P1FrostGear from './gear_sets/p1_frost.gear.json'; -import P2FrostGear from './gear_sets/p2_frost.gear.json'; -import P3FrostAllianceGear from './gear_sets/p3_frost_alliance.gear.json'; -import P3FrostHordeGear from './gear_sets/p3_frost_horde.gear.json'; - -import ArcaneApl from './apls/arcane.apl.json'; -import FireApl from './apls/fire.apl.json'; -import FrostApl from './apls/frost.apl.json'; -import ArcaneAoeApl from './apls/arcane_aoe.apl.json'; -import FireAoeApl from './apls/fire_aoe.apl.json'; -import FrostAoeApl from './apls/frost_aoe.apl.json'; -import FrostFireApl from './apls/frostfire.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidArcaneGear from './gear_sets/preraid_arcane.gear.json'; export const ARCANE_PRERAID_PRESET = PresetUtils.makePresetGear('Arcane Preraid Preset', PreraidArcaneGear, { talentTree: 0 }); +import P1ArcaneGear from './gear_sets/p1_arcane.gear.json'; export const ARCANE_P1_PRESET = PresetUtils.makePresetGear('Arcane P1 Preset', P1ArcaneGear, { talentTree: 0 }); +import P2ArcaneGear from './gear_sets/p2_arcane.gear.json'; export const ARCANE_P2_PRESET = PresetUtils.makePresetGear('Arcane P2 Preset', P2ArcaneGear, { talentTree: 0 }); +import P3ArcaneAllianceGear from './gear_sets/p3_arcane_alliance.gear.json'; export const ARCANE_P3_PRESET_ALLIANCE = PresetUtils.makePresetGear('Arcane P3 Preset [A]', P3ArcaneAllianceGear, { talentTree: 0, faction: Faction.Alliance }); +import P3ArcaneHordeGear from './gear_sets/p3_arcane_horde.gear.json'; export const ARCANE_P3_PRESET_HORDE = PresetUtils.makePresetGear('Arcane P3 Preset [H]', P3ArcaneHordeGear, { talentTree: 0, faction: Faction.Horde }); +import P4ArcaneAllianceGear from './gear_sets/p4_arcane_alliance.gear.json'; export const ARCANE_P4_PRESET_ALLIANCE = PresetUtils.makePresetGear('Arcane P4 Preset [A]', P4ArcaneAllianceGear, { talentTree: 0, faction: Faction.Alliance }); +import P4ArcaneHordeGear from './gear_sets/p4_arcane_horde.gear.json'; export const ARCANE_P4_PRESET_HORDE = PresetUtils.makePresetGear('Arcane P4 Preset [H]', P4ArcaneHordeGear, { talentTree: 0, faction: Faction.Horde }); +import PreraidFireGear from './gear_sets/preraid_fire.gear.json'; export const FIRE_PRERAID_PRESET = PresetUtils.makePresetGear('Fire Preraid Preset', PreraidFireGear, { talentTree: 1 }); +import P1FireGear from './gear_sets/p1_fire.gear.json'; export const FIRE_P1_PRESET = PresetUtils.makePresetGear('Fire P1 Preset', P1FireGear, { talentTree: 1 }); +import P2FireGear from './gear_sets/p2_fire.gear.json'; export const FIRE_P2_PRESET = PresetUtils.makePresetGear('Fire P2 Preset', P2FireGear, { talentTree: 1, customCondition: (player: Player) => !player.getTalents().icyVeins }); +import P3FireAllianceGear from './gear_sets/p3_fire_alliance.gear.json'; export const FIRE_P3_PRESET_ALLIANCE = PresetUtils.makePresetGear('Fire P3 Preset [A]', P3FireAllianceGear, { talentTree: 1, faction: Faction.Alliance, customCondition: (player: Player) => !player.getTalents().icyVeins }); +import P3FireHordeGear from './gear_sets/p3_fire_horde.gear.json'; export const FIRE_P3_PRESET_HORDE = PresetUtils.makePresetGear('Fire P3 Preset [H]', P3FireHordeGear, { talentTree: 1, faction: Faction.Horde, customCondition: (player: Player) => !player.getTalents().icyVeins }); +import P4FireAllianceGear from './gear_sets/p4_fire_alliance.gear.json'; export const FIRE_P4_PRESET_ALLIANCE = PresetUtils.makePresetGear('Fire P4 Preset [A]', P4FireAllianceGear, { talentTree: 1, faction: Faction.Alliance, customCondition: (player: Player) => !player.getTalents().icyVeins }); +import P4FireHordeGear from './gear_sets/p4_fire_horde.gear.json'; export const FIRE_P4_PRESET_HORDE = PresetUtils.makePresetGear('Fire P4 Preset [H]', P4FireHordeGear, { talentTree: 1, faction: Faction.Horde, customCondition: (player: Player) => !player.getTalents().icyVeins }); +import P2FfbGear from './gear_sets/p2_ffb.gear.json'; export const FFB_P2_PRESET = PresetUtils.makePresetGear('FFB P2 Preset', P2FfbGear, { talentTree: 1, customCondition: (player: Player) => player.getTalents().icyVeins }); +import P3FfbAllianceGear from './gear_sets/p3_ffb_alliance.gear.json'; export const FFB_P3_PRESET_ALLIANCE = PresetUtils.makePresetGear('FFB P3 Preset [A]', P3FfbAllianceGear, { talentTree: 1, customCondition: (player: Player) => player.getTalents().icyVeins }); +import P3FfbHordeGear from './gear_sets/p3_ffb_horde.gear.json'; export const FFB_P3_PRESET_HORDE = PresetUtils.makePresetGear('FFB P3 Preset [H]', P3FfbHordeGear, { talentTree: 1, customCondition: (player: Player) => player.getTalents().icyVeins }); +import P4FfbAllianceGear from './gear_sets/p4_ffb_alliance.gear.json'; export const FFB_P4_PRESET_ALLIANCE = PresetUtils.makePresetGear('FFB P4 Preset [A]', P4FfbAllianceGear, { talentTree: 1, customCondition: (player: Player) => player.getTalents().icyVeins }); +import P4FfbHordeGear from './gear_sets/p4_ffb_horde.gear.json'; export const FFB_P4_PRESET_HORDE = PresetUtils.makePresetGear('FFB P4 Preset [H]', P4FfbHordeGear, { talentTree: 1, customCondition: (player: Player) => player.getTalents().icyVeins }); +import P1FrostGear from './gear_sets/p1_frost.gear.json'; export const FROST_P1_PRESET = PresetUtils.makePresetGear('Frost P1 Preset', P1FrostGear, { talentTree: 2 }); +import P2FrostGear from './gear_sets/p2_frost.gear.json'; export const FROST_P2_PRESET = PresetUtils.makePresetGear('Frost P2 Preset', P2FrostGear, { talentTree: 2 }); +import P3FrostAllianceGear from './gear_sets/p3_frost_alliance.gear.json'; export const FROST_P3_PRESET_ALLIANCE = PresetUtils.makePresetGear('Frost P3 Preset [A]', P3FrostAllianceGear, { talentTree: 2, faction: Faction.Alliance }); +import P3FrostHordeGear from './gear_sets/p3_frost_horde.gear.json'; export const FROST_P3_PRESET_HORDE = PresetUtils.makePresetGear('Frost P3 Preset [H]', P3FrostHordeGear, { talentTree: 2, faction: Faction.Horde }); export const DefaultSimpleRotation = MageRotation.create({ @@ -97,12 +88,19 @@ export const DefaultSimpleRotation = MageRotation.create({ }); export const ROTATION_PRESET_SIMPLE = PresetUtils.makePresetSimpleRotation('Simple Default', Spec.SpecMage, DefaultSimpleRotation); +import ArcaneApl from './apls/arcane.apl.json'; export const ARCANE_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Arcane', ArcaneApl, { talentTree: 0 }); +import ArcaneAoeApl from './apls/arcane_aoe.apl.json'; export const ARCANE_ROTATION_PRESET_AOE = PresetUtils.makePresetAPLRotation('Arcane AOE', ArcaneAoeApl, { talentTree: 0 }); +import FireApl from './apls/fire.apl.json'; export const FIRE_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Fire', FireApl, { talentTree: 1 }); +import FrostFireApl from './apls/frostfire.apl.json'; export const FROSTFIRE_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Frostfire', FrostFireApl, { talentTree: 1 }); +import FireAoeApl from './apls/fire_aoe.apl.json'; export const FIRE_ROTATION_PRESET_AOE = PresetUtils.makePresetAPLRotation('Fire AOE', FireAoeApl, { talentTree: 1 }); +import FrostApl from './apls/frost.apl.json'; export const FROST_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Frost', FrostApl, { talentTree: 2 }); +import FrostAoeApl from './apls/frost_aoe.apl.json'; export const FROST_ROTATION_PRESET_AOE = PresetUtils.makePresetAPLRotation('Frost AOE', FrostAoeApl, { talentTree: 2 }); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/protection_paladin/presets.ts b/ui/protection_paladin/presets.ts index c0e6c47fe9..6e02f8b2d6 100644 --- a/ui/protection_paladin/presets.ts +++ b/ui/protection_paladin/presets.ts @@ -20,24 +20,21 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P4PreraidGear from './gear_sets/p4_preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; -import P3Gear from './gear_sets/p3.gear.json'; -import P4Gear from './gear_sets/p4.gear.json'; - -import DefaultApl from './apls/default.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('P1 PreRaid Preset', PreraidGear); +import P4PreraidGear from './gear_sets/p4_preraid.gear.json'; export const P4_PRERAID_PRESET = PresetUtils.makePresetGear('P4 PreRaid Preset', P4PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3Gear from './gear_sets/p3.gear.json'; export const P3_PRESET = PresetUtils.makePresetGear('P3 Preset', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); export const DefaultRotation = ProtectionPaladinRotation.create({ @@ -59,6 +56,7 @@ export const DefaultRotation = ProtectionPaladinRotation.create({ }), }); +import DefaultApl from './apls/default.apl.json'; export const ROTATION_DEFAULT = PresetUtils.makePresetAPLRotation('Default (969)', DefaultApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/protection_warrior/presets.ts b/ui/protection_warrior/presets.ts index 0f960cbc28..0ebe1f039f 100644 --- a/ui/protection_warrior/presets.ts +++ b/ui/protection_warrior/presets.ts @@ -25,24 +25,21 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidBalancedGear from './gear_sets/preraid_balanced.gear.json'; -import PreraidP4Gear from './gear_sets/p4_preraid.gear.json'; -import P1BalancedGear from './gear_sets/p1_balanced.gear.json'; -import P2SurvivalGear from './gear_sets/p2_survival.gear.json'; -import P3Gear from './gear_sets/p3.gear.json'; -import P4Gear from './gear_sets/p4.gear.json'; - -import DefaultApl from './apls/default.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidBalancedGear from './gear_sets/preraid_balanced.gear.json'; export const PRERAID_BALANCED_PRESET = PresetUtils.makePresetGear('P1 PreRaid Preset', PreraidBalancedGear); +import PreraidP4Gear from './gear_sets/p4_preraid.gear.json'; export const P4_PRERAID_PRESET = PresetUtils.makePresetGear('P4 PreRaid Preset', PreraidP4Gear); +import P1BalancedGear from './gear_sets/p1_balanced.gear.json'; export const P1_BALANCED_PRESET = PresetUtils.makePresetGear('P1 Preset', P1BalancedGear); +import P2SurvivalGear from './gear_sets/p2_survival.gear.json'; export const P2_SURVIVAL_PRESET = PresetUtils.makePresetGear('P2 Preset', P2SurvivalGear); +import P3Gear from './gear_sets/p3.gear.json'; export const P3_PRESET = PresetUtils.makePresetGear('P3 Preset', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); export const DefaultRotation = ProtectionWarriorRotation.create({ @@ -65,6 +62,7 @@ export const DefaultRotation = ProtectionWarriorRotation.create({ hsRageThreshold: 30, }); +import DefaultApl from './apls/default.apl.json'; export const ROTATION_DEFAULT = PresetUtils.makePresetAPLRotation('Default APL', DefaultApl); export const ROTATION_PRESET_SIMPLE = PresetUtils.makePresetSimpleRotation('Simple Cooldowns', Spec.SpecProtectionWarrior, DefaultRotation); diff --git a/ui/raid/presets.ts b/ui/raid/presets.ts index 519f1ff5ff..7fb9bf7035 100644 --- a/ui/raid/presets.ts +++ b/ui/raid/presets.ts @@ -104,10 +104,13 @@ export interface PresetSpecSettings { export const playerPresets: Array> = [ { spec: Spec.SpecTankDeathknight, + tooltip: 'Blood Tank Death Knight', + defaultName: 'Blood Tank', + iconUrl: getSpecIcon(Class.ClassDeathknight, 0), + talents: TankDeathknightPresets.BloodTalents.data, specOptions: TankDeathknightPresets.DefaultOptions, consumes: TankDeathknightPresets.DefaultConsumes, - defaultName: 'Blood Tank', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -118,21 +121,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: TankDeathknightPresets.P1_BLOOD_PRESET.gear, 2: TankDeathknightPresets.P2_BLOOD_PRESET.gear, + 3: TankDeathknightPresets.P3_BLOOD_PRESET.gear, + 4: TankDeathknightPresets.P4_BLOOD_PRESET.gear, }, [Faction.Horde]: { 1: TankDeathknightPresets.P1_BLOOD_PRESET.gear, 2: TankDeathknightPresets.P2_BLOOD_PRESET.gear, + 3: TankDeathknightPresets.P3_BLOOD_PRESET.gear, + 4: TankDeathknightPresets.P4_BLOOD_PRESET.gear, }, }, - tooltip: 'Blood Tank Death Knight', - iconUrl: getSpecIcon(Class.ClassDeathknight, 0), }, { spec: Spec.SpecDeathknight, + tooltip: 'Blood DPS Death Knight', + defaultName: 'Blood DPS', + iconUrl: getSpecIcon(Class.ClassDeathknight, 3), + talents: DeathknightPresets.BloodTalents.data, specOptions: DeathknightPresets.DefaultBloodOptions, consumes: DeathknightPresets.DefaultConsumes, - defaultName: 'Blood DPS', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -144,22 +152,25 @@ export const playerPresets: Array> = [ 1: DeathknightPresets.P1_BLOOD_PRESET.gear, 2: DeathknightPresets.P2_BLOOD_PRESET.gear, 3: DeathknightPresets.P3_BLOOD_PRESET.gear, + 4: DeathknightPresets.P4_BLOOD_PRESET.gear, }, [Faction.Horde]: { 1: DeathknightPresets.P1_BLOOD_PRESET.gear, 2: DeathknightPresets.P2_BLOOD_PRESET.gear, 3: DeathknightPresets.P3_BLOOD_PRESET.gear, + 4: DeathknightPresets.P4_BLOOD_PRESET.gear, }, }, - tooltip: 'Blood DPS Death Knight', - iconUrl: getSpecIcon(Class.ClassDeathknight, 3), }, { spec: Spec.SpecDeathknight, + tooltip: 'Frost Death Knight', + defaultName: 'Frost', + iconUrl: getSpecIcon(Class.ClassDeathknight, 1), + talents: DeathknightPresets.FrostTalents.data, specOptions: DeathknightPresets.DefaultFrostOptions, consumes: DeathknightPresets.DefaultConsumes, - defaultName: 'Frost', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -171,23 +182,26 @@ export const playerPresets: Array> = [ 1: DeathknightPresets.P1_FROST_PRESET.gear, 2: DeathknightPresets.P2_FROST_PRESET.gear, 3: DeathknightPresets.P3_FROST_PRESET.gear, + 4: DeathknightPresets.P4_FROST_PRESET.gear, }, [Faction.Horde]: { 1: DeathknightPresets.P1_FROST_PRESET.gear, 2: DeathknightPresets.P2_FROST_PRESET.gear, 3: DeathknightPresets.P3_FROST_PRESET.gear, + 4: DeathknightPresets.P4_FROST_PRESET.gear, }, }, otherDefaults: DeathknightPresets.OtherDefaults, - tooltip: 'Frost Death Knight', - iconUrl: getSpecIcon(Class.ClassDeathknight, 1), }, { spec: Spec.SpecDeathknight, + tooltip: 'Dual-Wield Unholy DK', + defaultName: 'Unholy', + iconUrl: getSpecIcon(Class.ClassDeathknight, 2), + talents: DeathknightPresets.UnholyDualWieldTalents.data, specOptions: DeathknightPresets.DefaultUnholyOptions, consumes: DeathknightPresets.DefaultConsumes, - defaultName: 'Unholy', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -199,24 +213,27 @@ export const playerPresets: Array> = [ 1: DeathknightPresets.P1_UNHOLY_DW_PRESET.gear, 2: DeathknightPresets.P2_UNHOLY_DW_PRESET.gear, 3: DeathknightPresets.P3_UNHOLY_DW_PRESET.gear, + 4: DeathknightPresets.P4_UNHOLY_DW_PRESET.gear, }, [Faction.Horde]: { 1: DeathknightPresets.P1_UNHOLY_DW_PRESET.gear, 2: DeathknightPresets.P2_UNHOLY_DW_PRESET.gear, 3: DeathknightPresets.P3_UNHOLY_DW_PRESET.gear, + 4: DeathknightPresets.P4_UNHOLY_DW_PRESET.gear, }, }, otherDefaults: DeathknightPresets.OtherDefaults, - tooltip: 'Dual-Wield Unholy DK', - iconUrl: getSpecIcon(Class.ClassDeathknight, 2), }, { spec: Spec.SpecBalanceDruid, + tooltip: specNames[Spec.SpecBalanceDruid], + defaultName: 'Balance', + iconUrl: getSpecIcon(Class.ClassDruid, 0), + talents: BalanceDruidPresets.Phase2Talents.data, specOptions: BalanceDruidPresets.DefaultOptions, consumes: BalanceDruidPresets.DefaultConsumes, otherDefaults: BalanceDruidPresets.OtherDefaults, - defaultName: 'Balance', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceNightElf, @@ -228,22 +245,25 @@ export const playerPresets: Array> = [ 1: BalanceDruidPresets.P1_PRESET.gear, 2: BalanceDruidPresets.P2_PRESET.gear, 3: BalanceDruidPresets.P3_PRESET_ALLI.gear, + 4: BalanceDruidPresets.P4_PRESET_ALLI.gear, }, [Faction.Horde]: { 1: BalanceDruidPresets.P1_PRESET.gear, 2: BalanceDruidPresets.P2_PRESET.gear, 3: BalanceDruidPresets.P3_PRESET_HORDE.gear, + 4: BalanceDruidPresets.P4_PRESET_HORDE.gear, }, }, - tooltip: specNames[Spec.SpecBalanceDruid], - iconUrl: getSpecIcon(Class.ClassDruid, 0), }, { spec: Spec.SpecFeralDruid, + tooltip: specNames[Spec.SpecFeralDruid], + defaultName: 'Cat', + iconUrl: getSpecIcon(Class.ClassDruid, 3), + talents: FeralDruidPresets.StandardTalents.data, specOptions: FeralDruidPresets.DefaultOptions, consumes: FeralDruidPresets.DefaultConsumes, - defaultName: 'Cat', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceNightElf, @@ -255,22 +275,25 @@ export const playerPresets: Array> = [ 1: FeralDruidPresets.P1_PRESET.gear, 2: FeralDruidPresets.P2_PRESET.gear, 3: FeralDruidPresets.P3_PRESET.gear, + 4: FeralDruidPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: FeralDruidPresets.P1_PRESET.gear, 2: FeralDruidPresets.P2_PRESET.gear, 3: FeralDruidPresets.P3_PRESET.gear, + 4: FeralDruidPresets.P4_PRESET.gear, }, }, - tooltip: specNames[Spec.SpecFeralDruid], - iconUrl: getSpecIcon(Class.ClassDruid, 3), }, { spec: Spec.SpecFeralTankDruid, + tooltip: specNames[Spec.SpecFeralTankDruid], + defaultName: 'Bear', + iconUrl: getSpecIcon(Class.ClassDruid, 1), + talents: FeralTankDruidPresets.StandardTalents.data, specOptions: FeralTankDruidPresets.DefaultOptions, consumes: FeralTankDruidPresets.DefaultConsumes, - defaultName: 'Bear', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceNightElf, @@ -281,21 +304,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: FeralTankDruidPresets.P1_PRESET.gear, 2: FeralTankDruidPresets.P2_PRESET.gear, + 3: FeralTankDruidPresets.P3_PRESET.gear, + 4: FeralTankDruidPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: FeralTankDruidPresets.P1_PRESET.gear, 2: FeralTankDruidPresets.P2_PRESET.gear, + 3: FeralTankDruidPresets.P3_PRESET.gear, + 4: FeralTankDruidPresets.P4_PRESET.gear, }, }, - tooltip: specNames[Spec.SpecFeralTankDruid], - iconUrl: getSpecIcon(Class.ClassDruid, 1), }, { spec: Spec.SpecRestorationDruid, + tooltip: specNames[Spec.SpecRestorationDruid], + defaultName: 'Restoration', + iconUrl: getSpecIcon(Class.ClassDruid, 2), + talents: RestorationDruidPresets.CelestialFocusTalents.data, specOptions: RestorationDruidPresets.DefaultOptions, consumes: RestorationDruidPresets.DefaultConsumes, - defaultName: 'Restoration', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceNightElf, @@ -306,21 +334,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: RestorationDruidPresets.P1_PRESET.gear, 2: RestorationDruidPresets.P2_PRESET.gear, + 3: RestorationDruidPresets.P3_PRESET.gear, + 4: RestorationDruidPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: RestorationDruidPresets.P1_PRESET.gear, 2: RestorationDruidPresets.P2_PRESET.gear, + 3: RestorationDruidPresets.P3_PRESET.gear, + 4: RestorationDruidPresets.P4_PRESET.gear, }, }, - tooltip: specNames[Spec.SpecRestorationDruid], - iconUrl: getSpecIcon(Class.ClassDruid, 2), }, { spec: Spec.SpecHunter, + tooltip: 'Beast Mastery Hunter', + defaultName: 'Beast Mastery', + iconUrl: getSpecIcon(Class.ClassHunter, 0), + talents: HunterPresets.BeastMasteryTalents.data, specOptions: HunterPresets.BMDefaultOptions, consumes: HunterPresets.DefaultConsumes, - defaultName: 'Beast Mastery', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceNightElf, @@ -341,15 +374,16 @@ export const playerPresets: Array> = [ 4: HunterPresets.MM_P4_PRESET.gear, }, }, - tooltip: 'Beast Mastery Hunter', - iconUrl: getSpecIcon(Class.ClassHunter, 0), }, { spec: Spec.SpecHunter, + tooltip: 'Marksmanship Hunter', + defaultName: 'Marksmanship', + iconUrl: getSpecIcon(Class.ClassHunter, 1), + talents: HunterPresets.MarksmanTalents.data, specOptions: HunterPresets.DefaultOptions, consumes: HunterPresets.DefaultConsumes, - defaultName: 'Marksmanship', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceNightElf, @@ -370,15 +404,16 @@ export const playerPresets: Array> = [ 4: HunterPresets.MM_P4_PRESET.gear, }, }, - tooltip: 'Marksmanship Hunter', - iconUrl: getSpecIcon(Class.ClassHunter, 1), }, { spec: Spec.SpecHunter, + tooltip: 'Survival Hunter', + defaultName: 'Survival', + iconUrl: getSpecIcon(Class.ClassHunter, 2), + talents: HunterPresets.SurvivalTalents.data, specOptions: HunterPresets.DefaultOptions, consumes: HunterPresets.DefaultConsumes, - defaultName: 'Survival', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceNightElf, @@ -399,16 +434,17 @@ export const playerPresets: Array> = [ 4: HunterPresets.SV_P4_PRESET.gear, }, }, - tooltip: 'Survival Hunter', - iconUrl: getSpecIcon(Class.ClassHunter, 2), }, { spec: Spec.SpecMage, + tooltip: 'Arcane Mage', + defaultName: 'Arcane', + iconUrl: getSpecIcon(Class.ClassMage, 0), + talents: MagePresets.ArcaneTalents.data, specOptions: MagePresets.DefaultArcaneOptions, consumes: MagePresets.DefaultArcaneConsumes, otherDefaults: MagePresets.OtherDefaults, - defaultName: 'Arcane', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceGnome, @@ -420,23 +456,26 @@ export const playerPresets: Array> = [ 1: MagePresets.ARCANE_P1_PRESET.gear, 2: MagePresets.ARCANE_P2_PRESET.gear, 3: MagePresets.ARCANE_P3_PRESET_ALLIANCE.gear, + 4: MagePresets.ARCANE_P4_PRESET_ALLIANCE.gear, }, [Faction.Horde]: { 1: MagePresets.ARCANE_P1_PRESET.gear, 2: MagePresets.ARCANE_P2_PRESET.gear, 3: MagePresets.ARCANE_P3_PRESET_HORDE.gear, + 4: MagePresets.ARCANE_P4_PRESET_HORDE.gear, }, }, - tooltip: 'Arcane Mage', - iconUrl: getSpecIcon(Class.ClassMage, 0), }, { spec: Spec.SpecMage, + tooltip: 'TTW Fire Mage', + defaultName: 'TTW Fire', + iconUrl: getSpecIcon(Class.ClassMage, 1), + talents: MagePresets.FireTalents.data, specOptions: MagePresets.DefaultFireOptions, consumes: MagePresets.DefaultFireConsumes, otherDefaults: MagePresets.OtherDefaults, - defaultName: 'TTW Fire', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceGnome, @@ -448,23 +487,26 @@ export const playerPresets: Array> = [ 1: MagePresets.FIRE_P1_PRESET.gear, 2: MagePresets.FIRE_P2_PRESET.gear, 3: MagePresets.FIRE_P3_PRESET_ALLIANCE.gear, + 4: MagePresets.FIRE_P4_PRESET_ALLIANCE.gear, }, [Faction.Horde]: { 1: MagePresets.FIRE_P1_PRESET.gear, 2: MagePresets.FIRE_P2_PRESET.gear, 3: MagePresets.FIRE_P3_PRESET_HORDE.gear, + 4: MagePresets.FIRE_P4_PRESET_HORDE.gear, }, }, - tooltip: 'TTW Fire Mage', - iconUrl: getSpecIcon(Class.ClassMage, 1), }, { spec: Spec.SpecMage, + tooltip: 'FFB Fire Mage', + defaultName: 'FFB Fire', + iconUrl: "https://wow.zamimg.com/images/wow/icons/medium/ability_mage_frostfirebolt.jpg", + talents: MagePresets.FrostfireTalents.data, specOptions: MagePresets.DefaultFFBOptions, consumes: MagePresets.DefaultFireConsumes, otherDefaults: MagePresets.OtherDefaults, - defaultName: 'FFB Fire', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceGnome, @@ -476,22 +518,25 @@ export const playerPresets: Array> = [ 1: MagePresets.FIRE_P1_PRESET.gear, 2: MagePresets.FFB_P2_PRESET.gear, 3: MagePresets.FFB_P3_PRESET_ALLIANCE.gear, + 4: MagePresets.FFB_P4_PRESET_ALLIANCE.gear, }, [Faction.Horde]: { 1: MagePresets.FIRE_P1_PRESET.gear, 2: MagePresets.FFB_P2_PRESET.gear, 3: MagePresets.FFB_P3_PRESET_HORDE.gear, + 4: MagePresets.FFB_P4_PRESET_HORDE.gear, }, }, - tooltip: 'FFB Fire Mage', - iconUrl: "https://wow.zamimg.com/images/wow/icons/medium/ability_mage_frostfirebolt.jpg", }, { spec: Spec.SpecRogue, + tooltip: 'Assassination Rogue', + defaultName: 'Assassination', + iconUrl: getSpecIcon(Class.ClassRogue, 0), + talents: RoguePresets.AssassinationTalents137.data, specOptions: RoguePresets.DefaultOptions, consumes: RoguePresets.DefaultConsumes, - defaultName: 'Assassination', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -503,22 +548,25 @@ export const playerPresets: Array> = [ 1: RoguePresets.P1_PRESET_ASSASSINATION.gear, 2: RoguePresets.P2_PRESET_ASSASSINATION.gear, 3: RoguePresets.P3_PRESET_ASSASSINATION.gear, + 4: RoguePresets.P4_PRESET_ASSASSINATION.gear, }, [Faction.Horde]: { 1: RoguePresets.P1_PRESET_ASSASSINATION.gear, 2: RoguePresets.P2_PRESET_ASSASSINATION.gear, 3: RoguePresets.P3_PRESET_ASSASSINATION.gear, + 4: RoguePresets.P4_PRESET_ASSASSINATION.gear, }, }, - tooltip: 'Assassination Rogue', - iconUrl: getSpecIcon(Class.ClassRogue, 0), }, { spec: Spec.SpecRogue, + tooltip: 'Combat Rogue', + defaultName: 'Combat', + iconUrl: getSpecIcon(Class.ClassRogue, 1), + talents: RoguePresets.CombatCQCTalents.data, specOptions: RoguePresets.DefaultOptions, consumes: RoguePresets.DefaultConsumes, - defaultName: 'Combat', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -530,22 +578,25 @@ export const playerPresets: Array> = [ 1: RoguePresets.P1_PRESET_COMBAT.gear, 2: RoguePresets.P2_PRESET_COMBAT.gear, 3: RoguePresets.P3_PRESET_COMBAT.gear, + 4: RoguePresets.P4_PRESET_COMBAT.gear, }, [Faction.Horde]: { 1: RoguePresets.P1_PRESET_COMBAT.gear, 2: RoguePresets.P2_PRESET_COMBAT.gear, 3: RoguePresets.P3_PRESET_COMBAT.gear, + 4: RoguePresets.P4_PRESET_COMBAT.gear, }, }, - tooltip: 'Combat Rogue', - iconUrl: getSpecIcon(Class.ClassRogue, 1), }, { spec: Spec.SpecElementalShaman, + tooltip: specNames[Spec.SpecElementalShaman], + defaultName: 'Elemental', + iconUrl: getSpecIcon(Class.ClassShaman, 0), + talents: ElementalShamanPresets.StandardTalents.data, specOptions: ElementalShamanPresets.DefaultOptions, consumes: ElementalShamanPresets.DefaultConsumes, - defaultName: 'Elemental', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceDraenei, @@ -566,15 +617,16 @@ export const playerPresets: Array> = [ 4: ElementalShamanPresets.P4_PRESET.gear, }, }, - tooltip: specNames[Spec.SpecElementalShaman], - iconUrl: getSpecIcon(Class.ClassShaman, 0), }, { spec: Spec.SpecEnhancementShaman, + tooltip: specNames[Spec.SpecEnhancementShaman], + defaultName: 'Enhancement', + iconUrl: getSpecIcon(Class.ClassShaman, 1), + talents: EnhancementShamanPresets.StandardTalents.data, specOptions: EnhancementShamanPresets.DefaultOptions, consumes: EnhancementShamanPresets.DefaultConsumes, - defaultName: 'Enhancement', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceDraenei, @@ -586,22 +638,25 @@ export const playerPresets: Array> = [ 1: EnhancementShamanPresets.P1_PRESET.gear, 2: EnhancementShamanPresets.P2_PRESET_FT.gear, 3: EnhancementShamanPresets.P3_PRESET_ALLIANCE.gear, + 4: EnhancementShamanPresets.P4_PRESET_FT.gear, }, [Faction.Horde]: { 1: EnhancementShamanPresets.P1_PRESET.gear, 2: EnhancementShamanPresets.P2_PRESET_FT.gear, 3: EnhancementShamanPresets.P3_PRESET_HORDE.gear, + 4: EnhancementShamanPresets.P4_PRESET_FT.gear, }, }, - tooltip: specNames[Spec.SpecEnhancementShaman], - iconUrl: getSpecIcon(Class.ClassShaman, 1), }, { spec: Spec.SpecRestorationShaman, + tooltip: specNames[Spec.SpecRestorationShaman], + defaultName: 'Restoration', + iconUrl: getSpecIcon(Class.ClassShaman, 2), + talents: RestorationShamanPresets.RaidHealingTalents.data, specOptions: RestorationShamanPresets.DefaultOptions, consumes: RestorationShamanPresets.DefaultConsumes, - defaultName: 'Restoration', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceDraenei, @@ -612,21 +667,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: RestorationShamanPresets.P1_PRESET.gear, 2: RestorationShamanPresets.P2_PRESET.gear, + 3: RestorationShamanPresets.P3_PRESET.gear, + 4: RestorationShamanPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: RestorationShamanPresets.P1_PRESET.gear, 2: RestorationShamanPresets.P2_PRESET.gear, + 3: RestorationShamanPresets.P3_PRESET.gear, + 4: RestorationShamanPresets.P4_PRESET.gear, }, }, - tooltip: specNames[Spec.SpecRestorationShaman], - iconUrl: getSpecIcon(Class.ClassShaman, 2), }, { spec: Spec.SpecHealingPriest, + tooltip: 'Discipline Priest', + defaultName: 'Discipline', + iconUrl: getSpecIcon(Class.ClassPriest, 0), + talents: HealingPriestPresets.DiscTalents.data, specOptions: HealingPriestPresets.DefaultOptions, consumes: HealingPriestPresets.DefaultConsumes, - defaultName: 'Discipline', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceDwarf, @@ -637,21 +697,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: HealingPriestPresets.DISC_P1_PRESET.gear, 2: HealingPriestPresets.DISC_P2_PRESET.gear, + 3: HealingPriestPresets.DISC_P3_PRESET.gear, + 4: HealingPriestPresets.DISC_P4_PRESET.gear, }, [Faction.Horde]: { 1: HealingPriestPresets.DISC_P1_PRESET.gear, 2: HealingPriestPresets.DISC_P2_PRESET.gear, + 3: HealingPriestPresets.DISC_P3_PRESET.gear, + 4: HealingPriestPresets.DISC_P4_PRESET.gear, }, }, - tooltip: 'Discipline Priest', - iconUrl: getSpecIcon(Class.ClassPriest, 0), }, { spec: Spec.SpecHealingPriest, + tooltip: 'Holy Priest', + defaultName: 'Holy', + iconUrl: getSpecIcon(Class.ClassPriest, 1), + talents: HealingPriestPresets.HolyTalents.data, specOptions: HealingPriestPresets.DefaultOptions, consumes: HealingPriestPresets.DefaultConsumes, - defaultName: 'Holy', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceDwarf, @@ -662,21 +727,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: HealingPriestPresets.HOLY_P1_PRESET.gear, 2: HealingPriestPresets.HOLY_P2_PRESET.gear, + 3: HealingPriestPresets.HOLY_P3_PRESET.gear, + 4: HealingPriestPresets.HOLY_P4_PRESET.gear, }, [Faction.Horde]: { 1: HealingPriestPresets.HOLY_P1_PRESET.gear, 2: HealingPriestPresets.HOLY_P2_PRESET.gear, + 3: HealingPriestPresets.HOLY_P3_PRESET.gear, + 4: HealingPriestPresets.HOLY_P4_PRESET.gear, }, }, - tooltip: 'Holy Priest', - iconUrl: getSpecIcon(Class.ClassPriest, 1), }, { spec: Spec.SpecShadowPriest, + tooltip: specNames[Spec.SpecShadowPriest], + defaultName: 'Shadow', + iconUrl: getSpecIcon(Class.ClassPriest, 2), + talents: ShadowPriestPresets.StandardTalents.data, specOptions: ShadowPriestPresets.DefaultOptions, consumes: ShadowPriestPresets.DefaultConsumes, - defaultName: 'Shadow', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceDwarf, @@ -688,22 +758,25 @@ export const playerPresets: Array> = [ 1: ShadowPriestPresets.P1_PRESET.gear, 2: ShadowPriestPresets.P2_PRESET.gear, 3: ShadowPriestPresets.P3_PRESET.gear, + 4: ShadowPriestPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: ShadowPriestPresets.P1_PRESET.gear, 2: ShadowPriestPresets.P2_PRESET.gear, 3: ShadowPriestPresets.P3_PRESET.gear, + 4: ShadowPriestPresets.P4_PRESET.gear, }, }, - tooltip: specNames[Spec.SpecShadowPriest], - iconUrl: getSpecIcon(Class.ClassPriest, 2), }, { spec: Spec.SpecSmitePriest, + tooltip: specNames[Spec.SpecSmitePriest], + defaultName: 'Smite', + iconUrl: getSpecIcon(Class.ClassPriest, 3), + talents: SmitePriestPresets.StandardTalents.data, specOptions: SmitePriestPresets.DefaultOptions, consumes: SmitePriestPresets.DefaultConsumes, - defaultName: 'Smite', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceDwarf, @@ -714,21 +787,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: SmitePriestPresets.P1_PRESET.gear, 2: ShadowPriestPresets.P2_PRESET.gear, + 3: ShadowPriestPresets.P3_PRESET.gear, + 4: ShadowPriestPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: SmitePriestPresets.P1_PRESET.gear, 2: ShadowPriestPresets.P2_PRESET.gear, + 3: ShadowPriestPresets.P3_PRESET.gear, + 4: ShadowPriestPresets.P4_PRESET.gear, }, }, - tooltip: specNames[Spec.SpecSmitePriest], - iconUrl: getSpecIcon(Class.ClassPriest, 3), }, { spec: Spec.SpecWarrior, + tooltip: 'Arms Warrior', + defaultName: 'Arms', + iconUrl: getSpecIcon(Class.ClassWarrior, 0), + talents: WarriorPresets.ArmsTalents.data, specOptions: WarriorPresets.DefaultOptions, consumes: WarriorPresets.DefaultConsumes, - defaultName: 'Arms', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -740,22 +818,25 @@ export const playerPresets: Array> = [ 1: WarriorPresets.P1_ARMS_PRESET.gear, 2: WarriorPresets.P2_ARMS_PRESET.gear, 3: WarriorPresets.P3_ARMS_4P_PRESET_ALLIANCE.gear, + 4: WarriorPresets.P4_ARMS_PRESET_ALLIANCE.gear, }, [Faction.Horde]: { 1: WarriorPresets.P1_ARMS_PRESET.gear, 2: WarriorPresets.P2_ARMS_PRESET.gear, 3: WarriorPresets.P3_ARMS_4P_PRESET_HORDE.gear, + 4: WarriorPresets.P4_ARMS_PRESET_HORDE.gear, }, }, - tooltip: 'Arms Warrior', - iconUrl: getSpecIcon(Class.ClassWarrior, 0), }, { spec: Spec.SpecWarrior, + tooltip: 'Fury Warrior', + defaultName: 'Fury', + iconUrl: getSpecIcon(Class.ClassWarrior, 1), + talents: WarriorPresets.FuryTalents.data, specOptions: WarriorPresets.DefaultOptions, consumes: WarriorPresets.DefaultConsumes, - defaultName: 'Fury', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -767,22 +848,25 @@ export const playerPresets: Array> = [ 1: WarriorPresets.P1_FURY_PRESET.gear, 2: WarriorPresets.P2_FURY_PRESET.gear, 3: WarriorPresets.P3_FURY_PRESET_ALLIANCE.gear, + 4: WarriorPresets.P4_FURY_PRESET_ALLIANCE.gear, }, [Faction.Horde]: { 1: WarriorPresets.P1_FURY_PRESET.gear, 2: WarriorPresets.P2_FURY_PRESET.gear, 3: WarriorPresets.P3_FURY_PRESET_HORDE.gear, + 4: WarriorPresets.P4_FURY_PRESET_HORDE.gear, }, }, - tooltip: 'Fury Warrior', - iconUrl: getSpecIcon(Class.ClassWarrior, 1), }, { spec: Spec.SpecProtectionWarrior, + tooltip: 'Protection Warrior', + defaultName: 'Protection', + iconUrl: getSpecIcon(Class.ClassWarrior, 2), + talents: ProtectionWarriorPresets.StandardTalents.data, specOptions: ProtectionWarriorPresets.DefaultOptions, consumes: ProtectionWarriorPresets.DefaultConsumes, - defaultName: 'Protection', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -793,21 +877,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: ProtectionWarriorPresets.P1_BALANCED_PRESET.gear, 2: ProtectionWarriorPresets.P2_SURVIVAL_PRESET.gear, + 3: ProtectionWarriorPresets.P3_PRESET.gear, + 4: ProtectionWarriorPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: ProtectionWarriorPresets.P1_BALANCED_PRESET.gear, 2: ProtectionWarriorPresets.P2_SURVIVAL_PRESET.gear, + 3: ProtectionWarriorPresets.P3_PRESET.gear, + 4: ProtectionWarriorPresets.P4_PRESET.gear, }, }, - tooltip: 'Protection Warrior', - iconUrl: getSpecIcon(Class.ClassWarrior, 2), }, { spec: Spec.SpecHolyPaladin, + tooltip: 'Holy Paladin', + defaultName: 'Holy', + iconUrl: getSpecIcon(Class.ClassPaladin, 0), + talents: HolyPaladinPresets.StandardTalents.data, specOptions: HolyPaladinPresets.DefaultOptions, consumes: HolyPaladinPresets.DefaultConsumes, - defaultName: 'Holy', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -818,21 +907,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: HolyPaladinPresets.P1_PRESET.gear, 2: HolyPaladinPresets.P2_PRESET.gear, + 3: HolyPaladinPresets.P3_PRESET.gear, + 4: HolyPaladinPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: HolyPaladinPresets.P1_PRESET.gear, 2: HolyPaladinPresets.P2_PRESET.gear, + 3: HolyPaladinPresets.P3_PRESET.gear, + 4: HolyPaladinPresets.P4_PRESET.gear, }, }, - tooltip: 'Holy Paladin', - iconUrl: getSpecIcon(Class.ClassPaladin, 0), }, { spec: Spec.SpecProtectionPaladin, + tooltip: 'Protection Paladin', + defaultName: 'Protection', + iconUrl: getSpecIcon(Class.ClassPaladin, 1), + talents: ProtectionPaladinPresets.GenericAoeTalents.data, specOptions: ProtectionPaladinPresets.DefaultOptions, consumes: ProtectionPaladinPresets.DefaultConsumes, - defaultName: 'Protection', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -843,21 +937,26 @@ export const playerPresets: Array> = [ [Faction.Alliance]: { 1: ProtectionPaladinPresets.P1_PRESET.gear, 2: ProtectionPaladinPresets.P2_PRESET.gear, + 3: ProtectionPaladinPresets.P3_PRESET.gear, + 4: ProtectionPaladinPresets.P4_PRESET.gear, }, [Faction.Horde]: { 1: ProtectionPaladinPresets.P1_PRESET.gear, 2: ProtectionPaladinPresets.P2_PRESET.gear, + 3: ProtectionPaladinPresets.P3_PRESET.gear, + 4: ProtectionPaladinPresets.P4_PRESET.gear, }, }, - tooltip: 'Protection Paladin', - iconUrl: getSpecIcon(Class.ClassPaladin, 1), }, { spec: Spec.SpecRetributionPaladin, + tooltip: 'Retribution Paladin', + defaultName: 'Retribution', + iconUrl: getSpecIcon(Class.ClassPaladin, 2), + talents: RetributionPaladinPresets.AuraMasteryTalents.data, specOptions: RetributionPaladinPresets.DefaultOptions, consumes: RetributionPaladinPresets.DefaultConsumes, - defaultName: 'Retribution', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -880,15 +979,16 @@ export const playerPresets: Array> = [ 5: RetributionPaladinPresets.P5_PRESET.gear, }, }, - tooltip: 'Retribution Paladin', - iconUrl: getSpecIcon(Class.ClassPaladin, 2), }, { spec: Spec.SpecWarlock, + tooltip: 'Affliction Warlock', + defaultName: 'Affliction', + iconUrl: getSpecIcon(Class.ClassWarlock, 0), + talents: WarlockPresets.AfflictionTalents.data, specOptions: WarlockPresets.AfflictionOptions, consumes: WarlockPresets.DefaultConsumes, - defaultName: 'Affliction', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -900,23 +1000,26 @@ export const playerPresets: Array> = [ 1: WarlockPresets.P1_AFFLICTION_PRESET.gear, 2: WarlockPresets.P2_AFFLICTION_PRESET.gear, 3: WarlockPresets.P3_AFFLICTION_ALLIANCE_PRESET.gear, + 4: WarlockPresets.P4_AFFLICTION_PRESET.gear, }, [Faction.Horde]: { 1: WarlockPresets.P1_AFFLICTION_PRESET.gear, 2: WarlockPresets.P2_AFFLICTION_PRESET.gear, 3: WarlockPresets.P3_AFFLICTION_HORDE_PRESET.gear, + 4: WarlockPresets.P4_AFFLICTION_PRESET.gear, }, }, otherDefaults: WarlockPresets.OtherDefaults, - tooltip: 'Affliction Warlock', - iconUrl: getSpecIcon(Class.ClassWarlock, 0), }, { spec: Spec.SpecWarlock, + tooltip: 'Demonology Warlock', + defaultName: 'Demonology', + iconUrl: getSpecIcon(Class.ClassWarlock, 1), + talents: WarlockPresets.DemonologyTalents.data, specOptions: WarlockPresets.DemonologyOptions, consumes: WarlockPresets.DefaultConsumes, - defaultName: 'Demonology', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -928,23 +1031,26 @@ export const playerPresets: Array> = [ 1: WarlockPresets.P1_DEMODESTRO_PRESET.gear, 2: WarlockPresets.P2_DEMODESTRO_PRESET.gear, 3: WarlockPresets.P3_DEMO_ALLIANCE_PRESET.gear, + 4: WarlockPresets.P4_DEMO_PRESET.gear, }, [Faction.Horde]: { 1: WarlockPresets.P1_DEMODESTRO_PRESET.gear, 2: WarlockPresets.P2_DEMODESTRO_PRESET.gear, 3: WarlockPresets.P3_DEMO_HORDE_PRESET.gear, + 4: WarlockPresets.P4_DEMO_PRESET.gear, }, }, otherDefaults: WarlockPresets.OtherDefaults, - tooltip: 'Demonology Warlock', - iconUrl: getSpecIcon(Class.ClassWarlock, 1), }, { spec: Spec.SpecWarlock, + tooltip: 'Destruction Warlock', + defaultName: 'Destruction', + iconUrl: getSpecIcon(Class.ClassWarlock, 2), + talents: WarlockPresets.DestructionTalents.data, specOptions: WarlockPresets.DestructionOptions, consumes: WarlockPresets.DefaultConsumes, - defaultName: 'Destruction', defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, [Faction.Alliance]: Race.RaceHuman, @@ -956,16 +1062,16 @@ export const playerPresets: Array> = [ 1: WarlockPresets.P1_DEMODESTRO_PRESET.gear, 2: WarlockPresets.P2_DEMODESTRO_PRESET.gear, 3: WarlockPresets.P3_DESTRO_ALLIANCE_PRESET.gear, + 4: WarlockPresets.P4_DESTRO_PRESET.gear, }, [Faction.Horde]: { 1: WarlockPresets.P1_DEMODESTRO_PRESET.gear, 2: WarlockPresets.P2_DEMODESTRO_PRESET.gear, 3: WarlockPresets.P3_DESTRO_HORDE_PRESET.gear, + 4: WarlockPresets.P4_DESTRO_PRESET.gear, }, }, otherDefaults: WarlockPresets.OtherDefaults, - tooltip: 'Destruction Warlock', - iconUrl: getSpecIcon(Class.ClassWarlock, 2), }, ]; diff --git a/ui/restoration_druid/gear_sets/p3.gear.json b/ui/restoration_druid/gear_sets/p3.gear.json new file mode 100644 index 0000000000..12993ae928 --- /dev/null +++ b/ui/restoration_druid/gear_sets/p3.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":48134,"enchant":3819,"gems":[41401,40133]}, + {"id":45243,"gems":[40155]}, + {"id":48137,"enchant":3809,"gems":[40155]}, + {"id":46977,"enchant":3859,"gems":[40155]}, + {"id":46993,"enchant":3832,"gems":[40133,40113,40155]}, + {"id":47066,"enchant":2332,"gems":[40155,0]}, + {"id":48133,"enchant":3246,"gems":[40113,0]}, + {"id":47145,"gems":[40155,40113,40113]}, + {"id":48135,"enchant":3719,"gems":[40155,40155]}, + {"id":47097,"enchant":3606,"gems":[40155,40155]}, + {"id":45495,"gems":[40113]}, + {"id":47224,"gems":[40155]}, + {"id":47059}, + {"id":45535}, + {"id":47206,"enchant":3834}, + {"id":47958,"gems":[40155]}, + {"id":40342} +]} \ No newline at end of file diff --git a/ui/restoration_druid/gear_sets/p4.gear.json b/ui/restoration_druid/gear_sets/p4.gear.json new file mode 100644 index 0000000000..4c11fb665e --- /dev/null +++ b/ui/restoration_druid/gear_sets/p4.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51302,"enchant":3819,"gems":[41401,40113]}, + {"id":50609,"gems":[40113]}, + {"id":51304,"enchant":3809,"gems":[40113]}, + {"id":50668,"enchant":3859,"gems":[40113]}, + {"id":50717,"enchant":3832,"gems":[40113,40113,40113]}, + {"id":50630,"enchant":2332,"gems":[40113,0]}, + {"id":51301,"enchant":3246,"gems":[40113,0]}, + {"id":50705,"gems":[40155,40113,40113]}, + {"id":51303,"enchant":3719,"gems":[40113,40155]}, + {"id":50699,"enchant":3606,"gems":[40133,40113]}, + {"id":50400,"gems":[40113]}, + {"id":50636,"gems":[40155]}, + {"id":47432}, + {"id":50366}, + {"id":46017,"enchant":3834}, + {"id":50635}, + {"id":50454} +]} \ No newline at end of file diff --git a/ui/restoration_druid/presets.ts b/ui/restoration_druid/presets.ts index 51f5449229..5ddba487fe 100644 --- a/ui/restoration_druid/presets.ts +++ b/ui/restoration_druid/presets.ts @@ -22,17 +22,20 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('PreRaid', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3Gear from './gear_sets/p3.gear.json'; +export const P3_PRESET = PresetUtils.makePresetGear('P3 Preset', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; +export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); export const DefaultRotation = RestorationDruidRotation.create({ }); diff --git a/ui/restoration_druid/sim.ts b/ui/restoration_druid/sim.ts index 3c49f2583d..dad91ec483 100644 --- a/ui/restoration_druid/sim.ts +++ b/ui/restoration_druid/sim.ts @@ -109,6 +109,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRestorationDruid, { Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P2_PRESET, + Presets.P3_PRESET, + Presets.P4_PRESET, ], }, diff --git a/ui/restoration_shaman/gear_sets/p3.gear.json b/ui/restoration_shaman/gear_sets/p3.gear.json new file mode 100644 index 0000000000..72e49e2385 --- /dev/null +++ b/ui/restoration_shaman/gear_sets/p3.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":46201,"enchant":3820,"gems":[41401,40134]}, + {"id":47468,"gems":[40128]}, + {"id":46204,"enchant":3810,"gems":[40155]}, + {"id":47551,"enchant":3831,"gems":[40155]}, + {"id":46198,"enchant":2381,"gems":[40155,40155]}, + {"id":45460,"enchant":2332,"gems":[40155,0]}, + {"id":46199,"enchant":3246,"gems":[40128,0]}, + {"id":47426,"gems":[40155,40155,40155]}, + {"id":47479,"enchant":3721,"gems":[40155,40155,40155]}, + {"id":47456,"enchant":3232,"gems":[40155,40155]}, + {"id":45614,"gems":[40128]}, + {"id":47439,"gems":[40128]}, + {"id":45535}, + {"id":47059}, + {"id":46017,"enchant":3834}, + {"id":47448,"enchant":1128,"gems":[40128]}, + {"id":47665} +]} \ No newline at end of file diff --git a/ui/restoration_shaman/gear_sets/p4.gear.json b/ui/restoration_shaman/gear_sets/p4.gear.json new file mode 100644 index 0000000000..e4b579561d --- /dev/null +++ b/ui/restoration_shaman/gear_sets/p4.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51247,"enchant":3820,"gems":[41401,40155]}, + {"id":50724,"gems":[40128]}, + {"id":51245,"enchant":3810,"gems":[40179]}, + {"id":50628,"enchant":3831,"gems":[40128]}, + {"id":51249,"enchant":2381,"gems":[40128,40128]}, + {"id":50687,"enchant":2332,"gems":[40155,0]}, + {"id":50703,"enchant":3246,"gems":[40128,40128,0]}, + {"id":50613,"gems":[40128,40128,40128]}, + {"id":51246,"enchant":3721,"gems":[40155,40128]}, + {"id":50699,"enchant":3232,"gems":[40128,40128]}, + {"id":50664,"gems":[40128]}, + {"id":50400,"gems":[40128]}, + {"id":50366}, + {"id":47059}, + {"id":46017,"enchant":3834}, + {"id":50616,"enchant":1128,"gems":[40128]}, + {"id":47665} +]} \ No newline at end of file diff --git a/ui/restoration_shaman/presets.ts b/ui/restoration_shaman/presets.ts index b779935b72..35632299c5 100644 --- a/ui/restoration_shaman/presets.ts +++ b/ui/restoration_shaman/presets.ts @@ -25,17 +25,20 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('PreRaid', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3Gear from './gear_sets/p3.gear.json'; +export const P3_PRESET = PresetUtils.makePresetGear('P3 Preset', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; +export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); export const DefaultRotation = RestorationShamanRotation.create({ totems: ShamanTotems.create({ diff --git a/ui/restoration_shaman/sim.ts b/ui/restoration_shaman/sim.ts index 31f368684d..74f6e9546d 100644 --- a/ui/restoration_shaman/sim.ts +++ b/ui/restoration_shaman/sim.ts @@ -140,6 +140,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRestorationShaman, { Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P2_PRESET, + Presets.P3_PRESET, + Presets.P4_PRESET, ], }, diff --git a/ui/retribution_paladin/presets.ts b/ui/retribution_paladin/presets.ts index 6de4ed10a8..1ab4367313 100644 --- a/ui/retribution_paladin/presets.ts +++ b/ui/retribution_paladin/presets.ts @@ -24,24 +24,21 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; -import P3MaceGear from './gear_sets/p3_mace.gear.json'; -import P4Gear from './gear_sets/p4.gear.json'; -import P5Gear from './gear_sets/p5.gear.json'; - -import DefaultApl from './apls/default.apl.json'; - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('PreRaid', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3MaceGear from './gear_sets/p3_mace.gear.json'; export const P3_PRESET = PresetUtils.makePresetGear('P3 Mace Preset', P3MaceGear); +import P4Gear from './gear_sets/p4.gear.json'; export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); +import P5Gear from './gear_sets/p5.gear.json'; export const P5_PRESET = PresetUtils.makePresetGear('P5 Preset', P5Gear); export const DefaultRotation = RetributionPaladinRotation.create({ @@ -84,6 +81,7 @@ export const DefaultRotation = RetributionPaladinRotation.create({ }); export const ROTATION_PRESET_LEGACY_DEFAULT = PresetUtils.makePresetLegacyRotation('Legacy Default', Spec.SpecRetributionPaladin, DefaultRotation); +import DefaultApl from './apls/default.apl.json'; export const ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Default', DefaultApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/rogue/presets.ts b/ui/rogue/presets.ts index 803fbebab1..004b89b1bd 100644 --- a/ui/rogue/presets.ts +++ b/ui/rogue/presets.ts @@ -23,52 +23,41 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidAssassinationGear from './gear_sets/preraid_assassination.gear.json'; -import P1AssassinationGear from './gear_sets/p1_assassination.gear.json'; -import P2AssassinationGear from './gear_sets/p2_assassination.gear.json'; -import P3AssassinationGear from './gear_sets/p3_assassination.gear.json'; -import P4AssassinationGear from './gear_sets/p4_assassination.gear.json'; -import P5AssassinationGear from './gear_sets/p5_assassination.gear.json'; -import PreraidCombatGear from './gear_sets/preraid_combat.gear.json'; -import P1CombatGear from './gear_sets/p1_combat.gear.json'; -import P2CombatGear from './gear_sets/p2_combat.gear.json'; -import P3CombatGear from './gear_sets/p3_combat.gear.json'; -import P4CombatGear from './gear_sets/p4_combat.gear.json'; -import P5CombatGear from './gear_sets/p5_combat.gear.json'; -import P1HemoSubGear from './gear_sets/p1_hemosub.gear.json'; -import P2HemoSubGear from './gear_sets/p2_hemosub.gear.json'; -import P3HemoSubGear from './gear_sets/p3_hemosub.gear.json'; -import P3DanceSubGear from './gear_sets/p3_dancesub.gear.json'; - -import MutilateApl from './apls/mutilate.apl.json' -import MutilateExposeApl from './apls/mutilate_expose.apl.json' -import RuptureMutilateApl from './apls/rupture_mutilate.apl.json' -import RuptureMutilateExposeApl from './apls/rupture_mutilate_expose.apl.json' -import CombatApl from './apls/combat.apl.json' -import CombatExposeApl from './apls/combat_expose.apl.json' -import CombatCleaveSndApl from './apls/combat_cleave_snd.apl.json' -import CombatCleaveSndExposeApl from './apls/combat_cleave_snd_expose.apl.json' -import FanAoeApl from './apls/fan_aoe.apl.json' - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidAssassinationGear from './gear_sets/preraid_assassination.gear.json'; export const PRERAID_PRESET_ASSASSINATION = PresetUtils.makePresetGear('PreRaid Assassination', PreraidAssassinationGear, { talentTree: 0 }); +import P1AssassinationGear from './gear_sets/p1_assassination.gear.json'; export const P1_PRESET_ASSASSINATION = PresetUtils.makePresetGear('P1 Assassination', P1AssassinationGear, { talentTree: 0 }); +import P2AssassinationGear from './gear_sets/p2_assassination.gear.json'; export const P2_PRESET_ASSASSINATION = PresetUtils.makePresetGear('P2 Assassination', P2AssassinationGear, { talentTree: 0 }); +import P3AssassinationGear from './gear_sets/p3_assassination.gear.json'; export const P3_PRESET_ASSASSINATION = PresetUtils.makePresetGear('P3 Assassination', P3AssassinationGear, { talentTree: 0 }); +import P4AssassinationGear from './gear_sets/p4_assassination.gear.json'; export const P4_PRESET_ASSASSINATION = PresetUtils.makePresetGear('P4 Assassination', P4AssassinationGear, { talentTree: 0 }); +import P5AssassinationGear from './gear_sets/p5_assassination.gear.json'; export const P5_PRESET_ASSASSINATION = PresetUtils.makePresetGear('P5 Assassination', P5AssassinationGear, { talentTree: 0 }); +import PreraidCombatGear from './gear_sets/preraid_combat.gear.json'; export const PRERAID_PRESET_COMBAT = PresetUtils.makePresetGear('PreRaid Combat', PreraidCombatGear, { talentTree: 1 }); +import P1CombatGear from './gear_sets/p1_combat.gear.json'; export const P1_PRESET_COMBAT = PresetUtils.makePresetGear('P1 Combat', P1CombatGear, { talentTree: 1 }); +import P2CombatGear from './gear_sets/p2_combat.gear.json'; export const P2_PRESET_COMBAT = PresetUtils.makePresetGear('P2 Combat', P2CombatGear, { talentTree: 1 }); +import P3CombatGear from './gear_sets/p3_combat.gear.json'; export const P3_PRESET_COMBAT = PresetUtils.makePresetGear('P3 Combat', P3CombatGear, { talentTree: 1 }); +import P4CombatGear from './gear_sets/p4_combat.gear.json'; export const P4_PRESET_COMBAT = PresetUtils.makePresetGear('P4 Combat', P4CombatGear, { talentTree: 1 }); +import P5CombatGear from './gear_sets/p5_combat.gear.json'; export const P5_PRESET_COMBAT = PresetUtils.makePresetGear('P5 Combat', P5CombatGear, { talentTree: 1 }); +import P1HemoSubGear from './gear_sets/p1_hemosub.gear.json'; export const P1_PRESET_HEMO_SUB = PresetUtils.makePresetGear('P1 Hemo Sub', P1HemoSubGear, { talentTree: 2 }); +import P2HemoSubGear from './gear_sets/p2_hemosub.gear.json'; export const P2_PRESET_HEMO_SUB = PresetUtils.makePresetGear('P2 Hemo Sub', P2HemoSubGear, { talentTree: 2 }); +import P3HemoSubGear from './gear_sets/p3_hemosub.gear.json'; export const P3_PRESET_HEMO_SUB = PresetUtils.makePresetGear('P3 Hemo Sub', P3HemoSubGear, { talentTree: 2 }); +import P3DanceSubGear from './gear_sets/p3_dancesub.gear.json'; export const P3_PRESET_DANCE_SUB = PresetUtils.makePresetGear('P3 Dance Sub', P3DanceSubGear, { talentTree: 2 }); export const DefaultRotation = RogueRotation.create({ @@ -84,14 +73,23 @@ export const DefaultRotation = RogueRotation.create({ minimumComboPointsSecondaryFinisher: 4, }); +import MutilateApl from './apls/mutilate.apl.json' export const ROTATION_PRESET_MUTILATE = PresetUtils.makePresetAPLRotation('Mutilate', MutilateApl, { talentTree: 0 }); +import MutilateExposeApl from './apls/mutilate_expose.apl.json' export const ROTATION_PRESET_RUPTURE_MUTILATE = PresetUtils.makePresetAPLRotation('Rupture Mutilate', RuptureMutilateApl, { talentTree: 0 }); +import RuptureMutilateApl from './apls/rupture_mutilate.apl.json' export const ROTATION_PRESET_MUTILATE_EXPOSE = PresetUtils.makePresetAPLRotation('Mutilate w/ Expose', MutilateExposeApl, { talentTree: 0 }); +import RuptureMutilateExposeApl from './apls/rupture_mutilate_expose.apl.json' export const ROTATION_PRESET_RUPTURE_MUTILATE_EXPOSE = PresetUtils.makePresetAPLRotation('Rupture Mutilate w/ Expose', RuptureMutilateExposeApl, { talentTree: 0 }); +import CombatApl from './apls/combat.apl.json' export const ROTATION_PRESET_COMBAT = PresetUtils.makePresetAPLRotation('Combat', CombatApl, { talentTree: 1 }); +import CombatExposeApl from './apls/combat_expose.apl.json' export const ROTATION_PRESET_COMBAT_EXPOSE = PresetUtils.makePresetAPLRotation('Combat w/ Expose', CombatExposeApl, { talentTree: 1 }); +import CombatCleaveSndApl from './apls/combat_cleave_snd.apl.json' export const ROTATION_PRESET_COMBAT_CLEAVE_SND = PresetUtils.makePresetAPLRotation('Combat Cleave SND', CombatCleaveSndApl, { talentTree: 1 }); +import CombatCleaveSndExposeApl from './apls/combat_cleave_snd_expose.apl.json' export const ROTATION_PRESET_COMBAT_CLEAVE_SND_EXPOSE = PresetUtils.makePresetAPLRotation('Combat Cleave SND w/ Expose', CombatCleaveSndExposeApl, { talentTree: 1 }); +import FanAoeApl from './apls/fan_aoe.apl.json' export const ROTATION_PRESET_AOE = PresetUtils.makePresetAPLRotation('Fan AOE', FanAoeApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/shadow_priest/presets.ts b/ui/shadow_priest/presets.ts index 5cf2e13126..b030140a32 100644 --- a/ui/shadow_priest/presets.ts +++ b/ui/shadow_priest/presets.ts @@ -23,32 +23,31 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; -import P2Gear from './gear_sets/p2.gear.json'; -import P3Gear from './gear_sets/p3.gear.json'; -import P4Gear from './gear_sets/p4.gear.json'; - -import DefaultApl from './apls/default.apl.json' -import AOE24Apl from './apls/aoe_2_4.apl.json' -import AOE4PlusApl from './apls/aoe_4_plus.apl.json' - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('Preraid Preset', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); +import P2Gear from './gear_sets/p2.gear.json'; export const P2_PRESET = PresetUtils.makePresetGear('P2 Preset', P2Gear); +import P3Gear from './gear_sets/p3.gear.json'; export const P3_PRESET = PresetUtils.makePresetGear('P3 Preset', P3Gear); +import P4Gear from './gear_sets/p4.gear.json'; export const P4_PRESET = PresetUtils.makePresetGear('P4 Preset', P4Gear); export const DefaultRotation = Rotation.create({ rotationType: ShadowPriest_Rotation_RotationType.Ideal, }); + +import DefaultApl from './apls/default.apl.json' export const ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Default', DefaultApl); +import AOE24Apl from './apls/aoe_2_4.apl.json' export const ROTATION_PRESET_AOE24 = PresetUtils.makePresetAPLRotation('AOE (2 to 4 targets)', AOE24Apl); +import AOE4PlusApl from './apls/aoe_4_plus.apl.json' export const ROTATION_PRESET_AOE4PLUS = PresetUtils.makePresetAPLRotation('AOE (4+ targets)', AOE4PlusApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/smite_priest/presets.ts b/ui/smite_priest/presets.ts index 8230c407c6..04e0f2b712 100644 --- a/ui/smite_priest/presets.ts +++ b/ui/smite_priest/presets.ts @@ -22,16 +22,13 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import PreraidGear from './gear_sets/preraid.gear.json'; -import P1Gear from './gear_sets/p1.gear.json'; - -import DefaultApl from './apls/default.apl.json' - // Preset options for this spec. // Eventually we will import these values for the raid sim too, so its good to // keep them in a separate file. +import PreraidGear from './gear_sets/preraid.gear.json'; export const PRERAID_PRESET = PresetUtils.makePresetGear('Preraid Preset', PreraidGear); +import P1Gear from './gear_sets/p1.gear.json'; export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear); export const DefaultRotation = Rotation.create({ @@ -40,6 +37,7 @@ export const DefaultRotation = Rotation.create({ useMindBlast: false, }); export const ROTATION_PRESET_LEGACY_DEFAULT = PresetUtils.makePresetLegacyRotation('Legacy Default', Spec.SpecSmitePriest, DefaultRotation); +import DefaultApl from './apls/default.apl.json' export const ROTATION_PRESET_APL = PresetUtils.makePresetAPLRotation('Default', DefaultApl); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/tank_deathknight/gear_sets/p3_blood.gear.json b/ui/tank_deathknight/gear_sets/p3_blood.gear.json new file mode 100644 index 0000000000..abd4e0eb2d --- /dev/null +++ b/ui/tank_deathknight/gear_sets/p3_blood.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":49467,"enchant":3878,"gems":[41380,40119]}, + {"id":47133,"gems":[40119]}, + {"id":47698,"enchant":3852,"gems":[40119]}, + {"id":47549,"enchant":3294,"gems":[40119]}, + {"id":46968,"enchant":3297,"gems":[40119,40119,40119]}, + {"id":47111,"enchant":3850,"gems":[40119,0]}, + {"id":45487,"enchant":3860,"gems":[40119,40119,0]}, + {"id":47076,"gems":[40130,36767,36767]}, + {"id":47061,"enchant":3327,"gems":[40119,40119,40119]}, + {"id":47003,"enchant":3606,"gems":[40119,40119]}, + {"id":49489}, + {"id":47955,"gems":[36767]}, + {"id":47088}, + {"id":45158}, + {"id":47515,"enchant":3847,"gems":[40119,40119]}, + {}, + {"id":47672} +]} \ No newline at end of file diff --git a/ui/tank_deathknight/gear_sets/p4_blood.gear.json b/ui/tank_deathknight/gear_sets/p4_blood.gear.json new file mode 100644 index 0000000000..0ab9b09c2d --- /dev/null +++ b/ui/tank_deathknight/gear_sets/p4_blood.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":50640,"enchant":3878,"gems":[41380,40130]}, + {"id":50682,"gems":[40119]}, + {"id":51309,"enchant":3852,"gems":[40119]}, + {"id":50718,"enchant":3294,"gems":[40119]}, + {"id":51305,"enchant":3297,"gems":[40119,40119]}, + {"id":51901,"enchant":3757,"gems":[40119,0]}, + {"id":51307,"enchant":3860,"gems":[40119,0]}, + {"id":50691,"gems":[40119,40119,40119]}, + {"id":51308,"enchant":3327,"gems":[40119,40119]}, + {"id":50625,"enchant":3606,"gems":[40119,40119]}, + {"id":50404,"gems":[40119]}, + {"id":50622,"gems":[40119]}, + {"id":50344}, + {"id":50364}, + {"id":50735,"enchant":3847,"gems":[40119,40119,40119]}, + {}, + {"id":50462} +]} \ No newline at end of file diff --git a/ui/tank_deathknight/presets.ts b/ui/tank_deathknight/presets.ts index 9fb7b3b988..f761c8c9ea 100644 --- a/ui/tank_deathknight/presets.ts +++ b/ui/tank_deathknight/presets.ts @@ -22,16 +22,16 @@ import { import * as PresetUtils from '../core/preset_utils.js'; import P1BloodGear from './gear_sets/p1_blood.gear.json'; -import P2BloodGear from './gear_sets/p2_blood.gear.json'; -import P1FrostGear from './gear_sets/p1_frost.gear.json'; -import P2FrostGear from './gear_sets/p2_frost.gear.json'; - -import BloodAggroApl from './apls/blood_aggro.apl.json'; -import BloodIcyTouchApl from './apls/blood_icy_touch.apl.json'; - export const P1_BLOOD_PRESET = PresetUtils.makePresetGear('P1 Blood', P1BloodGear); +import P2BloodGear from './gear_sets/p2_blood.gear.json'; export const P2_BLOOD_PRESET = PresetUtils.makePresetGear('P2 Blood', P2BloodGear); +import P3BloodGear from './gear_sets/p3_blood.gear.json'; +export const P3_BLOOD_PRESET = PresetUtils.makePresetGear('P3 Blood', P3BloodGear); +import P4BloodGear from './gear_sets/p4_blood.gear.json'; +export const P4_BLOOD_PRESET = PresetUtils.makePresetGear('P4 Blood', P4BloodGear); +import P1FrostGear from './gear_sets/p1_frost.gear.json'; export const P1_FROST_PRESET = PresetUtils.makePresetGear('P1 Frost', P1FrostGear); +import P2FrostGear from './gear_sets/p2_frost.gear.json'; export const P2_FROST_PRESET = PresetUtils.makePresetGear('P2 Frost', P2FrostGear); export const DefaultRotation = TankDeathKnightRotation.create({ @@ -41,8 +41,11 @@ export const DefaultRotation = TankDeathKnightRotation.create({ presence: Presence.Frost, }); + export const BLOOD_LEGACY_PRESET_LEGACY_DEFAULT = PresetUtils.makePresetLegacyRotation('Blood Legacy', Spec.SpecTankDeathknight, DefaultRotation); +import BloodIcyTouchApl from './apls/blood_icy_touch.apl.json'; export const BLOOD_IT_SPAM_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Blood Icy Touch', BloodIcyTouchApl); +import BloodAggroApl from './apls/blood_aggro.apl.json'; export const BLOOD_AGGRO_ROTATION_PRESET_DEFAULT = PresetUtils.makePresetAPLRotation('Blood Aggro', BloodAggroApl); export const BloodTalents = { diff --git a/ui/tank_deathknight/sim.ts b/ui/tank_deathknight/sim.ts index 6e41515bc9..273933f697 100644 --- a/ui/tank_deathknight/sim.ts +++ b/ui/tank_deathknight/sim.ts @@ -203,6 +203,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecTankDeathknight, { Presets.P1_FROST_PRESET, Presets.P2_BLOOD_PRESET, Presets.P2_FROST_PRESET, + Presets.P3_BLOOD_PRESET, + Presets.P4_BLOOD_PRESET, ], }, diff --git a/ui/warlock/presets.ts b/ui/warlock/presets.ts index 696315d81c..7401555967 100644 --- a/ui/warlock/presets.ts +++ b/ui/warlock/presets.ts @@ -30,44 +30,39 @@ import { import * as PresetUtils from '../core/preset_utils.js'; -import SwpGear from './gear_sets/swp.gear.json'; -import PreraidAfflictionGear from './gear_sets/preraid_affliction.gear.json'; -import P1AfflictionGear from './gear_sets/p1_affliction.gear.json'; -import P2AfflictionGear from './gear_sets/p2_affliction.gear.json'; -import P3AfflictionAllianceGear from './gear_sets/p3_affliction_alliance.gear.json'; -import P3AfflictionHordeGear from './gear_sets/p3_affliction_horde.gear.json'; -import P4AfflictionGear from './gear_sets/p4_affliction.gear.json'; -import PreraidDemoDestroGear from './gear_sets/preraid_demodestro.gear.json'; -import P1DemoDestroGear from './gear_sets/p1_demodestro.gear.json'; -import P2DemoDestroGear from './gear_sets/p2_demodestro.gear.json'; -import P3DemoAllianceGear from './gear_sets/p3_demo_alliance.gear.json'; -import P3DemoHordeGear from './gear_sets/p3_demo_horde.gear.json'; -import P4DemoGear from './gear_sets/p4_demo.gear.json'; -import P3DestroAllianceGear from './gear_sets/p3_destro_alliance.gear.json'; -import P3DestroHordeGear from './gear_sets/p3_destro_horde.gear.json'; -import P4DestroGear from './gear_sets/p4_destro.gear.json'; - -import AfflictionApl from './apls/affliction.apl.json'; -import DemoApl from './apls/demo.apl.json'; -import DestroApl from './apls/destro.apl.json'; - export const BIS_TOOLTIP = 'This gear preset is inspired from Zephan\'s Affliction guide: https://www.warcrafttavern.com/wotlk/guides/pve-affliction-warlock/'; +import SwpGear from './gear_sets/swp.gear.json'; export const SWP_BIS = PresetUtils.makePresetGear('Straight Outa SWP', SwpGear); +import PreraidAfflictionGear from './gear_sets/preraid_affliction.gear.json'; export const PRERAID_AFFLICTION_PRESET = PresetUtils.makePresetGear('Preraid Affliction', PreraidAfflictionGear, { tooltip: BIS_TOOLTIP, talentTree: 0 }); +import P1AfflictionGear from './gear_sets/p1_affliction.gear.json'; export const P1_AFFLICTION_PRESET = PresetUtils.makePresetGear('P1 Affliction', P1AfflictionGear, { tooltip: BIS_TOOLTIP, talentTree: 0 }); +import P2AfflictionGear from './gear_sets/p2_affliction.gear.json'; export const P2_AFFLICTION_PRESET = PresetUtils.makePresetGear('P2 Affliction', P2AfflictionGear, { tooltip: BIS_TOOLTIP, talentTree: 0 }); +import P3AfflictionAllianceGear from './gear_sets/p3_affliction_alliance.gear.json'; export const P3_AFFLICTION_ALLIANCE_PRESET = PresetUtils.makePresetGear('P3 Affliction [A]', P3AfflictionAllianceGear, { tooltip: BIS_TOOLTIP, talentTree: 0, faction: Faction.Alliance }); +import P3AfflictionHordeGear from './gear_sets/p3_affliction_horde.gear.json'; export const P3_AFFLICTION_HORDE_PRESET = PresetUtils.makePresetGear('P3 Affliction [H]', P3AfflictionHordeGear, { tooltip: BIS_TOOLTIP, talentTree: 0, faction: Faction.Horde }); +import P4AfflictionGear from './gear_sets/p4_affliction.gear.json'; export const P4_AFFLICTION_PRESET = PresetUtils.makePresetGear('P4 Affliction', P4AfflictionGear, { tooltip: BIS_TOOLTIP, talentTree: 0 }); +import PreraidDemoDestroGear from './gear_sets/preraid_demodestro.gear.json'; export const PRERAID_DEMODESTRO_PRESET = PresetUtils.makePresetGear('Preraid Demo/Destro', PreraidDemoDestroGear, { tooltip: BIS_TOOLTIP, talentTrees: [1,2] }); +import P1DemoDestroGear from './gear_sets/p1_demodestro.gear.json'; export const P1_DEMODESTRO_PRESET = PresetUtils.makePresetGear('P1 Demo/Destro', P1DemoDestroGear, { tooltip: BIS_TOOLTIP, talentTrees: [1,2] }); +import P2DemoDestroGear from './gear_sets/p2_demodestro.gear.json'; export const P2_DEMODESTRO_PRESET = PresetUtils.makePresetGear('P2 Demo/Destro', P2DemoDestroGear, { tooltip: BIS_TOOLTIP, talentTrees: [1,2] }); +import P3DemoAllianceGear from './gear_sets/p3_demo_alliance.gear.json'; export const P3_DEMO_ALLIANCE_PRESET = PresetUtils.makePresetGear('P3 Demo [A]', P3DemoAllianceGear, { tooltip: BIS_TOOLTIP, talentTree: 1, faction: Faction.Alliance }); +import P3DemoHordeGear from './gear_sets/p3_demo_horde.gear.json'; export const P3_DEMO_HORDE_PRESET = PresetUtils.makePresetGear('P3 Demo [H]', P3DemoHordeGear, { tooltip: BIS_TOOLTIP, talentTree: 1, faction: Faction.Horde }); +import P4DemoGear from './gear_sets/p4_demo.gear.json'; export const P4_DEMO_PRESET = PresetUtils.makePresetGear('P4 Demo', P4DemoGear, { tooltip: BIS_TOOLTIP, talentTree: 1 }); +import P3DestroAllianceGear from './gear_sets/p3_destro_alliance.gear.json'; export const P3_DESTRO_ALLIANCE_PRESET = PresetUtils.makePresetGear('P3 Destro [A]', P3DestroAllianceGear, { tooltip: BIS_TOOLTIP, talentTree: 2, faction: Faction.Alliance }); +import P3DestroHordeGear from './gear_sets/p3_destro_horde.gear.json'; export const P3_DESTRO_HORDE_PRESET = PresetUtils.makePresetGear('P3 Destro [H]', P3DestroHordeGear, { tooltip: BIS_TOOLTIP, talentTree: 2, faction: Faction.Horde }); +import P4DestroGear from './gear_sets/p4_destro.gear.json'; export const P4_DESTRO_PRESET = PresetUtils.makePresetGear('P4 Destro', P4DestroGear, { tooltip: BIS_TOOLTIP, talentTree: 2 }); export const AfflictionRotation = WarlockRotation.create({ @@ -101,10 +96,13 @@ export const DestructionRotation = WarlockRotation.create({ }); export const APL_Affliction_Legacy = PresetUtils.makePresetLegacyRotation('Affliction Legacy', Spec.SpecWarlock, AfflictionRotation, { talentTree: 0 }); +import AfflictionApl from './apls/affliction.apl.json'; export const APL_Affliction_Default = PresetUtils.makePresetAPLRotation('Affliction', AfflictionApl, { talentTree: 0 }); export const APL_Demo_Legacy = PresetUtils.makePresetLegacyRotation('Demo Legacy', Spec.SpecWarlock, DemonologyRotation, { talentTree: 1 }); +import DemoApl from './apls/demo.apl.json'; export const APL_Demo_Default = PresetUtils.makePresetAPLRotation('Demo', DemoApl, { talentTree: 1 }); export const APL_Destro_Legacy = PresetUtils.makePresetLegacyRotation('Destro Legacy', Spec.SpecWarlock, DestructionRotation, { talentTree: 2 }); +import DestroApl from './apls/destro.apl.json'; export const APL_Destro_Default = PresetUtils.makePresetAPLRotation('Destro', DestroApl, { talentTree: 2 }); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/warrior/gear_sets/p4_arms_alliance.gear.json b/ui/warrior/gear_sets/p4_arms_alliance.gear.json new file mode 100644 index 0000000000..2ebca101d8 --- /dev/null +++ b/ui/warrior/gear_sets/p4_arms_alliance.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51227,"enchant":3817,"gems":[41398,40111]}, + {"id":50728,"gems":[40143]}, + {"id":51229,"enchant":3808,"gems":[40111]}, + {"id":47545,"enchant":3605,"gems":[40111]}, + {"id":51225,"enchant":3832,"gems":[40111,49110]}, + {"id":50670,"enchant":3845,"gems":[40143,0]}, + {"id":51226,"enchant":3604,"gems":[40125,0]}, + {"id":50707,"gems":[40117,40117,40117]}, + {"id":50645,"enchant":3823,"gems":[42153,42153,42142]}, + {"id":50607,"enchant":3606,"gems":[40125,40125]}, + {"id":50402,"gems":[40143]}, + {"id":50618,"gems":[40117]}, + {"id":50343}, + {"id":50363}, + {"id":49623,"enchant":3789,"gems":[40111,40111,40111]}, + {}, + {"id":50733,"enchant":3608,"gems":[40111]} +]} \ No newline at end of file diff --git a/ui/warrior/gear_sets/p4_arms_horde.gear.json b/ui/warrior/gear_sets/p4_arms_horde.gear.json new file mode 100644 index 0000000000..d4b2b0e5b1 --- /dev/null +++ b/ui/warrior/gear_sets/p4_arms_horde.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51227,"enchant":3817,"gems":[41398,40111]}, + {"id":50728,"gems":[40125]}, + {"id":51229,"enchant":3808,"gems":[40111]}, + {"id":47546,"enchant":3605,"gems":[40111]}, + {"id":51225,"enchant":3832,"gems":[40111,49110]}, + {"id":50670,"enchant":3845,"gems":[40125,0]}, + {"id":51226,"enchant":3604,"gems":[40125,0]}, + {"id":50707,"gems":[40117,40117,40117]}, + {"id":50645,"enchant":3823,"gems":[42153,42153,42142]}, + {"id":50607,"enchant":3606,"gems":[40125,40125]}, + {"id":50402,"gems":[40125]}, + {"id":50618,"gems":[40117]}, + {"id":47131}, + {"id":50363}, + {"id":49623,"enchant":3789,"gems":[40111,40111,40111]}, + {}, + {"id":50733,"enchant":3608,"gems":[40111]} +]} \ No newline at end of file diff --git a/ui/warrior/gear_sets/p4_fury_alliance.gear.json b/ui/warrior/gear_sets/p4_fury_alliance.gear.json new file mode 100644 index 0000000000..0a099ee14d --- /dev/null +++ b/ui/warrior/gear_sets/p4_fury_alliance.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51227,"enchant":3817,"gems":[41398,40117]}, + {"id":50633,"gems":[40117]}, + {"id":51229,"enchant":3808,"gems":[40117]}, + {"id":47545,"enchant":3831,"gems":[40117]}, + {"id":51225,"enchant":3832,"gems":[40117,49110]}, + {"id":50670,"enchant":3845,"gems":[42156,0]}, + {"id":50675,"enchant":3604,"gems":[40143,40117,0]}, + {"id":50620,"gems":[40143,40111,40111]}, + {"id":51228,"enchant":3823,"gems":[40111,40111]}, + {"id":50639,"enchant":3606,"gems":[40143,40117]}, + {"id":50618,"gems":[40117]}, + {"id":50402,"gems":[40143]}, + {"id":50343}, + {"id":50363}, + {"id":49623,"enchant":3789,"gems":[40111,42153,42153]}, + {"id":50730,"enchant":3789,"gems":[40117,40117,40117]}, + {"id":50733,"gems":[40111]} +]} \ No newline at end of file diff --git a/ui/warrior/gear_sets/p4_fury_horde.gear.json b/ui/warrior/gear_sets/p4_fury_horde.gear.json new file mode 100644 index 0000000000..12c44c817d --- /dev/null +++ b/ui/warrior/gear_sets/p4_fury_horde.gear.json @@ -0,0 +1,19 @@ +{"items": [ + {"id":51227,"enchant":3817,"gems":[41398,40117]}, + {"id":50633,"gems":[40117]}, + {"id":51229,"enchant":3808,"gems":[40117]}, + {"id":47546,"enchant":3831,"gems":[40117]}, + {"id":51225,"enchant":3832,"gems":[40117,49110]}, + {"id":50670,"enchant":3845,"gems":[40125,0]}, + {"id":50675,"enchant":3604,"gems":[40143,40117,0]}, + {"id":50620,"gems":[40125,40117,40117]}, + {"id":51228,"enchant":3823,"gems":[40111,40111]}, + {"id":50639,"enchant":3606,"gems":[42156,40143]}, + {"id":50618,"gems":[40117]}, + {"id":50402,"gems":[40143]}, + {"id":50343}, + {"id":50363}, + {"id":49623,"enchant":3789,"gems":[40117,42153,42153]}, + {"id":50730,"enchant":3789,"gems":[40117,40111,40111]}, + {"id":50733,"gems":[40111]} +]} \ No newline at end of file diff --git a/ui/warrior/presets.ts b/ui/warrior/presets.ts index 24d4422eee..da5f32fdbe 100644 --- a/ui/warrior/presets.ts +++ b/ui/warrior/presets.ts @@ -21,40 +21,42 @@ import { import * as PresetUtils from '../core/preset_utils.js'; +// Preset options for this spec. +// Eventually we will import these values for the raid sim too, so its good to +// keep them in a separate file. + import PreraidArmsGear from './gear_sets/preraid_arms.gear.json'; +export const PRERAID_ARMS_PRESET = PresetUtils.makePresetGear('Preraid Arms', PreraidArmsGear, { talentTree: 0 }); import P1ArmsGear from './gear_sets/p1_arms.gear.json'; +export const P1_ARMS_PRESET = PresetUtils.makePresetGear('P1 Arms', P1ArmsGear, { talentTree: 0 }); import P2ArmsGear from './gear_sets/p2_arms.gear.json'; +export const P2_ARMS_PRESET = PresetUtils.makePresetGear('P2 Arms', P2ArmsGear, { talentTree: 0 }); import P3Arms2pAllianceGear from './gear_sets/p3_arms_2p_alliance.gear.json'; +export const P3_ARMS_2P_PRESET_ALLIANCE = PresetUtils.makePresetGear('P3 Arms 2p [A]', P3Arms2pAllianceGear, { talentTree: 0, faction: Faction.Alliance }); import P3Arms4pAllianceGear from './gear_sets/p3_arms_4p_alliance.gear.json'; +export const P3_ARMS_4P_PRESET_ALLIANCE = PresetUtils.makePresetGear('P3 Arms 4p [A]', P3Arms4pAllianceGear, { talentTree: 0, faction: Faction.Alliance }); import P3Arms2pHordeGear from './gear_sets/p3_arms_2p_horde.gear.json'; +export const P3_ARMS_2P_PRESET_HORDE = PresetUtils.makePresetGear('P3 Arms 2p [H]', P3Arms2pHordeGear, { talentTree: 0, faction: Faction.Horde }); import P3Arms4pHordeGear from './gear_sets/p3_arms_4p_horde.gear.json'; +export const P3_ARMS_4P_PRESET_HORDE = PresetUtils.makePresetGear('P3 Arms 4p [H]', P3Arms4pHordeGear, { talentTree: 0, faction: Faction.Horde }); +import P4ArmsAllianceGear from './gear_sets/p4_arms_alliance.gear.json'; +export const P4_ARMS_PRESET_ALLIANCE = PresetUtils.makePresetGear('P4 Arms [A]', P4ArmsAllianceGear, { talentTree: 0, faction: Faction.Alliance }); +import P4ArmsHordeGear from './gear_sets/p4_arms_horde.gear.json'; +export const P4_ARMS_PRESET_HORDE = PresetUtils.makePresetGear('P4 Arms [H]', P4ArmsHordeGear, { talentTree: 0, faction: Faction.Horde }); import PreraidFuryGear from './gear_sets/preraid_fury.gear.json'; -import P1FuryGear from './gear_sets/p1_fury.gear.json'; -import P2FuryGear from './gear_sets/p2_fury.gear.json'; -import P3FuryAllianceGear from './gear_sets/p3_fury_alliance.gear.json'; -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'; -import ArmsSunderApl from './apls/arms_sunder.apl.json'; - -// Preset options for this spec. -// Eventually we will import these values for the raid sim too, so its good to -// keep them in a separate file. - -export const PRERAID_ARMS_PRESET = PresetUtils.makePresetGear('Preraid Arms', PreraidArmsGear, { talentTree: 0 }); -export const P1_ARMS_PRESET = PresetUtils.makePresetGear('P1 Arms', P1ArmsGear, { talentTree: 0 }); -export const P2_ARMS_PRESET = PresetUtils.makePresetGear('P2 Arms', P2ArmsGear, { talentTree: 0 }); -export const P3_ARMS_2P_PRESET_ALLIANCE = PresetUtils.makePresetGear('P2 Arms 2p [A]', P3Arms2pAllianceGear, { talentTree: 0, faction: Faction.Alliance }); -export const P3_ARMS_4P_PRESET_ALLIANCE = PresetUtils.makePresetGear('P2 Arms 4p [A]', P3Arms4pAllianceGear, { talentTree: 0, faction: Faction.Alliance }); -export const P3_ARMS_2P_PRESET_HORDE = PresetUtils.makePresetGear('P2 Arms 2p [H]', P3Arms2pHordeGear, { talentTree: 0, faction: Faction.Horde }); -export const P3_ARMS_4P_PRESET_HORDE = PresetUtils.makePresetGear('P2 Arms 4p [H]', P3Arms4pHordeGear, { talentTree: 0, faction: Faction.Horde }); export const PRERAID_FURY_PRESET = PresetUtils.makePresetGear('Preraid Fury', PreraidFuryGear, { talentTrees: [1,2] }); +import P1FuryGear from './gear_sets/p1_fury.gear.json'; export const P1_FURY_PRESET = PresetUtils.makePresetGear('P1 Fury', P1FuryGear, { talentTrees: [1,2] }); +import P2FuryGear from './gear_sets/p2_fury.gear.json'; export const P2_FURY_PRESET = PresetUtils.makePresetGear('P2 Fury', P2FuryGear, { talentTrees: [1,2] }); +import P3FuryAllianceGear from './gear_sets/p3_fury_alliance.gear.json'; export const P3_FURY_PRESET_ALLIANCE = PresetUtils.makePresetGear('P3 Fury [A]', P3FuryAllianceGear, { talentTrees: [1,2], faction: Faction.Alliance }); +import P3FuryHordeGear from './gear_sets/p3_fury_horde.gear.json'; export const P3_FURY_PRESET_HORDE = PresetUtils.makePresetGear('P3 Fury [H]', P3FuryHordeGear, { talentTrees: [1,2], faction: Faction.Horde }); +import P4FuryAllianceGear from './gear_sets/p4_fury_alliance.gear.json'; +export const P4_FURY_PRESET_ALLIANCE = PresetUtils.makePresetGear('P4 Fury [A]', P4FuryAllianceGear, { talentTrees: [1,2], faction: Faction.Alliance }); +import P4FuryHordeGear from './gear_sets/p4_fury_horde.gear.json'; +export const P4_FURY_PRESET_HORDE = PresetUtils.makePresetGear('P4 Fury [H]', P4FuryHordeGear, { talentTrees: [1,2], faction: Faction.Horde }); export const DefaultRotation = WarriorRotation.create({ useRend: true, @@ -93,9 +95,13 @@ export const ArmsRotation = WarriorRotation.create({ stanceOption: StanceOption.DefaultStance, }); +import FuryApl from './apls/fury.apl.json'; export const ROTATION_FURY = PresetUtils.makePresetAPLRotation('Fury', FuryApl, { talentTree: 1 }); +import FurySunderApl from './apls/fury_sunder.apl.json'; export const ROTATION_FURY_SUNDER = PresetUtils.makePresetAPLRotation('Fury + Sunder', FurySunderApl, { talentTree: 1 }); +import ArmsApl from './apls/arms.apl.json'; export const ROTATION_ARMS = PresetUtils.makePresetAPLRotation('Arms', ArmsApl, { talentTree: 0 }); +import ArmsSunderApl from './apls/arms_sunder.apl.json'; export const ROTATION_ARMS_SUNDER = PresetUtils.makePresetAPLRotation('Arms + Sunder', ArmsSunderApl, { talentTree: 0 }); // Default talents. Uses the wowhead calculator format, make the talents on diff --git a/ui/warrior/sim.ts b/ui/warrior/sim.ts index 020f787af9..3a2c65c144 100644 --- a/ui/warrior/sim.ts +++ b/ui/warrior/sim.ts @@ -185,6 +185,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecWarrior, { Presets.P2_FURY_PRESET, Presets.P3_FURY_PRESET_ALLIANCE, Presets.P3_FURY_PRESET_HORDE, + Presets.P4_FURY_PRESET_ALLIANCE, + Presets.P4_FURY_PRESET_HORDE, Presets.PRERAID_ARMS_PRESET, Presets.P1_ARMS_PRESET, Presets.P2_ARMS_PRESET, @@ -192,6 +194,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecWarrior, { Presets.P3_ARMS_4P_PRESET_ALLIANCE, Presets.P3_ARMS_2P_PRESET_HORDE, Presets.P3_ARMS_4P_PRESET_HORDE, + Presets.P4_ARMS_PRESET_ALLIANCE, + Presets.P4_ARMS_PRESET_HORDE, ], },