Skip to content

Commit

Permalink
feat(warrior/protection): Added Burst of Power talent as a reset trig…
Browse files Browse the repository at this point in the history
…ger for Shield Slam (WoWAnalyzer#7163)

Co-authored-by: J David Smith <[email protected]>
  • Loading branch information
Rzial and emallson authored Nov 14, 2024
1 parent 186dd62 commit 6d90084
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/analysis/retail/warrior/protection/CHANGELOG.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { change, date } from 'common/changelog';
import SPELLS from 'common/SPELLS';
import TALENTS from 'common/TALENTS/warrior';
import { Rzial } from 'CONTRIBUTORS';
import { SpellLink } from 'interface';

// prettier-ignore
export default [
change(date(2024, 10, 28), <>Added Hero talent <SpellLink spell={TALENTS.BURST_OF_POWER_TALENT}/> as <SpellLink spell={SPELLS.SHIELD_SLAM} /> reset trigger.</>, Rzial),
change(date(2024, 10, 28), <>Added The War Within Season 1 2-pieces tier set effect <SpellLink spell={SPELLS.EXPERT_STRATEGIST_BUFF}/> as <SpellLink spell={SPELLS.SHIELD_SLAM} /> reset tracker.</>, Rzial),
change(date(2024, 10, 24), 'Initial Update for The War Within.', Rzial),
];
7 changes: 7 additions & 0 deletions src/analysis/retail/warrior/protection/CombatLogParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import BoomingVoice from './modules/spells/BoomingVoice';
import HeavyRepercussions from './modules/spells/HeavyRepercussions';
import IntoTheFray from './modules/spells/IntoTheFray';
import Punish from './modules/spells/Punish';
import BurstOfPower from './modules/talents/BurstOfPower';
import SpellReflection from '../shared/modules/talents/SpellReflection';
import ImpendingVictory from '../shared/modules/talents/ImpendingVictory';
import RavagerHitCheck from './modules/spells/RavagerHitCheck';
Expand Down Expand Up @@ -77,6 +78,12 @@ class CombatLogParser extends CoreCombatLogParser {
impendingVictory: ImpendingVictory,
ravagerHitCheck: RavagerHitCheck,

// Colossus Hero Talents
// TODO

// Mountain Thane Hero Talents
BurstOfPower,

// Tier
WarWithin2PS1TierSet,
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import SPELLS from 'common/SPELLS';
import TALENTS from 'common/TALENTS/warrior';
import Analyzer, { Options } from 'parser/core/Analyzer';
import Events from 'parser/core/Events';
import SpellUsable from 'parser/shared/modules/SpellUsable';

export default class BurstOfPower extends Analyzer.withDependencies({
spellUsable: SpellUsable,
}) {
constructor(options: Options) {
super(options);
this.active = this.selectedCombatant.hasTalent(TALENTS.BURST_OF_POWER_TALENT);

this.addEventListener(Events.applybuff.spell(SPELLS.BURST_OF_POWER_BUFF), this.resetShieldSlam);

this.addEventListener(
Events.removebuffstack.spell(SPELLS.BURST_OF_POWER_BUFF),
this.resetShieldSlam,
);
}

private resetShieldSlam(): void {
this.deps.spellUsable.endCooldown(SPELLS.SHIELD_SLAM.id);
}
}
5 changes: 5 additions & 0 deletions src/common/SPELLS/warrior.ts
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,11 @@ const spells = {
name: 'Unnerving Focus',
icon: 'rogue_shadowfocus',
},
BURST_OF_POWER_BUFF: {
id: 437121,
name: 'BURST_OF_POWER',
icon: 'shaman_pvp_thundercharge',
},

//Passives
DEEP_WOUNDS: {
Expand Down

0 comments on commit 6d90084

Please sign in to comment.