diff --git a/ui/death_knight/blood/presets.ts b/ui/death_knight/blood/presets.ts index 54ce2cac6e..900dd677b1 100644 --- a/ui/death_knight/blood/presets.ts +++ b/ui/death_knight/blood/presets.ts @@ -19,21 +19,22 @@ export const P1_BLOOD_EP_PRESET = PresetUtils.makePresetEpWeights( 'P1', Stats.fromMap( { - [Stat.StatArmor]: 0.05, - [Stat.StatBonusArmor]: 0.03, - [Stat.StatStamina]: 1, - [Stat.StatStrength]: 0.33, - [Stat.StatAgility]: 0.6, - [Stat.StatAttackPower]: 0.06, - [Stat.StatExpertise]: 0.67, - [Stat.StatMeleeHit]: 0.67, - [Stat.StatMeleeCrit]: 0.28, - [Stat.StatMeleeHaste]: 0.21, - [Stat.StatDodge]: 0.7, - [Stat.StatParry]: 0.58, + [Stat.StatStrength]: 2.45, + [Stat.StatAgility]: 1.2, + [Stat.StatStamina]: 3, + [Stat.StatAttackPower]: 1, + [Stat.StatMeleeHit]: 6, + [Stat.StatMeleeCrit]: 1.65, + [Stat.StatMeleeHaste]: 1.58, + [Stat.StatExpertise]: 5, + [Stat.StatArmor]: 1, + [Stat.StatDodge]: 2.5, + [Stat.StatParry]: 2.44, + [Stat.StatBonusArmor]: 1, + [Stat.StatMastery]: 7, }, { - [PseudoStat.PseudoStatMainHandDps]: 3.1, + [PseudoStat.PseudoStatMainHandDps]: 12.29, [PseudoStat.PseudoStatOffHandDps]: 0.0, }, ), diff --git a/ui/death_knight/blood/sim.ts b/ui/death_knight/blood/sim.ts index ea5736d84f..5239505757 100644 --- a/ui/death_knight/blood/sim.ts +++ b/ui/death_knight/blood/sim.ts @@ -1,10 +1,12 @@ import * as BuffDebuffInputs from '../../core/components/inputs/buffs_debuffs'; import * as OtherInputs from '../../core/components/inputs/other_inputs'; +import { ReforgeOptimizer } from '../../core/components/suggest_reforges_action'; +import * as Mechanics from '../../core/constants/mechanics'; import { IndividualSimUI, registerSpecConfig } from '../../core/individual_sim_ui'; import { Player } from '../../core/player'; import { PlayerClasses } from '../../core/player_classes'; import { APLRotation } from '../../core/proto/apl'; -import { Debuffs, Faction, IndividualBuffs, PartyBuffs, PseudoStat, Race, RaidBuffs, Spec, Stat, TristateEffect } from '../../core/proto/common'; +import { Debuffs, Faction, IndividualBuffs, PartyBuffs, PseudoStat, Race, RaidBuffs, Spec, Stat } from '../../core/proto/common'; import { Stats } from '../../core/proto_utils/stats'; import * as DeathKnightInputs from '../inputs'; import * as BloodInputs from './inputs'; @@ -66,6 +68,13 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecBloodDeathKnight, { gear: Presets.P1_BLOOD_PRESET.gear, // Default EP weights for sorting gear in the gear picker. epWeights: Presets.P1_BLOOD_EP_PRESET.epWeights, + // Default stat caps for the Reforge Optimizer + statCaps: (() => { + const hitCap = new Stats().withStat(Stat.StatMeleeHit, 8 * Mechanics.MELEE_HIT_RATING_PER_HIT_CHANCE); + const expCap = new Stats().withStat(Stat.StatExpertise, 6.5 * 4 * Mechanics.EXPERTISE_PER_QUARTER_PERCENT_REDUCTION); + + return hitCap.add(expCap); + })(), other: Presets.OtherDefaults, // Default consumes settings. consumes: Presets.DefaultConsumes, @@ -175,5 +184,8 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecBloodDeathKnight, { export class BloodDeathKnightSimUI extends IndividualSimUI { constructor(parentElem: HTMLElement, player: Player) { super(parentElem, player, SPEC_CONFIG); + player.sim.waitForInit().then(() => { + new ReforgeOptimizer(this); + }); } }