Skip to content

Commit

Permalink
Merge pull request #188 from Selaya-1/master
Browse files Browse the repository at this point in the history
Show Seal of Vengeance expertise changes in UI
  • Loading branch information
Watcher7 authored Jul 19, 2022
2 parents 5bec626 + b64390b commit 930979b
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 0 deletions.
1 change: 1 addition & 0 deletions ui/core/constants/mechanics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ export const CHARACTER_LEVEL = 80;
export const BOSS_LEVEL = CHARACTER_LEVEL + 3;

export const EXPERTISE_PER_QUARTER_PERCENT_REDUCTION = 32.79 / 4;
export const EXPERTISE_RATING_PER_EXPERTISE = 8.196;
export const MELEE_CRIT_RATING_PER_CRIT_CHANCE = 45.91;
export const MELEE_HIT_RATING_PER_HIT_CHANCE = 26.23;

Expand Down
16 changes: 16 additions & 0 deletions ui/protection_paladin/sim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ import { EventID, TypedEvent } from '/wotlk/core/typed_event.js';

import * as IconInputs from '/wotlk/core/components/icon_inputs.js';
import * as OtherInputs from '/wotlk/core/components/other_inputs.js';
import * as Mechanics from '/wotlk/core/constants/mechanics.js';

import { PaladinMajorGlyph, PaladinSeal } from '/wotlk/core/proto/paladin.js';

import * as ProtectionPaladinInputs from './inputs.js';
import * as Presets from './presets.js';
Expand Down Expand Up @@ -76,6 +79,19 @@ export class ProtectionPaladinSimUI extends IndividualSimUI<Spec.SpecProtectionP
Stat.StatParry,
Stat.StatResilience,
],
modifyDisplayStats: (player: Player<Spec.SpecProtectionPaladin>) => {
let stats = new Stats();

TypedEvent.freezeAllAndDo(() => {
if (player.getMajorGlyphs().includes(PaladinMajorGlyph.GlyphOfSealOfVengeance) && (player.getSpecOptions().seal == PaladinSeal.Vengeance)) {
stats = stats.addStat(Stat.StatExpertise, 10 * Mechanics.EXPERTISE_RATING_PER_EXPERTISE);
}
})

return {
talents: stats,
};
},
defaults: {
// Default equipped gear.
gear: Presets.P4_PRESET.gear,
Expand Down
17 changes: 17 additions & 0 deletions ui/retribution_paladin/sim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ import { EventID, TypedEvent } from '/wotlk/core/typed_event.js';

import * as IconInputs from '/wotlk/core/components/icon_inputs.js';
import * as OtherInputs from '/wotlk/core/components/other_inputs.js';
import * as Mechanics from '/wotlk/core/constants/mechanics.js';

import { PaladinMajorGlyph, PaladinSeal } from '/wotlk/core/proto/paladin.js';

import * as RetributionPaladinInputs from './inputs.js';
import * as Presets from './presets.js';
Expand Down Expand Up @@ -65,6 +68,20 @@ export class RetributionPaladinSimUI extends IndividualSimUI<Spec.SpecRetributio
Stat.StatSpellCrit,
Stat.StatSpellHaste,
],
modifyDisplayStats: (player: Player<Spec.SpecRetributionPaladin>) => {
let stats = new Stats();

TypedEvent.freezeAllAndDo(() => {
if (player.getMajorGlyphs().includes(PaladinMajorGlyph.GlyphOfSealOfVengeance) && (player.getSpecOptions().seal == PaladinSeal.Vengeance)) {
stats = stats.addStat(Stat.StatExpertise, 10 * Mechanics.EXPERTISE_RATING_PER_EXPERTISE);
}
})

return {
talents: stats,
};
},

defaults: {
// Default equipped gear.
gear: Presets.P4_PRESET.gear,
Expand Down

0 comments on commit 930979b

Please sign in to comment.