From bf32b7192d8856b39b1d7e8495a70217c72d6ad5 Mon Sep 17 00:00:00 2001 From: Adrian Klingen Date: Thu, 19 Sep 2024 10:28:05 +0200 Subject: [PATCH] Add Protection P3 sets --- .../protection/TestProtectionWarrior.results | 168 ++++++++++++++++++ sim/warrior/protection/protection_test.go | 6 +- .../protection/gear_sets/p3_bis.gear.json | 21 +++ .../protection/gear_sets/preraid.gear.json | 40 +++-- ui/warrior/protection/presets.ts | 11 +- ui/warrior/protection/sim.ts | 8 +- 6 files changed, 228 insertions(+), 26 deletions(-) create mode 100644 ui/warrior/protection/gear_sets/p3_bis.gear.json diff --git a/sim/warrior/protection/TestProtectionWarrior.results b/sim/warrior/protection/TestProtectionWarrior.results index a0e26011fd..b7bd20f2f0 100644 --- a/sim/warrior/protection/TestProtectionWarrior.results +++ b/sim/warrior/protection/TestProtectionWarrior.results @@ -1541,6 +1541,90 @@ dps_results: { tps: 19664.75546 } } +dps_results: { + key: "TestProtectionWarrior-Settings-Human-p3_bis-Basic-default-FullBuffs-0.0yards-LongMultiTarget" + value: { + dps: 25686.90693 + tps: 146227.47633 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-p3_bis-Basic-default-FullBuffs-0.0yards-LongSingleTarget" + value: { + dps: 5825.99222 + tps: 34916.28743 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-p3_bis-Basic-default-FullBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 6394.26246 + tps: 37976.31601 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-p3_bis-Basic-default-NoBuffs-0.0yards-LongMultiTarget" + value: { + dps: 18407.90101 + tps: 104841.90217 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-p3_bis-Basic-default-NoBuffs-0.0yards-LongSingleTarget" + value: { + dps: 3821.18748 + tps: 23229.47102 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-p3_bis-Basic-default-NoBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 3624.00069 + tps: 22151.81396 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-preraid-Basic-default-FullBuffs-0.0yards-LongMultiTarget" + value: { + dps: 22251.17998 + tps: 127438.69449 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-preraid-Basic-default-FullBuffs-0.0yards-LongSingleTarget" + value: { + dps: 4818.69582 + tps: 29541.40244 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-preraid-Basic-default-FullBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 5282.53303 + tps: 31978.78139 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-preraid-Basic-default-NoBuffs-0.0yards-LongMultiTarget" + value: { + dps: 16007.36812 + tps: 91870.74531 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-preraid-Basic-default-NoBuffs-0.0yards-LongSingleTarget" + value: { + dps: 3158.95467 + tps: 19589.18309 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Human-preraid-Basic-default-NoBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 2993.66673 + tps: 18698.71693 + } +} dps_results: { key: "TestProtectionWarrior-Settings-Orc-p1_bis-Basic-default-FullBuffs-0.0yards-LongMultiTarget" value: { @@ -1583,6 +1667,90 @@ dps_results: { tps: 19542.83 } } +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-p3_bis-Basic-default-FullBuffs-0.0yards-LongMultiTarget" + value: { + dps: 25681.92573 + tps: 146119.91009 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-p3_bis-Basic-default-FullBuffs-0.0yards-LongSingleTarget" + value: { + dps: 5823.51286 + tps: 34933.67895 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-p3_bis-Basic-default-FullBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 6388.36071 + tps: 37958.56261 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-p3_bis-Basic-default-NoBuffs-0.0yards-LongMultiTarget" + value: { + dps: 18384.05922 + tps: 104737.00759 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-p3_bis-Basic-default-NoBuffs-0.0yards-LongSingleTarget" + value: { + dps: 3801.95769 + tps: 23124.39691 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-p3_bis-Basic-default-NoBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 3595.2271 + tps: 22013.76814 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-preraid-Basic-default-FullBuffs-0.0yards-LongMultiTarget" + value: { + dps: 22264.54339 + tps: 127549.22716 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-preraid-Basic-default-FullBuffs-0.0yards-LongSingleTarget" + value: { + dps: 4794.27409 + tps: 29365.57546 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-preraid-Basic-default-FullBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 5271.44441 + tps: 31922.90035 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-preraid-Basic-default-NoBuffs-0.0yards-LongMultiTarget" + value: { + dps: 16014.92567 + tps: 91895.08585 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-preraid-Basic-default-NoBuffs-0.0yards-LongSingleTarget" + value: { + dps: 3153.66334 + tps: 19514.67763 + } +} +dps_results: { + key: "TestProtectionWarrior-Settings-Orc-preraid-Basic-default-NoBuffs-0.0yards-ShortSingleTarget" + value: { + dps: 2951.54452 + tps: 18439.31704 + } +} dps_results: { key: "TestProtectionWarrior-SwitchInFrontOfTarget-Default" value: { diff --git a/sim/warrior/protection/protection_test.go b/sim/warrior/protection/protection_test.go index a1633842fb..0a4e6152da 100644 --- a/sim/warrior/protection/protection_test.go +++ b/sim/warrior/protection/protection_test.go @@ -18,7 +18,11 @@ func TestProtectionWarrior(t *testing.T) { Race: proto.Race_RaceOrc, OtherRaces: []proto.Race{proto.Race_RaceHuman}, - GearSet: core.GetGearSet("../../../ui/warrior/protection/gear_sets", "p1_bis"), + GearSet: core.GetGearSet("../../../ui/warrior/protection/gear_sets", "p1_bis"), + OtherGearSets: []core.GearSetCombo{ + core.GetGearSet("../../../ui/warrior/protection/gear_sets", "p3_bis"), + core.GetGearSet("../../../ui/warrior/protection/gear_sets", "preraid"), + }, Talents: DefaultTalents, Glyphs: DefaultGlyphs, Consumes: FullConsumes, diff --git a/ui/warrior/protection/gear_sets/p3_bis.gear.json b/ui/warrior/protection/gear_sets/p3_bis.gear.json new file mode 100644 index 0000000000..8cdb777b9e --- /dev/null +++ b/ui/warrior/protection/gear_sets/p3_bis.gear.json @@ -0,0 +1,21 @@ +{ + "items": [ + { "id": 71606, "enchant": 4206, "gems": [52293, 52242], "reforging": 133 }, + { "id": 71563, "reforging": 156 }, + { "id": 71608, "enchant": 4198, "gems": [52231], "reforging": 135 }, + { "id": 71415, "enchant": 4090, "gems": [52242, 52242], "reforging": 135 }, + { "id": 71405, "enchant": 4103, "gems": [52242, 52242] }, + { "id": 71470, "enchant": 4189, "gems": [52242, 0], "reforging": 128 }, + { "id": 71605, "enchant": 4107, "gems": [52210, 0] }, + { "id": 71443, "gems": [52231, 52242], "reforging": 156 }, + { "id": 71607, "enchant": 4270, "gems": [52210, 52242], "reforging": 128 }, + { "id": 69947, "enchant": 4104, "gems": [52210], "reforging": 128 }, + { "id": 70934, "gems": [52210], "reforging": 126 }, + { "id": 60226, "gems": [52242], "reforging": 142 }, + { "id": 69109 }, + { "id": 69138 }, + { "id": 71406, "enchant": 4098 }, + { "id": 71460, "enchant": 4085, "gems": [52242, 52242], "reforging": 133 }, + { "id": 71592, "reforging": 161 } + ] +} diff --git a/ui/warrior/protection/gear_sets/preraid.gear.json b/ui/warrior/protection/gear_sets/preraid.gear.json index 25ddc9e36c..9d19c7a8cf 100644 --- a/ui/warrior/protection/gear_sets/preraid.gear.json +++ b/ui/warrior/protection/gear_sets/preraid.gear.json @@ -1,19 +1,21 @@ -{"items": [ - {"id":58103,"enchant":4206,"gems":[52293,52219]}, - {"id":56319}, - {"id":56452,"enchant":4195,"gems":[52231]}, - {"id":62383,"enchant":4090}, - {"id":56308,"enchant":4103,"gems":[52210,52231]}, - {"id":62449,"enchant":4189,"gems":[0]}, - {"id":56428,"enchant":4107,"gems":[52210,0]}, - {"id":55059,"gems":[52231,52219]}, - {"id":56283,"enchant":4270,"gems":[52219,52210]}, - {"id":62418,"enchant":4062,"gems":[52219]}, - {"id":58187}, - {"id":56398}, - {"id":56347}, - {"id":63742}, - {"id":56346,"enchant":3241}, - {"id":55069,"enchant":4085,"gems":[52231]}, - {"id":56376,"enchant":4176} -]} +{ + "items": [ + { "id": 59359, "enchant": 4206, "gems": [52293, 59480, 59477] }, + { "id": 70107, "reforging": 156 }, + { "id": 67144, "enchant": 4198, "gems": [52242], "reforging": 128 }, + { "id": 71270, "enchant": 4090 }, + { "id": 60329, "enchant": 4103, "gems": [52210, 52242], "reforging": 128 }, + { "id": 70121, "enchant": 4189, "gems": [0], "reforging": 128 }, + { "id": 60332, "enchant": 4107, "gems": [52242, 0], "reforging": 128 }, + { "id": 55059, "gems": [52242, 52242] }, + { "id": 60330, "enchant": 4270, "gems": [52210, 52242], "reforging": 133 }, + { "id": 70108, "enchant": 4104, "gems": [52242], "reforging": 133 }, + { "id": 58187 }, + { "id": 70127, "reforging": 128 }, + { "id": 70143 }, + { "id": 56347 }, + { "id": 70163, "enchant": 3241, "reforging": 128 }, + { "id": 55069, "enchant": 4085, "gems": [52242], "reforging": 135 }, + { "id": 71077, "enchant": 4176, "gems": [52242], "reforging": 142 } + ] +} diff --git a/ui/warrior/protection/presets.ts b/ui/warrior/protection/presets.ts index 587aec796d..29ccce9886 100644 --- a/ui/warrior/protection/presets.ts +++ b/ui/warrior/protection/presets.ts @@ -12,6 +12,7 @@ import { PseudoStat, Spec, Stat, + TinkerHands, } from '../../core/proto/common.js'; import { SavedTalents } from '../../core/proto/ui.js'; import { @@ -24,6 +25,7 @@ import { import { Stats } from '../../core/proto_utils/stats'; import DefaultApl from './apls/default.apl.json'; import P1BISGear from './gear_sets/p1_bis.gear.json'; +import P3BISGear from './gear_sets/p3_bis.gear.json'; import PreraidBISGear from './gear_sets/preraid.gear.json'; // Preset options for this spec. @@ -32,6 +34,7 @@ import PreraidBISGear from './gear_sets/preraid.gear.json'; export const PRERAID_BALANCED_PRESET = PresetUtils.makePresetGear('P1 PreRaid Preset', PreraidBISGear); export const P1_BALANCED_PRESET = PresetUtils.makePresetGear('P1 BIS Preset', P1BISGear); +export const P3_BALANCED_PRESET = PresetUtils.makePresetGear('P3 BIS Preset', P3BISGear); export const ROTATION_DEFAULT = PresetUtils.makePresetAPLRotation('Default APL', DefaultApl); @@ -87,12 +90,14 @@ export const DefaultOptions = ProtectionWarriorOptions.create({ }); export const DefaultConsumes = Consumes.create({ - flask: Flask.FlaskOfSteelskin, - // battleElixir: BattleElixir.ElixirOfExpertise, - // guardianElixir: GuardianElixir.ElixirOfProtection, + // flask: Flask.FlaskOfSteelskin, + battleElixir: BattleElixir.ElixirOfTheMaster, + guardianElixir: GuardianElixir.ElixirOfDeepEarth, food: Food.FoodBeerBasedCrocolisk, defaultPotion: Potions.EarthenPotion, prepopPotion: Potions.EarthenPotion, + tinkerHands: TinkerHands.TinkerHandsSynapseSprings, + explosiveBigDaddy: true, }); export const OtherDefaults = { diff --git a/ui/warrior/protection/sim.ts b/ui/warrior/protection/sim.ts index c4dcf4eb6f..dee4367eb4 100644 --- a/ui/warrior/protection/sim.ts +++ b/ui/warrior/protection/sim.ts @@ -128,7 +128,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecProtectionWarrior, { ], }, encounterPicker: { - // Whether to include 'Execute Duration (%)' in the 'Encounter' section of the settings tab. + // Whether to include 'Execute DuratFion (%)' in the 'Encounter' section of the settings tab. showExecuteProportion: false, }, @@ -139,7 +139,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecProtectionWarrior, { // Preset rotations that the user can quickly select. rotations: [Presets.ROTATION_DEFAULT, Presets.ROTATION_DEFAULT], // Preset gear configurations that the user can quickly select. - gear: [Presets.PRERAID_BALANCED_PRESET, Presets.P1_BALANCED_PRESET], + gear: [Presets.PRERAID_BALANCED_PRESET, Presets.P1_BALANCED_PRESET, Presets.P3_BALANCED_PRESET], }, autoRotation: (_player: Player): APLRotation => { @@ -154,7 +154,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecProtectionWarrior, { consumes: Presets.DefaultConsumes, defaultFactionRaces: { [Faction.Unknown]: Race.RaceUnknown, - [Faction.Alliance]: Race.RaceHuman, + [Faction.Alliance]: Race.RaceNightElf, [Faction.Horde]: Race.RaceOrc, }, defaultGear: { @@ -162,10 +162,12 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecProtectionWarrior, { [Faction.Alliance]: { 1: Presets.P1_BALANCED_PRESET.gear, 2: Presets.PRERAID_BALANCED_PRESET.gear, + 3: Presets.P3_BALANCED_PRESET.gear, }, [Faction.Horde]: { 1: Presets.P1_BALANCED_PRESET.gear, 2: Presets.PRERAID_BALANCED_PRESET.gear, + 3: Presets.P3_BALANCED_PRESET.gear, }, }, otherDefaults: Presets.OtherDefaults,