Skip to content

Commit

Permalink
Merge pull request WoWAnalyzer#6597 from ToppleTheNun/fyralath
Browse files Browse the repository at this point in the history
add basic support for Fyr'alath
  • Loading branch information
ToppleTheNun authored Jan 8, 2024
2 parents d41c383 + 74c1b11 commit 5eb848e
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/CHANGELOG.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import SpellLink from 'interface/SpellLink';

// prettier-ignore
export default [
change(date(2024, 1, 7), <>Add checklist support for <ItemLink id={ITEMS.FYRALATH.id} />.</>, ToppleTheNun),
change(date(2024, 1, 4), <>Add statistics for <ItemLink id={ITEMS.ECHOING_TYRSTONE.id}/>.</>, Arbixal),
change(date(2024, 1, 2), 'Remove Shadowlands food and augment rune support.', ToppleTheNun),
change(date(2023, 12, 30), 'Fix errors caused by ESLint update.', ToppleTheNun),
Expand Down
3 changes: 3 additions & 0 deletions src/analysis/retail/paladin/retribution/CHANGELOG.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { change, date } from 'common/changelog';
import { emallson, Klamuz, ToppleTheNun, xizbow } from 'CONTRIBUTORS';
import { ItemLink } from 'interface';
import ITEMS from 'common/ITEMS';

export default [
change(date(2024, 1, 7), <>Add <ItemLink id={ITEMS.FYRALATH.id} /> to cooldown graph.</>, ToppleTheNun),
change(date(2023, 7, 19), 'Make CooldownGraphSubsection generic enough that it can be used by other specs.', ToppleTheNun),
change(date(2023, 7, 18), 'Show percentage wasted Holy Power instead of percentage at Holy Power cap.', ToppleTheNun),
change(date(2023, 7, 16), 'First pass at a Guide for Ret Paladin.', ToppleTheNun),
Expand Down
6 changes: 6 additions & 0 deletions src/analysis/retail/paladin/retribution/Guide.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import HideExplanationsToggle from 'interface/guide/components/HideExplanationsT
import HideGoodCastsToggle from 'interface/guide/components/HideGoodCastsToggle';
import { QualitativePerformance } from 'parser/ui/QualitativePerformance';
import PerformancePercentage from 'analysis/retail/demonhunter/shared/guide/PerformancePercentage';
import DRAGONFLIGHT_OTHERS_ITEMS from 'common/ITEMS/dragonflight/others';
import DRAGONFLIGHT_OTHERS_SPELLS from 'common/SPELLS/dragonflight/others';
import TALENTS from 'common/TALENTS/paladin';
import SpellLink from 'interface/SpellLink';
import CooldownGraphSubsection, {
Expand Down Expand Up @@ -117,6 +119,10 @@ const cooldowns: Cooldown[] = [
spell: TALENTS.DIVINE_TOLL_TALENT,
isActive: (c) => c.hasTalent(TALENTS.DIVINE_TOLL_TALENT),
},
{
spell: DRAGONFLIGHT_OTHERS_SPELLS.RAGE_OF_FYRALATH_1,
isActive: (c) => c.hasMainHand(DRAGONFLIGHT_OTHERS_ITEMS.FYRALATH.id),
},
];
function CooldownSection() {
return (
Expand Down
5 changes: 5 additions & 0 deletions src/common/ITEMS/dragonflight/others.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ const others = {
name: 'Echoing Tyrstone',
icon: 'ability_paladin_lightofthemartyr',
},
FYRALATH: {
id: 206448,
name: "Fyr'alath the Dreamrender",
icon: 'inv_axe_2h_fyrakk_d_01_shadowflame',
},
} satisfies Record<string, Item>;

export default others;
20 changes: 20 additions & 0 deletions src/common/SPELLS/dragonflight/others.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,26 @@ const others = {
name: 'Disintegrate',
icon: 'ability_evoker_disintegrate',
},
RAGE_OF_FYRALATH_1: {
id: 417131,
name: "Rage of Fyr'alath",
icon: 'inv_axe_2h_fyrakk_d_01_shadowflame',
},
RAGE_OF_FYRALATH_2: {
id: 417132,
name: "Rage of Fyr'alath",
icon: 'inv_axe_2h_fyrakk_d_01_shadowflame',
},
RAGE_OF_FYRALATH_DAMAGE_1: {
id: 417134,
name: "Rage of Fyr'alath",
icon: 'inv_axe_2h_fyrakk_d_01_shadowflame',
},
RAGE_OF_FYRALATH_DAMAGE_2: {
id: 424094,
name: "Rage of Fyr'alath",
icon: 'inv_axe_2h_fyrakk_d_01_shadowflame',
},
} satisfies Record<string, Spell>;

export default others;
1 change: 1 addition & 0 deletions src/interface/BAD_ICONS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@ const BAD_ICONS = [
'spell_priest_void_flay',
'spell_priest_shadow_mend',
'spell_priest_void_blast',
'inv_axe_2h_fyrakk_d_01_shadowflame',
];
export default BAD_ICONS;
4 changes: 4 additions & 0 deletions src/parser/core/CASTS_THAT_ARENT_CASTS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ const spells: number[] = [
SPELLS.RIONTHUS_DISINTEGRATE.id, // targeted player is shown as 'casting' this spell
//endregion

//region Items
SPELLS.RAGE_OF_FYRALATH_2.id, // second cast logged by Fyr'alath
//endregion

//region Consumables
//endregion

Expand Down
2 changes: 2 additions & 0 deletions src/parser/core/CombatLogParser.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ import VoiceOfTheSilentStar from 'parser/retail/modules/items/dragonflight/Voice
import AmalgamsSeventhSpine from 'parser/retail/modules/items/dragonflight/AmalgamsSeventhSpine';
import ElementalLariat from 'parser/retail/modules/items/dragonflight/ElementalLariat';
import EchoingTyrstone from 'parser/retail/modules/items/dragonflight/EchoingTyrstone';
import Fyralath from 'parser/retail/modules/items/dragonflight/Fyralath';

// This prints to console anything that the DI has to do
const debugDependencyInjection = false;
Expand Down Expand Up @@ -227,6 +228,7 @@ class CombatLogParser {
amalgamsSeventhSpine: AmalgamsSeventhSpine,
elementalLariat: ElementalLariat,
echoingTyrstone: EchoingTyrstone,
fyralath: Fyralath,

// Enchants
burningDevotion: BurningDevotion,
Expand Down
27 changes: 27 additions & 0 deletions src/parser/retail/modules/items/dragonflight/Fyralath.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import Analyzer, { Options } from 'parser/core/Analyzer';
import ITEMS from 'common/ITEMS/dragonflight/others';
import SPELLS from 'common/SPELLS/dragonflight/others';
import Abilities from 'parser/core/modules/Abilities';
import SPELL_CATEGORY from 'parser/core/SPELL_CATEGORY';

const deps = {
abilities: Abilities,
};
export default class Fyralath extends Analyzer.withDependencies(deps) {
constructor(options: Options) {
super(options);
this.active = this.selectedCombatant.hasMainHand(ITEMS.FYRALATH.id);
if (this.active) {
this.deps.abilities.add({
spell: SPELLS.RAGE_OF_FYRALATH_1.id,
category: SPELL_CATEGORY.COOLDOWNS,
cooldown: 120,
castEfficiency: {
suggestion: true,
recommendedEfficiency: 0.9,
},
damageSpellIds: [SPELLS.RAGE_OF_FYRALATH_DAMAGE_1.id, SPELLS.RAGE_OF_FYRALATH_DAMAGE_2.id],
});
}
}
}

0 comments on commit 5eb848e

Please sign in to comment.