Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Ret] Move Retribution Paladin to phase 3 #1144

Merged
merged 1 commit into from
Oct 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,276 changes: 554 additions & 722 deletions sim/paladin/retribution/TestRetribution.results

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions sim/paladin/retribution/retribution_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ func init() {

func TestRetribution(t *testing.T) {
core.RunTestSuite(t, t.Name(), core.FullCharacterTestSuiteGenerator(core.CharacterSuiteConfig{
Class: proto.Class_ClassPaladin,
Race: proto.Race_RaceBloodElf,
OtherRaces: []proto.Race{proto.Race_RaceHuman, proto.Race_RaceDraenei, proto.Race_RaceDwarf, proto.Race_RaceTauren},
Class: proto.Class_ClassPaladin,
Race: proto.Race_RaceBloodElf,

GearSet: core.GetGearSet("../../../ui/paladin/retribution/gear_sets", "p3_bis"),
Talents: StandardTalents,
Expand Down Expand Up @@ -104,4 +103,5 @@ var FullConsumes = &proto.Consumes{
DefaultPotion: proto.Potions_GolembloodPotion,
PrepopPotion: proto.Potions_GolembloodPotion,
Food: proto.Food_FoodBeerBasedCrocolisk,
TinkerHands: proto.TinkerHands_TinkerHandsSynapseSprings,
}
2 changes: 1 addition & 1 deletion ui/core/launched_sims.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ export const simLaunchStatuses: Record<Spec, SimStatus> = {
status: LaunchStatus.Beta,
},
[Spec.SpecRetributionPaladin]: {
phase: Phase.Phase2,
phase: Phase.Phase3,
status: LaunchStatus.Launched,
},
// Priest
Expand Down
17 changes: 2 additions & 15 deletions ui/paladin/retribution/apls/apparatus.apl.json
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@
"vals": [
{
"cmp": {
"op": "OpLe",
"op": "OpLt",
"lhs": { "spellTimeToReady": { "spellId": { "spellId": 35395 } } },
"rhs": { "const": { "val": "1.25s" } }
}
Expand All @@ -255,20 +255,7 @@
{ "action": { "condition": { "auraIsActive": { "auraId": { "spellId": 59578 } } }, "castSpell": { "spellId": { "spellId": 879 } } } },
{
"action": {
"condition": {
"and": {
"vals": [
{ "cmp": { "op": "OpEq", "lhs": { "currentHolyPower": {} }, "rhs": { "const": { "val": "3" } } } },
{
"cmp": {
"op": "OpGt",
"lhs": { "spellTimeToReady": { "spellId": { "spellId": 35395 } } },
"rhs": { "const": { "val": "1.25s" } }
}
}
]
}
},
"condition": { "cmp": { "op": "OpEq", "lhs": { "currentHolyPower": {} }, "rhs": { "const": { "val": "3" } } } },
"castSpell": { "spellId": { "spellId": 85256 } }
}
},
Expand Down
15 changes: 1 addition & 14 deletions ui/paladin/retribution/apls/default.apl.json
Original file line number Diff line number Diff line change
Expand Up @@ -213,20 +213,7 @@
{ "action": { "condition": { "auraIsActive": { "auraId": { "spellId": 59578 } } }, "castSpell": { "spellId": { "spellId": 879 } } } },
{
"action": {
"condition": {
"and": {
"vals": [
{ "cmp": { "op": "OpEq", "lhs": { "currentHolyPower": {} }, "rhs": { "const": { "val": "3" } } } },
{
"cmp": {
"op": "OpGe",
"lhs": { "spellTimeToReady": { "spellId": { "spellId": 35395 } } },
"rhs": { "const": { "val": "1.25s" } }
}
}
]
}
},
"condition": { "cmp": { "op": "OpEq", "lhs": { "currentHolyPower": {} }, "rhs": { "const": { "val": "3" } } } },
"castSpell": { "spellId": { "spellId": 85256 } }
}
},
Expand Down
37 changes: 5 additions & 32 deletions ui/paladin/retribution/apls/t13.apl.json
Original file line number Diff line number Diff line change
Expand Up @@ -232,24 +232,10 @@
"vals": [
{ "cmp": { "op": "OpEq", "lhs": { "currentHolyPower": {} }, "rhs": { "const": { "val": "3" } } } },
{
"or": {
"vals": [
{
"cmp": {
"op": "OpLt",
"lhs": { "spellTimeToReady": { "spellId": { "spellId": 35395 } } },
"rhs": { "const": { "val": "1.25s" } }
}
},
{
"and": {
"vals": [
{ "auraIsActive": { "auraId": { "spellId": 85696 } } },
{ "auraIsActive": { "auraId": { "spellId": 2825, "tag": -1 } } }
]
}
}
]
"cmp": {
"op": "OpLt",
"lhs": { "spellTimeToReady": { "spellId": { "spellId": 35395 } } },
"rhs": { "const": { "val": "1.25s" } }
}
}
]
Expand Down Expand Up @@ -277,20 +263,7 @@
{ "action": { "condition": { "auraIsActive": { "auraId": { "spellId": 59578 } } }, "castSpell": { "spellId": { "spellId": 879 } } } },
{
"action": {
"condition": {
"and": {
"vals": [
{ "cmp": { "op": "OpEq", "lhs": { "currentHolyPower": {} }, "rhs": { "const": { "val": "3" } } } },
{
"cmp": {
"op": "OpGe",
"lhs": { "spellTimeToReady": { "spellId": { "spellId": 35395 } } },
"rhs": { "const": { "val": "1.25s" } }
}
}
]
}
},
"condition": { "cmp": { "op": "OpEq", "lhs": { "currentHolyPower": {} }, "rhs": { "const": { "val": "3" } } } },
"castSpell": { "spellId": { "spellId": 85256 } }
}
},
Expand Down
32 changes: 16 additions & 16 deletions ui/paladin/retribution/gear_sets/preraid.gear.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
{
"items": [
{"id":59359,"enchant":4208,"gems":[68779,59489,59480]},
{"id":67138,"reforging":151},
{"id":60417,"enchant":4202,"gems":[52206],"reforging":158},
{"id":67140,"enchant":4118,"reforging":151},
{"id":60344,"enchant":4102,"gems":[52206,52213],"reforging":154},
{"id":69608,"enchant":4256,"gems":[0],"reforging":161},
{"id":60414,"enchant":4106,"gems":[52206,0],"reforging":140},
{"id":62384,"gems":[52206,52206],"reforging":146},
{"id":60347,"enchant":4126,"gems":[52206,52206]},
{"id":58195,"enchant":4092,"gems":[52206],"reforging":154},
{"id":67139,"reforging":151},
{"id":58185,"reforging":151},
{"id":56393,"reforging":154},
{"id":62469,"reforging":165},
{"id":64377,"enchant":4099,"reforging":147},
{"id":60346,"enchant":4208,"gems":[68779,52240],"reforging":161},
{"id":65025},
{"id":60348,"enchant":4202,"gems":[52206],"reforging":154},
{"id":69879,"randomSuffix":-120,"enchant":4118,"reforging":140},
{"id":71063,"enchant":4102,"gems":[52206,52213],"reforging":161},
{"id":60228,"enchant":4256,"gems":[52240,0],"reforging":154},
{"id":71064,"enchant":4106,"gems":[52206,0]},
{"id":65369,"randomSuffix":-220,"gems":[52206,52206],"reforging":147},
{"id":71066,"enchant":4126,"gems":[52206,52240],"reforging":144},
{"id":59464,"enchant":4092,"gems":[52206],"reforging":144},
{"id":71208,"reforging":154},
{"id":60226,"gems":[52240]},
{"id":62464},
{"id":65072,"reforging":161},
{"id":70224,"enchant":4099,"reforging":147},
{},
{"id":64674,"gems":[52206],"reforging":161}
{"id":71147,"gems":[52206],"reforging":154}
]
}
49 changes: 20 additions & 29 deletions ui/paladin/retribution/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@ export const P2_EP_PRESET = PresetUtils.makePresetEpWeights(
},
{
[PseudoStat.PseudoStatMainHandDps]: 8.26,

[PseudoStat.PseudoStatPhysicalHitPercent]: 265.22,
[PseudoStat.PseudoStatSpellHitPercent]: 32.55,
},
),
);
Expand All @@ -60,20 +57,17 @@ export const P3_EP_PRESET = PresetUtils.makePresetEpWeights(
Stats.fromMap(
{
[Stat.StatAttackPower]: 1,
[Stat.StatStrength]: 2.3,
[Stat.StatStrength]: 2.29,

[Stat.StatCritRating]: 1.29,
[Stat.StatHasteRating]: 1.15,
[Stat.StatMasteryRating]: 1.4,
[Stat.StatHasteRating]: 1.05,
[Stat.StatMasteryRating]: 1.42,

[Stat.StatHitRating]: 2.68,
[Stat.StatExpertiseRating]: 2.24,
[Stat.StatHitRating]: 2.65,
[Stat.StatExpertiseRating]: 2.25,
},
{
[PseudoStat.PseudoStatMainHandDps]: 8.58,

[PseudoStat.PseudoStatPhysicalHitPercent]: 306.86,
[PseudoStat.PseudoStatSpellHitPercent]: 31.87,
[PseudoStat.PseudoStatMainHandDps]: 8.75,
},
),
);
Expand All @@ -83,28 +77,25 @@ export const P4_EP_PRESET = PresetUtils.makePresetEpWeights(
Stats.fromMap(
{
[Stat.StatAttackPower]: 1,
[Stat.StatStrength]: 2.29,
[Stat.StatStrength]: 2.28,

[Stat.StatCritRating]: 1.52,
[Stat.StatHasteRating]: 1.04,
[Stat.StatMasteryRating]: 1.79,
[Stat.StatCritRating]: 1.51,
[Stat.StatHasteRating]: 1.23,
[Stat.StatMasteryRating]: 1.69,

[Stat.StatHitRating]: 3.26,
[Stat.StatExpertiseRating]: 2.55,
[Stat.StatHitRating]: 3.11,
[Stat.StatExpertiseRating]: 2.51,
},
{
[PseudoStat.PseudoStatMainHandDps]: 8.38,

[PseudoStat.PseudoStatPhysicalHitPercent]: 363.57,
[PseudoStat.PseudoStatSpellHitPercent]: 49.58,
[PseudoStat.PseudoStatMainHandDps]: 8.10,
},
),
);

// Default talents. Uses the wowhead calculator format, make the talents on
// https://wowhead.com/cata/talent-calc and copy the numbers in the url.
export const P2_Talents = {
name: 'P2',
export const P2_P4_Talents = {
name: 'P2 / P4',
data: SavedTalents.create({
talentsString: '203002-02-23203213211113002311',
glyphs: Glyphs.create({
Expand All @@ -121,8 +112,8 @@ export const P2_Talents = {
}),
};

export const P3_P4_Talents = {
name: 'P3 / P4',
export const P3_Talents = {
name: 'P3',
data: SavedTalents.create({
talentsString: '203002-02-23203213211113002311',
glyphs: Glyphs.create({
Expand All @@ -142,21 +133,21 @@ export const P3_P4_Talents = {
export const P2_PRESET = PresetUtils.makePresetBuild('P2', {
gear: P2_BIS_RET_PRESET,
epWeights: P2_EP_PRESET,
talents: P2_Talents,
talents: P2_P4_Talents,
rotationType: APLRotationType.TypeAuto,
});

export const P3_PRESET = PresetUtils.makePresetBuild('P3', {
gear: P3_BIS_RET_PRESET,
epWeights: P3_EP_PRESET,
talents: P3_P4_Talents,
talents: P3_Talents,
rotationType: APLRotationType.TypeAuto,
});

export const P4_PRESET = PresetUtils.makePresetBuild('P4', {
gear: P4_BIS_RET_PRESET,
epWeights: P4_EP_PRESET,
talents: P3_P4_Talents,
talents: P2_P4_Talents,
rotationType: APLRotationType.TypeAuto,
});

Expand Down
19 changes: 12 additions & 7 deletions ui/paladin/retribution/sim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRetributionPaladin, {
Stat.StatExpertiseRating,
Stat.StatMasteryRating,
],
epPseudoStats: [PseudoStat.PseudoStatMainHandDps, PseudoStat.PseudoStatSpellHitPercent, PseudoStat.PseudoStatPhysicalHitPercent],
epPseudoStats: [PseudoStat.PseudoStatMainHandDps],
// Reference stat against which to calculate EP. I think all classes use either spell power or attack power.
epReferenceStat: Stat.StatAttackPower,
// Which stats to display in the Character Stats section, at the bottom of the left-hand sidebar.
Expand All @@ -109,7 +109,6 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRetributionPaladin, {
Stat.StatStrength,
Stat.StatAgility,
Stat.StatIntellect,
Stat.StatMP5,
Stat.StatAttackPower,
Stat.StatExpertiseRating,
Stat.StatSpellPower,
Expand All @@ -130,15 +129,15 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRetributionPaladin, {

defaults: {
// Default equipped gear.
gear: Presets.P2_BIS_RET_PRESET.gear,
gear: Presets.P3_BIS_RET_PRESET.gear,
// Default EP weights for sorting gear in the gear picker.
epWeights: Presets.P2_EP_PRESET.epWeights,
epWeights: Presets.P3_EP_PRESET.epWeights,
// Default stat caps for the Reforge Optimizer
statCaps: getStatCaps(),
// Default consumes settings.
consumes: Presets.DefaultConsumes,
// Default talents.
talents: Presets.P2_Talents.data,
talents: Presets.P3_Talents.data,
// Default spec-specific settings.
specOptions: Presets.DefaultOptions,
other: Presets.OtherDefaults,
Expand Down Expand Up @@ -200,7 +199,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRetributionPaladin, {
epWeights: [Presets.P2_EP_PRESET, Presets.P3_EP_PRESET, Presets.P4_EP_PRESET],
rotations: [Presets.ROTATION_PRESET_DEFAULT, Presets.ROTATION_PRESET_APPARATUS, Presets.ROTATION_PRESET_T13],
// Preset talents that the user can quickly select.
talents: [Presets.P2_Talents, Presets.P3_P4_Talents],
talents: [Presets.P2_P4_Talents, Presets.P3_Talents],
// Preset gear configurations that the user can quickly select.
gear: [Presets.PRERAID_RET_PRESET, Presets.P2_BIS_RET_PRESET, Presets.P3_BIS_RET_PRESET, Presets.P4_BIS_RET_PRESET],
builds: [Presets.P2_PRESET, Presets.P3_PRESET, Presets.P4_PRESET],
Expand All @@ -211,7 +210,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRetributionPaladin, {
raidSimPresets: [
{
spec: Spec.SpecRetributionPaladin,
talents: Presets.P2_Talents.data,
talents: Presets.P3_Talents.data,
specOptions: Presets.DefaultOptions,
consumes: Presets.DefaultConsumes,
defaultFactionRaces: {
Expand All @@ -223,9 +222,15 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRetributionPaladin, {
[Faction.Unknown]: {},
[Faction.Alliance]: {
1: Presets.P2_BIS_RET_PRESET.gear,
2: Presets.P2_BIS_RET_PRESET.gear,
3: Presets.P3_BIS_RET_PRESET.gear,
4: Presets.P4_BIS_RET_PRESET.gear,
},
[Faction.Horde]: {
1: Presets.P2_BIS_RET_PRESET.gear,
2: Presets.P2_BIS_RET_PRESET.gear,
3: Presets.P3_BIS_RET_PRESET.gear,
4: Presets.P4_BIS_RET_PRESET.gear,
},
},
},
Expand Down
Loading