From 19f55a1a7e91f6487ce0c2318194e3554c356332 Mon Sep 17 00:00:00 2001 From: Freddie Date: Mon, 17 Aug 2026 23:16:43 -0700 Subject: [PATCH 1/7] Update currentTier/previousTier data --- apps/frontend/data/gear.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/frontend/data/gear.ts b/apps/frontend/data/gear.ts index 3eb7e2727..183f82f5f 100644 --- a/apps/frontend/data/gear.ts +++ b/apps/frontend/data/gear.ts @@ -1,4 +1,20 @@ export const currentTier: number[] = [ + 2055, // Baleful Grave-Knight's Crucible [Death Knight] + 2056, // Abyssal Doomhound's Pursuit [Demon Hunter] + 2057, // Bark of the Enigmatic Dreamwatcher [Druid] + 2058, // Echo of Calamity [Evoker] + 2059, // Skulking Viper's Ambush [Hunter] + 2060, // Primal Leywarden's Attire [Mage] + 2061, // Guile of the Monkey King [Monk] + 2062, // Radiance of the Consecrated Flame [Paladin] + 2063, // Cosmic Penitent's Raiment [Priest] + 2064, // Chosen Bloodslayer's Hexweave [Rogue] + 2065, // Ophidian Oracle's Prophecy [Shaman] + 2066, // Damned Necrolyte's Shattered Restraints [Warlock] + 2067, // Jade Warlord's Dominion [Warrior] +]; + +export const previousTier: number[] = [ 1978, // Relentless Rider's Lament [Death Knight] 1979, // Devouring Reaver's Sheathe [Demon Hunter] 1980, // Sprouts of the Luminous Bloom [Druid] @@ -13,5 +29,3 @@ export const currentTier: number[] = [ 1989, // Reign of the Abyssal Immolator [Warlock] 1990, // Rage of the Night Ender [Warrior] ]; - -export const previousTier: number[] = []; From 409ca3ad9230f89b0646752358bef6b3154123f8 Mon Sep 17 00:00:00 2001 From: Freddie Date: Mon, 17 Aug 2026 23:19:41 -0700 Subject: [PATCH 2/7] Move vault data to separate file --- apps/frontend/data/dungeon.ts | 34 +------------------ apps/frontend/data/vault.ts | 32 +++++++++++++++++ .../utils/get-raid-vault-item-level.ts | 2 +- .../utils/mythic-plus/get-vault-item-level.ts | 2 +- .../get-vault-quality-by-item-level.ts | 2 +- apps/frontend/utils/vault/get-world-tier.ts | 2 +- 6 files changed, 37 insertions(+), 37 deletions(-) create mode 100644 apps/frontend/data/vault.ts diff --git a/apps/frontend/data/dungeon.ts b/apps/frontend/data/dungeon.ts index dead96458..d63cf2d29 100644 --- a/apps/frontend/data/dungeon.ts +++ b/apps/frontend/data/dungeon.ts @@ -1,7 +1,6 @@ +import { MapChallengeMode } from '@/enums/map-challenge-mode'; import { Dungeon } from '@/types'; import type { StaticDataInstance } from '@/shared/stores/static/types'; -import { convertibleCategories } from '@/components/items/convertible/data'; -import { MapChallengeMode } from '@/enums/map-challenge-mode'; // MapChallengeMode.db2 export const dungeons: Dungeon[] = [ @@ -179,37 +178,6 @@ export const dungeonMap: Record = Object.fromEntries( dungeons.map((dungeon) => [dungeon.id, dungeon]) ); -// [key level, item level] first match >= key is used -export const keyVaultItemLevel: Array> = [ - [10, 318, 5], // Myth 1 - [7, 315, 4], // Hero 4 - [6, 311, 4], // Hero 3 - [4, 308, 4], // Hero 2 - [2, 305, 4], // Hero 1 - [1, 302, 3], // [0] Champion 4 - [0, 289, 2], // [H] Veteran 4 -]; - -export const raidVaultItemLevel: Record> = { - 16: [convertibleCategories[0].tiers[0].itemLevel, 5], // Mythic - 15: [convertibleCategories[0].tiers[1].itemLevel, 4], // Heroic - 14: [convertibleCategories[0].tiers[2].itemLevel, 3], // Normal - 17: [convertibleCategories[0].tiers[3].itemLevel, 2], // LFR -}; - -export const worldVaultItemLevel: Array> = [ - // [13, 315, 4], // Hero 4 (ritual 5?) - // [12, 308, 4], // Hero 2 (ritual 4?) - // [8, 298, 4], // Hero 1 - [7, 298, 3], // Champion 3 - [6, 295, 3], // Champion 2 - [5, 292, 3], // Champion 1 - [4, 289, 2], // Veteran 4 - [3, 285, 2], // Veteran 3 - [2, 282, 2], // Veteran 2 - [1, 279, 2], // Veteran 1 -]; - export const keyTiers = ['2-5', '6-10', '11-15', '16-20', '21-25', '26-30', '31+']; // Fake 'instances' for tracking world bosses diff --git a/apps/frontend/data/vault.ts b/apps/frontend/data/vault.ts new file mode 100644 index 000000000..00ddc9869 --- /dev/null +++ b/apps/frontend/data/vault.ts @@ -0,0 +1,32 @@ +import { convertibleCategories } from '@/components/items/convertible/data'; + +// [key level, item level] first match >= key is used +export const keyVaultItemLevel: Array> = [ + [10, 318, 5], // Myth 1 + [7, 315, 4], // Hero 4 + [6, 311, 4], // Hero 3 + [4, 308, 4], // Hero 2 + [2, 305, 4], // Hero 1 + [1, 302, 3], // [0] Champion 4 + [0, 289, 2], // [H] Veteran 4 +]; + +export const raidVaultItemLevel: Record> = { + 16: [convertibleCategories[0].tiers[0].itemLevel, 5], // Mythic + 15: [convertibleCategories[0].tiers[1].itemLevel, 4], // Heroic + 14: [convertibleCategories[0].tiers[2].itemLevel, 3], // Normal + 17: [convertibleCategories[0].tiers[3].itemLevel, 2], // LFR +}; + +export const worldVaultItemLevel: Array> = [ + // [13, 315, 4], // Hero 4 (ritual 5?) + // [12, 308, 4], // Hero 2 (ritual 4?) + // [8, 298, 4], // Hero 1 + [7, 298, 3], // Champion 3 + [6, 295, 3], // Champion 2 + [5, 292, 3], // Champion 1 + [4, 289, 2], // Veteran 4 + [3, 285, 2], // Veteran 3 + [2, 282, 2], // Veteran 2 + [1, 279, 2], // Veteran 1 +]; diff --git a/apps/frontend/utils/get-raid-vault-item-level.ts b/apps/frontend/utils/get-raid-vault-item-level.ts index c3edb99e9..89186cfac 100644 --- a/apps/frontend/utils/get-raid-vault-item-level.ts +++ b/apps/frontend/utils/get-raid-vault-item-level.ts @@ -1,4 +1,4 @@ -import { raidVaultItemLevel } from '@/data/dungeon'; +import { raidVaultItemLevel } from '@/data/vault'; import type { CharacterWeeklyProgress } from '@/types'; export default function getRaidVaultItemLevel(progress?: CharacterWeeklyProgress): number[] { diff --git a/apps/frontend/utils/mythic-plus/get-vault-item-level.ts b/apps/frontend/utils/mythic-plus/get-vault-item-level.ts index 5b88e02e7..91993d9b2 100644 --- a/apps/frontend/utils/mythic-plus/get-vault-item-level.ts +++ b/apps/frontend/utils/mythic-plus/get-vault-item-level.ts @@ -1,4 +1,4 @@ -import { keyVaultItemLevel } from '@/data/dungeon'; +import { keyVaultItemLevel } from '@/data/vault'; export function getVaultItemLevel(keyLevel: number): number[] { for (const [tierKeyLevel, tierItemLevel, tierQuality] of keyVaultItemLevel) { diff --git a/apps/frontend/utils/mythic-plus/get-vault-quality-by-item-level.ts b/apps/frontend/utils/mythic-plus/get-vault-quality-by-item-level.ts index f616b52cf..7fab39311 100644 --- a/apps/frontend/utils/mythic-plus/get-vault-quality-by-item-level.ts +++ b/apps/frontend/utils/mythic-plus/get-vault-quality-by-item-level.ts @@ -1,4 +1,4 @@ -import { keyVaultItemLevel } from '@/data/dungeon'; +import { keyVaultItemLevel } from '@/data/vault'; export function getVaultQualityByItemLevel(itemLevel: number) { for (const [, tierItemLevel, tierQuality] of keyVaultItemLevel) { diff --git a/apps/frontend/utils/vault/get-world-tier.ts b/apps/frontend/utils/vault/get-world-tier.ts index 4d632b6d1..0205f0847 100644 --- a/apps/frontend/utils/vault/get-world-tier.ts +++ b/apps/frontend/utils/vault/get-world-tier.ts @@ -1,4 +1,4 @@ -import { worldVaultItemLevel } from '@/data/dungeon'; +import { worldVaultItemLevel } from '@/data/vault'; export function getWorldTier(tier: number): [number, number] { for (const [tierLevel, tierItemLevel, tierQuality] of worldVaultItemLevel) { From 34f827f5e6965a2af512422c719643900ddde846 Mon Sep 17 00:00:00 2001 From: Freddie Date: Tue, 18 Aug 2026 11:05:46 -0700 Subject: [PATCH 3/7] Add delve 8+ vault reward --- apps/frontend/data/vault.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/frontend/data/vault.ts b/apps/frontend/data/vault.ts index 00ddc9869..53a5b5365 100644 --- a/apps/frontend/data/vault.ts +++ b/apps/frontend/data/vault.ts @@ -19,9 +19,7 @@ export const raidVaultItemLevel: Record> = { }; export const worldVaultItemLevel: Array> = [ - // [13, 315, 4], // Hero 4 (ritual 5?) - // [12, 308, 4], // Hero 2 (ritual 4?) - // [8, 298, 4], // Hero 1 + [8, 305, 4], // Hero 1 [7, 298, 3], // Champion 3 [6, 295, 3], // Champion 2 [5, 292, 3], // Champion 1 From 1bec4efda725dbe449620560181f01caaf17ae2e Mon Sep 17 00:00:00 2001 From: Freddie Date: Tue, 18 Aug 2026 11:14:18 -0700 Subject: [PATCH 4/7] Add new delve data --- apps/frontend/data/delve.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/apps/frontend/data/delve.ts b/apps/frontend/data/delve.ts index 3006f99bb..e673f01e7 100644 --- a/apps/frontend/data/delve.ts +++ b/apps/frontend/data/delve.ts @@ -96,4 +96,22 @@ export const delveMap: Record = { 'Totem Annihilation': 3, }, }, + 8760: { + name: 'The Ring of Glory', + shortName: 'RG', + storyRanks: { + "Minchi's Osseous Adventure": 3, + 'Olds and Ends': 3, + 'Speaking THeir Language': 3, + }, + }, + 8763: { + name: 'Gnarldor Isle', + shortName: 'GI', + storyRanks: { + 'Adopt-a-thon': 3, + 'Game Day': 3, + 'Open Night': 3, + }, + }, }; From b02dac8bdec607d6d4489b1123324f38d68d2e0c Mon Sep 17 00:00:00 2001 From: Freddie Date: Tue, 18 Aug 2026 11:14:30 -0700 Subject: [PATCH 5/7] Fix errors when an unknown delve is bountiful --- apps/frontend/components/home/view-switcher/Delves.svelte | 4 ++-- .../components/home/view-switcher/DelvesTooltip.svelte | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/frontend/components/home/view-switcher/Delves.svelte b/apps/frontend/components/home/view-switcher/Delves.svelte index ee2f18c90..fcbfb3411 100644 --- a/apps/frontend/components/home/view-switcher/Delves.svelte +++ b/apps/frontend/components/home/view-switcher/Delves.svelte @@ -19,7 +19,7 @@ story, settingsState.value.delveRankings[`${poiId}:${story}`] || 0, ]) as [Delve, string, number][], - ([delve, , ranking]) => `${9 - ranking}:${delve.shortName}` + ([delve, , ranking]) => `${9 - ranking}:${delve?.shortName || '??'}` ); }); @@ -50,7 +50,7 @@ {#each delves as [delve, , ranking] (delve)}
- {delve.shortName} + {delve?.shortName ?? '??'}
{/each} diff --git a/apps/frontend/components/home/view-switcher/DelvesTooltip.svelte b/apps/frontend/components/home/view-switcher/DelvesTooltip.svelte index 62f047f68..2abba366a 100644 --- a/apps/frontend/components/home/view-switcher/DelvesTooltip.svelte +++ b/apps/frontend/components/home/view-switcher/DelvesTooltip.svelte @@ -25,7 +25,7 @@ {#each delves as [delve, story, ranking] (story)} - {delve.name} + {delve?.name ?? 'UNKNOWN DELVE'} {story} {/each} From 31f971807cfe3de59d905f8690dcd4821b4b0359 Mon Sep 17 00:00:00 2001 From: Freddie Date: Tue, 18 Aug 2026 11:14:42 -0700 Subject: [PATCH 6/7] Fix some imports --- .../tooltips/vault-mythic-plus/TooltipVaultMythicPlus.svelte | 4 ++-- .../components/tooltips/vault-world/TooltipVaultWorld.svelte | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/frontend/components/tooltips/vault-mythic-plus/TooltipVaultMythicPlus.svelte b/apps/frontend/components/tooltips/vault-mythic-plus/TooltipVaultMythicPlus.svelte index 2cd753a6f..613d3da8d 100644 --- a/apps/frontend/components/tooltips/vault-mythic-plus/TooltipVaultMythicPlus.svelte +++ b/apps/frontend/components/tooltips/vault-mythic-plus/TooltipVaultMythicPlus.svelte @@ -1,7 +1,7 @@ + + - +
+ +
diff --git a/apps/frontend/components/explore/ExploreSidebar.svelte b/apps/frontend/components/explore/ExploreSidebar.svelte index 430fa26d4..b0a97dac5 100644 --- a/apps/frontend/components/explore/ExploreSidebar.svelte +++ b/apps/frontend/components/explore/ExploreSidebar.svelte @@ -12,22 +12,27 @@ name: 'Bonus IDs', slug: 'bonus-ids', }, - { - name: 'CHETT', - slug: 'chett', - }, { name: 'Icons', slug: 'icons', }, { - name: 'Quests', - slug: 'quests', + name: 'Modifier Trees', + slug: 'modifier-trees', }, { name: 'Transmog Sets', slug: 'transmog', }, + null, + { + name: 'CHETT', + slug: 'chett', + }, + { + name: 'Quests', + slug: 'quests', + }, ]; diff --git a/apps/frontend/components/explore/ModifierTrees.svelte b/apps/frontend/components/explore/ModifierTrees.svelte new file mode 100644 index 000000000..39cdab8e4 --- /dev/null +++ b/apps/frontend/components/explore/ModifierTrees.svelte @@ -0,0 +1,19 @@ + + + + +
+ +
diff --git a/apps/frontend/shared/state/browser.svelte.ts b/apps/frontend/shared/state/browser.svelte.ts index 1fa1d106e..e246790c4 100644 --- a/apps/frontend/shared/state/browser.svelte.ts +++ b/apps/frontend/shared/state/browser.svelte.ts @@ -29,6 +29,7 @@ interface BrowserStateIdk { explore: { achievementId: number; bonusIds: string; + modifierTreeId: number; questId: number; transmogSetId: number; }; @@ -194,6 +195,7 @@ const initialState: BrowserStateIdk = { explore: { achievementId: 0, bonusIds: '', + modifierTreeId: 0, questId: 0, transmogSetId: 0, },