Skip to content

Commit

Permalink
Update Affliction P3
Browse files Browse the repository at this point in the history
  • Loading branch information
1337LutZ committed Sep 27, 2024
1 parent f172059 commit 9b0c89d
Show file tree
Hide file tree
Showing 11 changed files with 672 additions and 509 deletions.
1,082 changes: 625 additions & 457 deletions sim/warlock/affliction/TestAffliction.results

Large diffs are not rendered by default.

11 changes: 7 additions & 4 deletions sim/warlock/affliction/affliction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -400,10 +400,13 @@ func TestAffliction(t *testing.T) {
}

core.RunTestSuite(t, t.Name(), core.FullCharacterTestSuiteGenerator(core.CharacterSuiteConfig{
Class: proto.Class_ClassWarlock,
Race: proto.Race_RaceOrc,
OtherRaces: []proto.Race{proto.Race_RaceTroll, proto.Race_RaceGoblin, proto.Race_RaceHuman},
GearSet: core.GetGearSet("../../../ui/warlock/affliction/gear_sets", "p1"),
Class: proto.Class_ClassWarlock,
Race: proto.Race_RaceOrc,
OtherRaces: []proto.Race{proto.Race_RaceTroll, proto.Race_RaceGoblin, proto.Race_RaceHuman},
GearSet: core.GetGearSet("../../../ui/warlock/affliction/gear_sets", "p1"),
OtherGearSets: []core.GearSetCombo{
core.GetGearSet("../../../ui/warlock/affliction/gear_sets", "p3"),
},
Talents: afflictionTalents,
Glyphs: afflictionGlyphs,
Consumes: fullConsumes,
Expand Down
12 changes: 2 additions & 10 deletions ui/warlock/affliction/apls/default.apl.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,7 @@
"vals": [
{ "auraIsActive": { "auraId": { "spellId": 74241 } } },
{ "auraIsActive": { "auraId": { "spellId": 89091 } } },
{ "auraIsActive": { "auraId": { "spellId": 75170 } } },
{ "auraIsActive": { "auraId": { "spellId": 92318 } } }
{ "auraIsActive": { "auraId": { "spellId": 75170 } } }
]
}
},
Expand Down Expand Up @@ -150,14 +149,7 @@
"castSpell": { "spellId": { "spellId": 603 } }
}
},
{
"action": {
"condition": {
"and": { "vals": [{ "auraIsKnown": { "auraId": { "spellId": 89937 } } }, { "auraIsActive": { "auraId": { "spellId": 89937 } } }] }
},
"castSpell": { "spellId": { "spellId": 77799 } }
}
},
{ "action": { "condition": { "auraIsActive": { "auraId": { "spellId": 89937 } } }, "castSpell": { "spellId": { "spellId": 77799 } } } },
{
"action": {
"condition": { "isExecutePhase": { "threshold": "E25" } },
Expand Down
21 changes: 21 additions & 0 deletions ui/warlock/affliction/gear_sets/p3.gear.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"items": [
{ "id": 71595, "enchant": 4207, "gems": [68780, 52207], "reforging": 165 },
{ "id": 71472, "gems": [52207], "reforging": 165 },
{ "id": 71598, "enchant": 4200, "gems": [52207] },
{ "id": 71434, "enchant": 4115, "reforging": 167 },
{ "id": 71597, "enchant": 4102, "gems": [52207, 52207] },
{ "id": 71471, "enchant": 4257, "gems": [0], "reforging": 144 },
{ "id": 71614, "enchant": 4107, "gems": [52207, 0], "reforging": 144 },
{ "id": 71613, "gems": [52207, 52207], "reforging": 165 },
{ "id": 71596, "enchant": 4112, "gems": [52207, 52207], "reforging": 165 },
{ "id": 71447, "enchant": 4104, "gems": [52207], "reforging": 144 },
{ "id": 71217, "gems": [52207] },
{ "id": 71449, "reforging": 167 },
{ "id": 69110 },
{ "id": 62047, "reforging": 165 },
{ "id": 71086, "enchant": 4097, "gems": [52207, 52207, 52207] },
{},
{ "id": 71575 }
]
}
19 changes: 0 additions & 19 deletions ui/warlock/affliction/gear_sets/p4_wrath.gear.json

This file was deleted.

14 changes: 6 additions & 8 deletions ui/warlock/affliction/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,22 @@ import { Stats } from '../../core/proto_utils/stats';
import { WARLOCK_BREAKPOINTS } from '../presets';
import DefaultApl from './apls/default.apl.json';
import P1Gear from './gear_sets/p1.gear.json';
import P4WrathGear from './gear_sets/p4_wrath.gear.json';
import P3Gear from './gear_sets/p3.gear.json';
import PreraidGear from './gear_sets/preraid.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.

export const BIS_TOOLTIP = "This gear preset is inspired from Zephan's Affliction guide: https://www.warcrafttavern.com/wotlk/guides/pve-affliction-warlock/";

export const PRERAID_PRESET = PresetUtils.makePresetGear('Pre-raid Preset', PreraidGear);
export const P1_PRESET = PresetUtils.makePresetGear('P1 Preset', P1Gear);
export const P4_WOTLK_PRESET = PresetUtils.makePresetGear('P4 Wrath', P4WrathGear, { tooltip: BIS_TOOLTIP });
export const P1_PRESET = PresetUtils.makePresetGear('P1 - BIS', P1Gear);
export const P3_PRESET = PresetUtils.makePresetGear('P3 - BIS', P3Gear);

export const APL_Default = PresetUtils.makePresetAPLRotation('Affliction', DefaultApl);

// Preset options for EP weights
export const P1_EP_PRESET = PresetUtils.makePresetEpWeights(
'P1',
export const DEFAULT_EP_PRESET = PresetUtils.makePresetEpWeights(
'Default',
Stats.fromMap({
[Stat.StatIntellect]: 1.26,
[Stat.StatSpellPower]: 1.0,
Expand All @@ -52,7 +50,7 @@ export const AfflictionTalents = {
prime2: PrimeGlyph.GlyphOfUnstableAffliction,
prime3: PrimeGlyph.GlyphOfCorruption,
major1: MajorGlyph.GlyphOfShadowBolt,
major2: MajorGlyph.GlyphOfLifeTap,
major2: MajorGlyph.GlyphOfFelhunter,
major3: MajorGlyph.GlyphOfSoulSwap,
minor1: MinorGlyph.GlyphOfDrainSoul,
minor2: MinorGlyph.GlyphOfRitualOfSouls,
Expand Down
10 changes: 5 additions & 5 deletions ui/warlock/affliction/sim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecAfflictionWarlock, {
gear: Presets.P1_PRESET.gear,

// Default EP weights for sorting gear in the gear picker.
epWeights: Presets.P1_EP_PRESET.epWeights,
epWeights: Presets.DEFAULT_EP_PRESET.epWeights,
// Default stat caps for the Reforge optimizer
statCaps: (() => {
return new Stats().withPseudoStat(PseudoStat.PseudoStatSpellHitPercent, 17);
Expand Down Expand Up @@ -125,14 +125,14 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecAfflictionWarlock, {
},

presets: {
epWeights: [Presets.P1_EP_PRESET],
epWeights: [Presets.DEFAULT_EP_PRESET],
// Preset talents that the user can quickly select.
talents: [Presets.AfflictionTalents],
// Preset rotations that the user can quickly select.
rotations: [Presets.APL_Default],

// Preset gear configurations that the user can quickly select.
gear: [Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P4_WOTLK_PRESET],
gear: [Presets.PRERAID_PRESET, Presets.P1_PRESET, Presets.P3_PRESET],
},

autoRotation: (_player: Player<Spec.SpecAfflictionWarlock>): APLRotation => {
Expand All @@ -155,12 +155,12 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecAfflictionWarlock, {
[Faction.Alliance]: {
1: Presets.PRERAID_PRESET.gear,
2: Presets.P1_PRESET.gear,
3: Presets.P4_WOTLK_PRESET.gear,
3: Presets.P3_PRESET.gear,
},
[Faction.Horde]: {
1: Presets.PRERAID_PRESET.gear,
2: Presets.P1_PRESET.gear,
3: Presets.P4_WOTLK_PRESET.gear,
3: Presets.P3_PRESET.gear,
},
},
otherDefaults: Presets.OtherDefaults,
Expand Down
2 changes: 1 addition & 1 deletion ui/warlock/demonology/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export const APL_ShadowBolt = PresetUtils.makePresetAPLRotation('Shadow Bolt', S
export const APL_Incinerate = PresetUtils.makePresetAPLRotation('Incinerate', IncinerateAPL);

// Preset options for EP weights
export const EP_PRESET_DEFAULT = PresetUtils.makePresetEpWeights(
export const DEFAULT_EP_PRESET = PresetUtils.makePresetEpWeights(
'Default',
Stats.fromMap({
[Stat.StatIntellect]: 1.27,
Expand Down
4 changes: 2 additions & 2 deletions ui/warlock/demonology/sim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecDemonologyWarlock, {
gear: Presets.P1_PRESET.gear,

// Default EP weights for sorting gear in the gear picker.
epWeights: Presets.EP_PRESET_DEFAULT.epWeights,
epWeights: Presets.DEFAULT_EP_PRESET.epWeights,
// Default stat caps for the Reforge optimizer
statCaps: (() => {
return new Stats().withPseudoStat(PseudoStat.PseudoStatSpellHitPercent, 17);
Expand Down Expand Up @@ -120,7 +120,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecDemonologyWarlock, {
},

presets: {
epWeights: [Presets.EP_PRESET_DEFAULT],
epWeights: [Presets.DEFAULT_EP_PRESET],
// Preset talents that the user can quickly select.
talents: [Presets.DemonologyTalentsShadowBolt, Presets.DemonologyTalentsIncinerate],
// Preset rotations that the user can quickly select.
Expand Down
2 changes: 1 addition & 1 deletion ui/warlock/destruction/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export const P3_PRESET_BUILD = PresetUtils.makePresetBuild('P3 - Default', {
});

// Preset options for EP weights
export const EP_PRESET_DEFAULT = PresetUtils.makePresetEpWeights(
export const DEFAULT_EP_PRESET = PresetUtils.makePresetEpWeights(
'Default',
Stats.fromMap({
[Stat.StatIntellect]: 1.25,
Expand Down
4 changes: 2 additions & 2 deletions ui/warlock/destruction/sim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecDestructionWarlock, {
gear: Presets.P1_PRESET.gear,

// Default EP weights for sorting gear in the gear picker.
epWeights: Presets.EP_PRESET_DEFAULT.epWeights,
epWeights: Presets.DEFAULT_EP_PRESET.epWeights,
// Default stat caps for the Reforge optimizer
statCaps: (() => {
return new Stats().withPseudoStat(PseudoStat.PseudoStatSpellHitPercent, 17);
Expand Down Expand Up @@ -91,7 +91,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecDestructionWarlock, {
},

presets: {
epWeights: [Presets.EP_PRESET_DEFAULT],
epWeights: [Presets.DEFAULT_EP_PRESET],
// Preset talents that the user can quickly select.
talents: [Presets.DestructionTalents],
// Preset rotations that the user can quickly select.
Expand Down

0 comments on commit 9b0c89d

Please sign in to comment.