diff --git a/e2e/report-selection.spec.ts b/e2e/report-selection.spec.ts index 1d23cb23431..a3b3f0cdfa0 100644 --- a/e2e/report-selection.spec.ts +++ b/e2e/report-selection.spec.ts @@ -3,48 +3,48 @@ import { expect, test } from './fixtures'; test('report selection', async ({ page, homePage, fightSelectionPage }) => { await homePage.goto(); - await homePage.fillInReportInputWithCode('dFzCLcjyqMbX43KP'); + await homePage.fillInReportInputWithCode('bjqrZRnNdvKPXt13'); await fightSelectionPage.expectFightSelectionHeaderToBeVisible(); - await fightSelectionPage.expectUrlToHaveReportCode('dFzCLcjyqMbX43KP'); - await expect(page).toHaveTitle('raid day'); + await fightSelectionPage.expectUrlToHaveReportCode('bjqrZRnNdvKPXt13'); + await expect(page).toHaveTitle('owl time'); }); test('fight selection', async ({ page, fightSelectionPage, playerSelectionPage }) => { - await fightSelectionPage.goto('dFzCLcjyqMbX43KP'); + await fightSelectionPage.goto('bjqrZRnNdvKPXt13'); - await page.getByRole('link', { name: 'Kill 3:11' }).click(); + await page.getByRole('link', { name: 'Kill 8:47' }).click(); await playerSelectionPage.expectPlayerSelectionHeaderToBeVisible(); await playerSelectionPage.expectUrlToHaveReportCodeAndFight( - 'dFzCLcjyqMbX43KP', - '20-Mythic+Volcoross+-+Kill+(3:11)', + 'bjqrZRnNdvKPXt13', + '34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)', ); - await expect(page).toHaveTitle('Mythic Volcoross - Kill (3:11) in raid day'); + await expect(page).toHaveTitle('Mythic Fyrakk the Blazing - Kill (8:47) in owl time'); }); test('player selection', async ({ page, playerSelectionPage, reportPage }) => { - await playerSelectionPage.goto('dFzCLcjyqMbX43KP', '20-Mythic+Volcoross+-+Kill+(3:11)'); + await playerSelectionPage.goto('bjqrZRnNdvKPXt13', '34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)'); await page - .getByRole('link', { name: 'Toppledh Vengeance Demon Hunter Vengeance Demon Hunter 485' }) + .getByRole('link', { name: 'Toppledh Vengeance Demon Hunter Vengeance Demon Hunter 488' }) .click(); await reportPage.expectBossDifficultyAndNameHeaderToBeVisible(); - await reportPage.expectBossDifficultyAndNameHeaderToHaveText('MythicVolcoross'); + await reportPage.expectBossDifficultyAndNameHeaderToHaveText('MythicFyrakk, the Blazing'); await reportPage.expectUrlToHave( - 'dFzCLcjyqMbX43KP', - '20-Mythic+Volcoross+-+Kill+(3:11)', + 'bjqrZRnNdvKPXt13', + '34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)', 'Toppledh', ); - await expect(page).toHaveTitle('Mythic Volcoross - Kill (3:11) by Toppledh in raid day'); + await expect(page).toHaveTitle('Mythic Fyrakk the Blazing - Kill (8:47) by Toppledh in owl time'); }); test.describe('tab selection', () => { test.beforeEach(async ({ reportPage }) => { await reportPage.goto({ - reportCode: 'dFzCLcjyqMbX43KP', - fightCode: '20-Mythic+Volcoross+-+Kill+(3:11)', + reportCode: 'bjqrZRnNdvKPXt13', + fightCode: '34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)', playerName: 'Toppledh', }); }); @@ -53,7 +53,7 @@ test.describe('tab selection', () => { await reportPage.clickOnStatisticsTab(); await expect(page).toHaveURL( - '/report/dFzCLcjyqMbX43KP/20-Mythic+Volcoross+-+Kill+(3:11)/Toppledh/standard/statistics', + '/report/bjqrZRnNdvKPXt13/34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)/Toppledh/standard/statistics', ); }); @@ -61,7 +61,7 @@ test.describe('tab selection', () => { await reportPage.clickOnTimelineTab(); await expect(page).toHaveURL( - '/report/dFzCLcjyqMbX43KP/20-Mythic+Volcoross+-+Kill+(3:11)/Toppledh/standard/timeline', + '/report/bjqrZRnNdvKPXt13/34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)/Toppledh/standard/timeline', ); }); @@ -69,7 +69,7 @@ test.describe('tab selection', () => { await reportPage.clickOnCooldownsTab(); await expect(page).toHaveURL( - '/report/dFzCLcjyqMbX43KP/20-Mythic+Volcoross+-+Kill+(3:11)/Toppledh/standard/cooldowns', + '/report/bjqrZRnNdvKPXt13/34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)/Toppledh/standard/cooldowns', ); }); @@ -77,7 +77,7 @@ test.describe('tab selection', () => { await reportPage.clickOnCharacterTab(); await expect(page).toHaveURL( - '/report/dFzCLcjyqMbX43KP/20-Mythic+Volcoross+-+Kill+(3:11)/Toppledh/standard/character', + '/report/bjqrZRnNdvKPXt13/34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)/Toppledh/standard/character', ); }); @@ -85,7 +85,7 @@ test.describe('tab selection', () => { await reportPage.clickOnAboutTab('Vengeance Demon Hunter'); await expect(page).toHaveURL( - '/report/dFzCLcjyqMbX43KP/20-Mythic+Volcoross+-+Kill+(3:11)/Toppledh/standard/about', + '/report/bjqrZRnNdvKPXt13/34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)/Toppledh/standard/about', ); }); }); @@ -96,16 +96,16 @@ test('perform analysis', async ({ page }) => { await page.getByPlaceholder('https://www.warcraftlogs.com/reports/').click(); await page .getByPlaceholder('https://www.warcraftlogs.com/reports/') - .fill('https://www.warcraftlogs.com/reports/dFzCLcjyqMbX43KP'); + .fill('https://www.warcraftlogs.com/reports/bjqrZRnNdvKPXt13'); await page.getByRole('heading', { name: 'Fight selection' }).waitFor(); - await page.getByRole('link', { name: 'Kill 3:11' }).click(); + await page.getByRole('link', { name: 'Kill 8:47' }).click(); await page.getByRole('heading', { name: 'Player selection' }).waitFor(); await page - .getByRole('link', { name: 'Toppledh Vengeance Demon Hunter Vengeance Demon Hunter 485' }) + .getByRole('link', { name: 'Toppledh Vengeance Demon Hunter Vengeance Demon Hunter 488' }) .click(); - await page.getByText('MythicVolcoross').waitFor(); + await page.getByText('MythicFyrakk, the Blazing').waitFor(); await expect(page).toHaveURL( - '/report/dFzCLcjyqMbX43KP/20-Mythic+Volcoross+-+Kill+(3:11)/Toppledh/standard', + '/report/bjqrZRnNdvKPXt13/34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)/Toppledh/standard', ); }); diff --git a/scripts/talents/generate-talents.ts b/scripts/talents/generate-talents.ts index fd4f74dac7f..4bb80ffa30d 100644 --- a/scripts/talents/generate-talents.ts +++ b/scripts/talents/generate-talents.ts @@ -22,10 +22,10 @@ import { TalentNode, } from './talent-tree-types'; -const LIVE_WOW_BUILD_NUMBER = '10.2.5.52902'; +const LIVE_WOW_BUILD_NUMBER = '10.2.6.53913'; const LIVE_TALENT_DATA_URL = 'https://www.raidbots.com/static/data/live/talents.json'; const LIVE_SPELLPOWER_DATA_URL = `https://wago.tools/db2/SpellPower/csv?build=${LIVE_WOW_BUILD_NUMBER}`; -const PTR_WOW_BUILD_NUMBER = '10.2.5.52902'; +const PTR_WOW_BUILD_NUMBER = '10.2.6.53877'; const PTR_TALENT_DATA_URL = 'https://www.raidbots.com/static/data/xptr/talents.json'; const PTR_SPELLPOWER_DATA_URL = `https://wago.tools/db2/SpellPower/csv?build=${PTR_WOW_BUILD_NUMBER}`; diff --git a/src/CHANGELOG.tsx b/src/CHANGELOG.tsx index c5b2ddba88f..fbe91b86d98 100644 --- a/src/CHANGELOG.tsx +++ b/src/CHANGELOG.tsx @@ -34,6 +34,7 @@ import SpellLink from 'interface/SpellLink'; // prettier-ignore export default [ + change(date(2024, 3, 26), 'Add patch 10.2.6.', ToppleTheNun), change(date(2024, 3, 26), 'Add Dragonflight season 4 M+ dungeons and zone.', ToppleTheNun), change(date(2024, 3, 26), 'Remove support for Shadowlands tier sets.', ToppleTheNun), change(date(2024, 3, 26), 'Add tier set IDs for Dragonflight season 4.', ToppleTheNun), diff --git a/src/analysis/retail/deathknight/blood/CONFIG.tsx b/src/analysis/retail/deathknight/blood/CONFIG.tsx index a948bb43e38..c09ca22408d 100644 --- a/src/analysis/retail/deathknight/blood/CONFIG.tsx +++ b/src/analysis/retail/deathknight/blood/CONFIG.tsx @@ -12,7 +12,7 @@ const config: Config = { contributors: [Yajinni, joshinator], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: true, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/demonhunter/havoc/CONFIG.tsx b/src/analysis/retail/demonhunter/havoc/CONFIG.tsx index b63cd55f3e7..0c6f2e94995 100644 --- a/src/analysis/retail/demonhunter/havoc/CONFIG.tsx +++ b/src/analysis/retail/demonhunter/havoc/CONFIG.tsx @@ -10,7 +10,7 @@ const CONFIG: Config = { contributors: [ToppleTheNun], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/demonhunter/vengeance/CONFIG.tsx b/src/analysis/retail/demonhunter/vengeance/CONFIG.tsx index 0da96cc9047..adcf638a34b 100644 --- a/src/analysis/retail/demonhunter/vengeance/CONFIG.tsx +++ b/src/analysis/retail/demonhunter/vengeance/CONFIG.tsx @@ -17,7 +17,7 @@ const config: Config = { contributors: [ToppleTheNun], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. @@ -68,7 +68,8 @@ const config: Config = { ), // A recent example report to see interesting parts of the spec. Will be shown on the homepage. - exampleReport: '/report/dFzCLcjyqMbX43KP/20-Mythic+Volcoross+-+Kill+(3:11)/Toppledh/standard', + exampleReport: + '/report/bjqrZRnNdvKPXt13/34-Mythic+Fyrakk+the+Blazing+-+Kill+(8:47)/Toppledh/standard', // Default to using the Guide guideDefault: true, // Only use the Guide diff --git a/src/analysis/retail/druid/balance/CONFIG.tsx b/src/analysis/retail/druid/balance/CONFIG.tsx index d04953a444a..331f2617524 100644 --- a/src/analysis/retail/druid/balance/CONFIG.tsx +++ b/src/analysis/retail/druid/balance/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Sref, Hartra344, Jundarer], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/druid/feral/CONFIG.tsx b/src/analysis/retail/druid/feral/CONFIG.tsx index 3c97b15598d..b48e8362122 100644 --- a/src/analysis/retail/druid/feral/CONFIG.tsx +++ b/src/analysis/retail/druid/feral/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Sref], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/druid/guardian/CONFIG.tsx b/src/analysis/retail/druid/guardian/CONFIG.tsx index da6bec26f5b..5682696eba3 100644 --- a/src/analysis/retail/druid/guardian/CONFIG.tsx +++ b/src/analysis/retail/druid/guardian/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Sref], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: true, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/druid/restoration/CONFIG.tsx b/src/analysis/retail/druid/restoration/CONFIG.tsx index 86ba11999b2..657755485eb 100644 --- a/src/analysis/retail/druid/restoration/CONFIG.tsx +++ b/src/analysis/retail/druid/restoration/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Sref], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/evoker/augmentation/CONFIG.tsx b/src/analysis/retail/evoker/augmentation/CONFIG.tsx index 64fe2060acb..0299aefce26 100644 --- a/src/analysis/retail/evoker/augmentation/CONFIG.tsx +++ b/src/analysis/retail/evoker/augmentation/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Vollmer], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/evoker/devastation/CONFIG.tsx b/src/analysis/retail/evoker/devastation/CONFIG.tsx index cad5e1d91d8..40332f00513 100644 --- a/src/analysis/retail/evoker/devastation/CONFIG.tsx +++ b/src/analysis/retail/evoker/devastation/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Vireve, Tyndi, Vollmer], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/evoker/preservation/CONFIG.tsx b/src/analysis/retail/evoker/preservation/CONFIG.tsx index 8ffe34a5fcf..fec3a332d94 100644 --- a/src/analysis/retail/evoker/preservation/CONFIG.tsx +++ b/src/analysis/retail/evoker/preservation/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Trevor], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, guideDefault: true, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. diff --git a/src/analysis/retail/mage/arcane/CONFIG.tsx b/src/analysis/retail/mage/arcane/CONFIG.tsx index 6b6a3f659fb..a14728583a3 100644 --- a/src/analysis/retail/mage/arcane/CONFIG.tsx +++ b/src/analysis/retail/mage/arcane/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Sharrq, SyncSubaru], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: true, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/mage/fire/CONFIG.tsx b/src/analysis/retail/mage/fire/CONFIG.tsx index 1ae3ed81993..17b1557a343 100644 --- a/src/analysis/retail/mage/fire/CONFIG.tsx +++ b/src/analysis/retail/mage/fire/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Sharrq], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/mage/frost/CONFIG.tsx b/src/analysis/retail/mage/frost/CONFIG.tsx index f3919735be6..7542f8231c3 100644 --- a/src/analysis/retail/mage/frost/CONFIG.tsx +++ b/src/analysis/retail/mage/frost/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Sharrq], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. If this spec's analysis does not show a complete picture please mention this in the `` component. description: ( diff --git a/src/analysis/retail/monk/brewmaster/CONFIG.tsx b/src/analysis/retail/monk/brewmaster/CONFIG.tsx index 9869f90a1b9..cb02f32d700 100644 --- a/src/analysis/retail/monk/brewmaster/CONFIG.tsx +++ b/src/analysis/retail/monk/brewmaster/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [emallson], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/monk/mistweaver/CONFIG.tsx b/src/analysis/retail/monk/mistweaver/CONFIG.tsx index b9c8c2917a5..79ba8a4df86 100644 --- a/src/analysis/retail/monk/mistweaver/CONFIG.tsx +++ b/src/analysis/retail/monk/mistweaver/CONFIG.tsx @@ -9,7 +9,7 @@ const config: Config = { contributors: [Trevor, Vohrr], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/monk/windwalker/modules/talents/DanceOfChiJi.tsx b/src/analysis/retail/monk/windwalker/modules/talents/DanceOfChiJi.tsx index 1c4ca1ff934..e5aab252ef1 100644 --- a/src/analysis/retail/monk/windwalker/modules/talents/DanceOfChiJi.tsx +++ b/src/analysis/retail/monk/windwalker/modules/talents/DanceOfChiJi.tsx @@ -19,7 +19,7 @@ class DANCE_OF_CHI_JI extends Analyzer { constructor(options: Options) { super(options); - this.active = this.selectedCombatant.hasTalent(TALENTS_MONK.DANCE_OF_CHI_JI_TALENT); + this.active = this.selectedCombatant.hasTalent(TALENTS_MONK.DANCE_OF_CHI_JI_WINDWALKER_TALENT); this.addEventListener( Events.damage .by(SELECTED_PLAYER | SELECTED_PLAYER_PET) @@ -79,7 +79,7 @@ class DANCE_OF_CHI_JI extends Analyzer { size="flexible" tooltip={<>Total damage increase: {formatNumber(this.damageGain)}} > - + Damage {formatNumber(this.dps)} DPS{' '} {formatPercentage(this.owner.getPercentageOfTotalDamageDone(this.damageGain))} % of diff --git a/src/analysis/retail/priest/discipline/CONFIG.tsx b/src/analysis/retail/priest/discipline/CONFIG.tsx index 7c0cece2a20..4449a036ad6 100644 --- a/src/analysis/retail/priest/discipline/CONFIG.tsx +++ b/src/analysis/retail/priest/discipline/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Hana], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/priest/holy/CombatLogParser.tsx b/src/analysis/retail/priest/holy/CombatLogParser.tsx index b784c981641..6282e403418 100644 --- a/src/analysis/retail/priest/holy/CombatLogParser.tsx +++ b/src/analysis/retail/priest/holy/CombatLogParser.tsx @@ -134,8 +134,6 @@ class CombatLogParser extends CoreCombatLogParser { harmoniousApparatus: Talents.BottomRow.HarmoniousApparatus, resonantWords: Talents.BottomRow.ResonantWords, TranslucentImage: TranslucentImage, - rapidRecovery: Talents.BottomRow.RapidRecovery, - empoweredRenew: Talents.BottomRow.EmpoweredRenew, miracleWorker: Talents.BottomRow.MiracleWorker, BurningVehemence: Talents.TopRow.BurningVehemence, diff --git a/src/analysis/retail/priest/holy/modules/core/HolyWordsReductionBySpell.tsx b/src/analysis/retail/priest/holy/modules/core/HolyWordsReductionBySpell.tsx index ad3ced57570..f7280513a28 100644 --- a/src/analysis/retail/priest/holy/modules/core/HolyWordsReductionBySpell.tsx +++ b/src/analysis/retail/priest/holy/modules/core/HolyWordsReductionBySpell.tsx @@ -20,7 +20,7 @@ class HolyWordsReductionBySpell extends Analyzer { }; lightOfTheNaaruActive = false; apotheosisActive = false; - harmoniousApparatusActive = false; + voiceOfHarmonyActive = false; protected sanctify!: HolyWordSanctify; protected serenity!: HolyWordSerenity; @@ -33,9 +33,7 @@ class HolyWordsReductionBySpell extends Analyzer { TALENTS.LIGHT_OF_THE_NAARU_TALENT, ); this.apotheosisActive = this.selectedCombatant.hasTalent(TALENTS.APOTHEOSIS_TALENT); - this.harmoniousApparatusActive = this.selectedCombatant.hasTalent( - TALENTS.HARMONIOUS_APPARATUS_TALENT, - ); + this.voiceOfHarmonyActive = this.selectedCombatant.hasTalent(TALENTS.VOICE_OF_HARMONY_TALENT); } get totalReduction() { @@ -155,7 +153,7 @@ class HolyWordsReductionBySpell extends Analyzer { Base {this.apotheosisActive && Apotheosis} {this.lightOfTheNaaruActive && Light of the Naaru} - {this.harmoniousApparatusActive && Harmonious apparatus} + {this.voiceOfHarmonyActive && Harmonious apparatus} @@ -171,7 +169,7 @@ class HolyWordsReductionBySpell extends Analyzer { {this.lightOfTheNaaruActive && ( {Math.ceil(reductionBySpell[e].lightOfTheNaaru / 1000)}s )} - {this.harmoniousApparatusActive && ( + {this.voiceOfHarmonyActive && ( {Math.ceil(reductionBySpell[e].apparatus / 1000)}s )} diff --git a/src/analysis/retail/priest/holy/modules/spells/Renew.tsx b/src/analysis/retail/priest/holy/modules/spells/Renew.tsx index 7147dd84d69..6f90e15440e 100644 --- a/src/analysis/retail/priest/holy/modules/spells/Renew.tsx +++ b/src/analysis/retail/priest/holy/modules/spells/Renew.tsx @@ -71,11 +71,11 @@ class Renew extends Analyzer { if (this.selectedCombatant.hasTalent(TALENTS.REVITALIZING_PRAYERS_TALENT)) { this.revitalizingPrayersActive = true; } - if (this.selectedCombatant.hasTalent(TALENTS.RAPID_RECOVERY_TALENT)) { - this.rapidRecoveryActive = true; - // if rapid recovery is active, renews from revitilizing prayers are 5 seconds - this.revitalizingPrayersRenewFraction = 5 / 12; - } + // if (this.selectedCombatant.hasTalent(TALENTS.RAPID_RECOVERY_TALENT)) { + // this.rapidRecoveryActive = true; + // // if rapid recovery is active, renews from revitilizing prayers are 5 seconds + // this.revitalizingPrayersRenewFraction = 5 / 12; + // } this.addEventListener(Events.heal.by(SELECTED_PLAYER).spell(TALENTS.RENEW_TALENT), this.onHeal); this.addEventListener(Events.cast.by(SELECTED_PLAYER), this.onCast); this.addEventListener( diff --git a/src/analysis/retail/priest/holy/modules/spells/holyword/HolyWordBase.tsx b/src/analysis/retail/priest/holy/modules/spells/holyword/HolyWordBase.tsx index 56ed2c8cfed..a52dc2bf4a7 100644 --- a/src/analysis/retail/priest/holy/modules/spells/holyword/HolyWordBase.tsx +++ b/src/analysis/retail/priest/holy/modules/spells/holyword/HolyWordBase.tsx @@ -14,7 +14,7 @@ class HolyWordBase extends Analyzer { baseCooldown = 60000; apparatusReduction = HARMONIOUS_APPARATUS_REDUCTION_PER_RANK * - this.selectedCombatant.getTalentRank(TALENTS.HARMONIOUS_APPARATUS_TALENT); + this.selectedCombatant.getTalentRank(TALENTS.VOICE_OF_HARMONY_TALENT); remainingCooldown = 0; serendipityProccers: { [spellID: string]: { @@ -60,7 +60,7 @@ class HolyWordBase extends Analyzer { 1; } - if (this.selectedCombatant.hasTalent(TALENTS.HARMONIOUS_APPARATUS_TALENT)) { + if (this.selectedCombatant.hasTalent(TALENTS.VOICE_OF_HARMONY_TALENT)) { this.harmoniousApparatusActive = true; } diff --git a/src/analysis/retail/priest/holy/modules/talents/BottomRow/EmpoweredRenew.tsx b/src/analysis/retail/priest/holy/modules/talents/BottomRow/EmpoweredRenew.tsx deleted file mode 100644 index c9496e2d257..00000000000 --- a/src/analysis/retail/priest/holy/modules/talents/BottomRow/EmpoweredRenew.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import TALENTS from 'common/TALENTS/priest'; -import Analyzer, { Options } from 'parser/core/Analyzer'; -import Statistic from 'parser/ui/Statistic'; -import ItemHealingDone from 'parser/ui/ItemHealingDone'; -import EchoOfLightMastery from '../../core/EchoOfLightMastery'; -import AbilityTracker from '../../core/AbilityTracker'; -import SPELLS from 'common/SPELLS'; -import STATISTIC_CATEGORY from 'parser/ui/STATISTIC_CATEGORY'; -import TalentSpellText from 'parser/ui/TalentSpellText'; - -/** - * Renew instantly heals your target for 10% of its total periodic effect. - */ -class EmpoweredRenew extends Analyzer { - static dependencies = { - echoOfLightMastery: EchoOfLightMastery, - abilityTracker: AbilityTracker, - }; - - protected echoOfLightMastery!: EchoOfLightMastery; - protected abilityTracker!: AbilityTracker; - - additionalHealing: number = 0; - - constructor(options: Options) { - super(options); - this.active = this.selectedCombatant.hasTalent(TALENTS.EMPOWERED_RENEW_TALENT); - } - - get effectiveHealing() { - return ( - this.abilityTracker.getAbility(SPELLS.EMPOWERED_RENEW_TALENT_HEAL.id).healingEffective + - this.abilityTracker.getAbility(SPELLS.EMPOWERED_RENEW_TALENT_HEAL.id).healingAbsorbed - ); - } - - statistic() { - return ( - - - - - - ); - } -} - -export default EmpoweredRenew; diff --git a/src/analysis/retail/priest/holy/modules/talents/BottomRow/HarmoniousApparatus.tsx b/src/analysis/retail/priest/holy/modules/talents/BottomRow/HarmoniousApparatus.tsx index b3ba1ac33bb..cf6c18ace4d 100644 --- a/src/analysis/retail/priest/holy/modules/talents/BottomRow/HarmoniousApparatus.tsx +++ b/src/analysis/retail/priest/holy/modules/talents/BottomRow/HarmoniousApparatus.tsx @@ -21,7 +21,7 @@ class HarmoniousApparatus extends Analyzer { constructor(options: Options) { super(options); - this.active = this.selectedCombatant.hasTalent(TALENTS.HARMONIOUS_APPARATUS_TALENT); + this.active = this.selectedCombatant.hasTalent(TALENTS.VOICE_OF_HARMONY_TALENT); } get reductionForAllSpells() { @@ -92,7 +92,7 @@ class HarmoniousApparatus extends Analyzer { } > - + {Math.ceil(totalHealingSpellReduction / 1000)}s{' '} Healing Spell Cooldown Reduction diff --git a/src/analysis/retail/priest/holy/modules/talents/BottomRow/RapidRecovery.tsx b/src/analysis/retail/priest/holy/modules/talents/BottomRow/RapidRecovery.tsx deleted file mode 100644 index ea6aa499cc8..00000000000 --- a/src/analysis/retail/priest/holy/modules/talents/BottomRow/RapidRecovery.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import TALENTS from 'common/TALENTS/priest'; -import Analyzer, { Options, SELECTED_PLAYER } from 'parser/core/Analyzer'; -import Statistic from 'parser/ui/Statistic'; -import STATISTIC_CATEGORY from 'parser/ui/STATISTIC_CATEGORY'; -import Events, { HealEvent } from 'parser/core/Events'; -import { calculateEffectiveHealing } from 'parser/core/EventCalculateLib'; -import ItemHealingDone from 'parser/ui/ItemHealingDone'; -import Renew from '../../spells/Renew'; -import TalentSpellText from 'parser/ui/TalentSpellText'; -import { SpellLink } from 'interface'; - -const RAPID_RECOVERY_HEALING_INCREASE = 0.35; - -/** - * Increases healing done by Renew by 35%, - * but decreases its base duration by 3 sec. - */ -class RapidRecovery extends Analyzer { - static dependencies = { - renew: Renew, - }; - - protected renew!: Renew; - - additionalHealing: number = 0; - - constructor(options: Options) { - super(options); - this.active = this.selectedCombatant.hasTalent(TALENTS.RAPID_RECOVERY_TALENT); - - this.addEventListener( - Events.heal.by(SELECTED_PLAYER).spell(TALENTS.RENEW_TALENT), - this.onRenewTick, - ); - } - - get averageRenewTickPreBuff() { - const totalRenewHealing = this.renew.totalRenewHealing + this.renew.totalRenewAbsorbs; - const healingPerTick = totalRenewHealing / this.renew.totalRenewTicks; - // divide average healing per tick by RR increase to find average expected tick without buff - return healingPerTick / (1 + RAPID_RECOVERY_HEALING_INCREASE); - } - - get ticksLost() { - return this.renew.rapidRecoveryTicksLost; - } - - get effectiveAdditionalHealing() { - // effective additional healing will be - // healing increased from RR buff minus the amount of healing from unbuffed lost ticks - return this.additionalHealing - this.ticksLost * this.averageRenewTickPreBuff; - } - - onRenewTick(event: HealEvent) { - this.additionalHealing += calculateEffectiveHealing(event, RAPID_RECOVERY_HEALING_INCREASE); - } - - statistic() { - return ( - - {this.ticksLost.toFixed(1)} ticks of lost to - duration decrease. -
- This number is estimated by using the player's haste value at time of renew application. - - } - > - - ~ - -
- ); - } -} - -export default RapidRecovery; diff --git a/src/analysis/retail/priest/holy/modules/talents/BottomRow/index.tsx b/src/analysis/retail/priest/holy/modules/talents/BottomRow/index.tsx index 764e83e1a98..e9489c0c03e 100644 --- a/src/analysis/retail/priest/holy/modules/talents/BottomRow/index.tsx +++ b/src/analysis/retail/priest/holy/modules/talents/BottomRow/index.tsx @@ -9,9 +9,7 @@ import LightOfTheNaaru from './LightOfTheNaaru'; import Lightweaver from './Lightweaver'; import ResonantWords from './ResonantWords'; import Pontifex from './Pontifex'; -import RapidRecovery from './RapidRecovery'; import MiracleWorker from './MiracleWorker'; -import EmpoweredRenew from './EmpoweredRenew'; export { AnsweredPrayers, @@ -25,7 +23,5 @@ export { Lightweaver, ResonantWords, Pontifex, - RapidRecovery, MiracleWorker, - EmpoweredRenew, }; diff --git a/src/analysis/retail/priest/shadow/CONFIG.tsx b/src/analysis/retail/priest/shadow/CONFIG.tsx index cfe46bde028..0f39408fa03 100644 --- a/src/analysis/retail/priest/shadow/CONFIG.tsx +++ b/src/analysis/retail/priest/shadow/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [DoxAshe], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/analysis/retail/shaman/enhancement/CONFIG.tsx b/src/analysis/retail/shaman/enhancement/CONFIG.tsx index 78a8c834856..33b3ce23614 100644 --- a/src/analysis/retail/shaman/enhancement/CONFIG.tsx +++ b/src/analysis/retail/shaman/enhancement/CONFIG.tsx @@ -9,7 +9,7 @@ import CHANGELOG from './CHANGELOG'; const config: Config = { contributors: [Seriousnes], expansion: Expansion.Dragonflight, - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, description: ( <> diff --git a/src/analysis/retail/warlock/demonology/CONFIG.tsx b/src/analysis/retail/warlock/demonology/CONFIG.tsx index 2644e2312e5..c72f810af4b 100644 --- a/src/analysis/retail/warlock/demonology/CONFIG.tsx +++ b/src/analysis/retail/warlock/demonology/CONFIG.tsx @@ -10,7 +10,7 @@ const config: Config = { contributors: [Zyer], expansion: Expansion.Dragonflight, // The WoW client patch this spec was last updated. - patchCompatibility: '10.2.5', + patchCompatibility: '10.2.6', isPartial: false, // Explain the status of this spec's analysis here. Try to mention how complete it is, and perhaps show links to places users can learn more. // If this spec's analysis does not show a complete picture please mention this in the `` component. diff --git a/src/common/TALENTS/druid.ts b/src/common/TALENTS/druid.ts index c4cf6825a23..24fd1d2c359 100644 --- a/src/common/TALENTS/druid.ts +++ b/src/common/TALENTS/druid.ts @@ -341,7 +341,7 @@ const talents = { maxRanks: 1, entryIds: [103111], definitionIds: [{ id: 108116, specId: 105 }], - manaCost: 8500, + manaCost: 7500, }, ELUNES_FAVORED_TALENT: { id: 370586, @@ -512,7 +512,7 @@ const talents = { maxRanks: 1, entryIds: [117104], definitionIds: [{ id: 122116, specId: 105 }], - manaCost: 3000, + manaCost: 2500, }, GROVE_TENDING_TALENT: { id: 383192, @@ -1597,7 +1597,7 @@ const talents = { maxRanks: 1, entryIds: [103294], definitionIds: [{ id: 108299, specId: 102 }], - manaCost: 4000, + manaCost: 3500, }, TASTE_FOR_BLOOD_TALENT: { id: 384665, @@ -1922,7 +1922,7 @@ const talents = { maxRanks: 1, entryIds: [103320], definitionIds: [{ id: 108325, specId: 102 }], - manaCost: 10000, + manaCost: 9500, }, WILD_MUSHROOM_TALENT: { id: 88747, diff --git a/src/common/TALENTS/evoker.ts b/src/common/TALENTS/evoker.ts index 71c1c2f6035..46997d2cc6d 100644 --- a/src/common/TALENTS/evoker.ts +++ b/src/common/TALENTS/evoker.ts @@ -726,7 +726,7 @@ const talents = { maxRanks: 1, entryIds: [115614], definitionIds: [{ id: 120626, specId: 1467 }], - manaCost: 7000, + manaCost: 3500, }, LAY_WASTE_TALENT: { id: 371034, @@ -1150,7 +1150,7 @@ const talents = { maxRanks: 1, entryIds: [115601], definitionIds: [{ id: 120613, specId: 1467 }], - manaCost: 6000, + manaCost: 2500, }, SNAPFIRE_TALENT: { id: 370783, diff --git a/src/common/TALENTS/monk.ts b/src/common/TALENTS/monk.ts index 86b33459a81..8a62d088b51 100644 --- a/src/common/TALENTS/monk.ts +++ b/src/common/TALENTS/monk.ts @@ -284,7 +284,15 @@ const talents = { { id: 122816, specId: 269 }, ], }, - DANCE_OF_CHI_JI_TALENT: { + DANCE_OF_CHI_JI_MISTWEAVER_TALENT: { + id: 438439, + name: 'Dance of Chi-Ji', + icon: 'ability_monk_cranekick_new', + maxRanks: 1, + entryIds: [118841], + definitionIds: [{ id: 123741, specId: 270 }], + }, + DANCE_OF_CHI_JI_WINDWALKER_TALENT: { id: 325201, name: 'Dance of Chi-Ji', icon: 'ability_monk_cranekick_new', @@ -1024,10 +1032,18 @@ const talents = { id: 388593, name: 'Peaceful Mending', icon: 'pandarenracial_innerpeace', - maxRanks: 2, + maxRanks: 1, entryIds: [101399], definitionIds: [{ id: 106401, specId: 270 }], }, + PEER_INTO_PEACE_TALENT: { + id: 440008, + name: 'Peer Into Peace', + icon: 'inv_staff_2h_monk_c_01', + maxRanks: 1, + entryIds: [119111], + definitionIds: [{ id: 124011, specId: 270 }], + }, POWER_STRIKES_TALENT: { id: 121817, name: 'Power Strikes', diff --git a/src/common/TALENTS/priest.ts b/src/common/TALENTS/priest.ts index 06bc28b2227..bb716c26f61 100644 --- a/src/common/TALENTS/priest.ts +++ b/src/common/TALENTS/priest.ts @@ -331,8 +331,8 @@ const talents = { name: 'Divine Image', icon: 'inv_staff_2h_artifactheartofkure_d_04', maxRanks: 1, - entryIds: [103736], - definitionIds: [{ id: 108741, specId: 257 }], + entryIds: [103675], + definitionIds: [{ id: 108680, specId: 257 }], }, DIVINE_SERVICE_TALENT: { id: 391233, @@ -365,8 +365,8 @@ const talents = { name: 'Divine Word', icon: 'spell_priest_chakra', maxRanks: 1, - entryIds: [103675], - definitionIds: [{ id: 108680, specId: 257 }], + entryIds: [103676], + definitionIds: [{ id: 108681, specId: 257 }], }, DOMINATE_MIND_TALENT: { id: 205364, @@ -377,14 +377,6 @@ const talents = { definitionIds: [{ id: 108683, specId: 256 }], manaCost: 5000, }, - EMPOWERED_RENEW_TALENT: { - id: 391339, - name: 'Empowered Renew', - icon: 'ability_paladin_infusionoflight', - maxRanks: 1, - entryIds: [103746], - definitionIds: [{ id: 108751, specId: 257 }], - }, EMPYREAL_BLAZE_TALENT: { id: 372616, name: 'Empyreal Blaze', @@ -392,7 +384,6 @@ const talents = { maxRanks: 1, entryIds: [103777], definitionIds: [{ id: 108782, specId: 257 }], - manaCost: 500, }, ENDURING_LUMINESCENCE_TALENT: { id: 390685, @@ -478,7 +469,7 @@ const talents = { id: 372370, name: 'Gales of Song', icon: 'inv_misc_volatileair', - maxRanks: 2, + maxRanks: 1, entryIds: [103747], definitionIds: [{ id: 108752, specId: 257 }], }, @@ -524,14 +515,6 @@ const talents = { definitionIds: [{ id: 108835, specId: 256 }], manaCost: 6750, }, - HARMONIOUS_APPARATUS_TALENT: { - id: 390994, - name: 'Harmonious Apparatus', - icon: 'spell_holy_serendipity', - maxRanks: 2, - entryIds: [103744], - definitionIds: [{ id: 108749, specId: 257 }], - }, HARSH_DISCIPLINE_TALENT: { id: 373180, name: 'Harsh Discipline', @@ -580,7 +563,6 @@ const talents = { maxRanks: 1, entryIds: [103776], definitionIds: [{ id: 108781, specId: 257 }], - manaCost: 5000, }, HOLY_WORD_SALVATION_TALENT: { id: 265202, @@ -927,8 +909,8 @@ const talents = { name: 'Miracle Worker', icon: 'spell_holy_persuitofjustice', maxRanks: 1, - entryIds: [103737], - definitionIds: [{ id: 108742, specId: 257 }], + entryIds: [103745], + definitionIds: [{ id: 108750, specId: 257 }], }, MISERY_TALENT: { id: 238558, @@ -1178,14 +1160,6 @@ const talents = { definitionIds: [{ id: 108859, specId: 258 }], manaCost: 25000, }, - RAPID_RECOVERY_TALENT: { - id: 391368, - name: 'Rapid Recovery', - icon: 'spell_holy_renew', - maxRanks: 1, - entryIds: [103745], - definitionIds: [{ id: 108750, specId: 257 }], - }, RAPTURE_TALENT: { id: 47536, name: 'Rapture', @@ -1225,8 +1199,8 @@ const talents = { name: 'Restitution', icon: 'inv_staff_2h_artifactheartofkure_d_03', maxRanks: 1, - entryIds: [103676], - definitionIds: [{ id: 108681, specId: 257 }], + entryIds: [103737], + definitionIds: [{ id: 108742, specId: 257 }], }, REVEL_IN_PURITY_TALENT: { id: 373003, @@ -1549,6 +1523,14 @@ const talents = { entryIds: [103841], definitionIds: [{ id: 119742, specId: 256 }], }, + VOICE_OF_HARMONY_TALENT: { + id: 390994, + name: 'Voice of Harmony', + icon: 'ability_priest_heavanlyvoice', + maxRanks: 2, + entryIds: [103744], + definitionIds: [{ id: 108749, specId: 257 }], + }, VOIDTOUCHED_TALENT: { id: 407430, name: 'Voidtouched', diff --git a/src/interface/report/PATCHES.ts b/src/interface/report/PATCHES.ts index 7a22a2fd48a..e5b09bc316f 100644 --- a/src/interface/report/PATCHES.ts +++ b/src/interface/report/PATCHES.ts @@ -157,6 +157,14 @@ const PATCHES: Patch[] = [ name: '10.2.5', timestamp: 1705438800000, // GMT: Tuesday, 16 January 2024 21:00:00 urlPrefix: '', + isCurrent: false, + gameVersion: 1, // retail + expansion: Expansion.Dragonflight, + }, + { + name: '10.2.6', + timestamp: 1710882000000, // GMT: Tuesday, 19 March 2024 21:00:00 + urlPrefix: '', isCurrent: true, gameVersion: 1, // retail expansion: Expansion.Dragonflight, diff --git a/src/parser/Config.ts b/src/parser/Config.ts index f65450261d1..5cd6421604c 100644 --- a/src/parser/Config.ts +++ b/src/parser/Config.ts @@ -25,7 +25,7 @@ export type Builds = { [name: string]: Build }; type VaultPatchCycle = `0.${0 | 2 | 5 | 7}`; type AberrusPatchCycle = `1.${0 | 5 | 7}`; -type AmirdrassilPatchCycle = `2.${0 | 5}`; +type AmirdrassilPatchCycle = `2.${0 | 5 | 6}`; export type DragonflightPatchVersion = `10.${ | VaultPatchCycle | AberrusPatchCycle