From 7c950a567269b68991b514e76a6531d674d71e92 Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 23 Aug 2026 22:26:41 -0700 Subject: [PATCH 01/10] Add "Bountiful Delves" chore to "[Mid] Delves" task --- apps/frontend/data/quests.ts | 13 ++++++ .../frontend/data/tasks/11-midnight/delves.ts | 46 ++++++++++++++++++- apps/frontend/shared/icons/library.ts | 1 + 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/apps/frontend/data/quests.ts b/apps/frontend/data/quests.ts index d26a7154f..a1e2b66c8 100644 --- a/apps/frontend/data/quests.ts +++ b/apps/frontend/data/quests.ts @@ -63,6 +63,19 @@ export const questNameOverride: Record = { 96492: 'Coiled Isle WQs', // Special Assignment: Demand and Supply 96029: 'Coiled Isle WQs', // Special Assignment: Face the Swarm 96307: 'Coiled Isle WQs', // Special Assignment: Wraith Wrath + // Midnight delves + 91182: 'Parhelion Plaza', + 91183: 'Sunkiller Sanctum', + 91184: 'Shadowguard Point', + 91185: 'The Grudge Pit', + 91186: 'Collegiate Calamity', + 91187: 'The Gulf of Memory', + 91188: "Atal'Aman", + 91189: 'The Shadow Enclave', + 91190: 'Twilight Crypts', + 92444: 'The Darkway', + 95715: 'Gnarldor Isle', + 95716: 'Ring of Glory', }; export const globalDailyQuests: Record = Object.fromEntries( diff --git a/apps/frontend/data/tasks/11-midnight/delves.ts b/apps/frontend/data/tasks/11-midnight/delves.ts index ba186221d..7a976842d 100644 --- a/apps/frontend/data/tasks/11-midnight/delves.ts +++ b/apps/frontend/data/tasks/11-midnight/delves.ts @@ -1,10 +1,37 @@ +import { Constants } from '@/data/constants'; import { Region } from '@/enums/region'; import { iconLibrary } from '@/shared/icons'; import { timeState } from '@/shared/state/time.svelte'; import { DbResetType } from '@/shared/stores/db/enums'; import { getNextWeeklyResetFromTime } from '@/utils/get-next-reset'; -import type { Task } from '@/types/tasks'; -import { Constants } from '@/data/constants'; +import type { Character } from '@/types'; +import type { Chore, Task } from '@/types/tasks'; + +const bountifulQuestIds = [ + 91182, // Parhelion Plaza + 91183, // Sunkiller Sanctum + 91184, // Shadowguard Point + 91185, // The Grudge Pit + 91186, // Collegiate Calamity + 91187, // The Gulf of Memory + 91188, // Atal'Aman + 91189, // The Shadow Enclave + 91190, // Twilight Crypts + 92444, // The Darkway + 95715, // Gnarldor Isle + 95716, // Ring of Glory +]; + +export const bountifulFunc = (index: number) => { + return (char: Character, chore: Chore) => { + const completedQuestIds = bountifulQuestIds.filter((questId) => + char.quests?.hasQuestById?.has(questId) + ); + completedQuestIds.sort(); + + return completedQuestIds[index] ? [completedQuestIds[index]] : []; + }; +}; export const midDelves: Task = { key: 'midDelves', @@ -79,6 +106,21 @@ export const midDelves: Task = { questIds: [92887], questReset: DbResetType.Weekly, }, + { + key: 'bountiful', + name: 'Bountiful Delves', + icon: iconLibrary.gameKey, + minimumLevel: 90, + questReset: DbResetType.Daily, + questResetForced: true, + alwaysStarted: true, + subChores: [0, 1, 2, 3].map((n) => ({ + key: `bountiful${n}`, + name: `Bountiful ${n + 1}`, + alwaysStarted: true, + questIds: bountifulFunc(n), + })), + }, { key: 'gilded', name: 'Gilded Stash', diff --git a/apps/frontend/shared/icons/library.ts b/apps/frontend/shared/icons/library.ts index 51bf62918..1f3d3a451 100644 --- a/apps/frontend/shared/icons/library.ts +++ b/apps/frontend/shared/icons/library.ts @@ -60,6 +60,7 @@ export { default as gameHeartNecklace } from '~icons/game-icons/heart-necklace'; export { default as gameHeartPlus } from '~icons/game-icons/heart-plus'; export { default as gameHouse } from '~icons/game-icons/house'; export { default as gameJigsawBox } from '~icons/game-icons/jigsaw-box'; +export { default as gameKey } from '~icons/game-icons/key'; export { default as gameKnapsack } from '~icons/game-icons/knapsack'; export { default as gameLabradorHead } from '~icons/game-icons/labrador-head'; export { default as gameLockedFortress } from '~icons/game-icons/locked-fortress'; From f8282007a2d97b19eee7f958cf7c5fe5c5af0e4b Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 23 Aug 2026 22:26:59 -0700 Subject: [PATCH 02/10] Add Essence of Lumber to decor currencies --- apps/frontend/data/currencies.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/frontend/data/currencies.ts b/apps/frontend/data/currencies.ts index 75170f75b..d95a34334 100644 --- a/apps/frontend/data/currencies.ts +++ b/apps/frontend/data/currencies.ts @@ -516,6 +516,7 @@ export const currencyItems: Record = { ], // Miscellaneous > Decor 100104: [ + 269010, // Essence of Lumber 245586, // Ironwood Lumber [Classic] 242691, // Olemba Lumber [TBC] 251762, // Coldwind Lumber [WotLK] From a4fd477295fde82085e877d44b27a5e80d7188a4 Mon Sep 17 00:00:00 2001 From: Freddie Date: Mon, 24 Aug 2026 15:00:48 -0700 Subject: [PATCH 03/10] Fix gear column tooltip layout fails --- .../components/tooltips/tier-set/TooltipTierSet.svelte | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/frontend/components/tooltips/tier-set/TooltipTierSet.svelte b/apps/frontend/components/tooltips/tier-set/TooltipTierSet.svelte index 7ed2f7aac..419c8cfc9 100644 --- a/apps/frontend/components/tooltips/tier-set/TooltipTierSet.svelte +++ b/apps/frontend/components/tooltips/tier-set/TooltipTierSet.svelte @@ -39,7 +39,11 @@ - From 9d12595d1183ccbf8b182658262cd11febba2d89 Mon Sep 17 00:00:00 2001 From: Freddie Date: Tue, 25 Aug 2026 15:29:05 -0700 Subject: [PATCH 07/10] Add ItemLevels constant and use it - Rename keyVaultItemLevel to dungeonVaultItemLevel --- .../components/items/convertible/data.ts | 9 ++-- .../TooltipVaultMythicPlus.svelte | 4 +- apps/frontend/data/constants.ts | 43 +++++++++++++++++++ apps/frontend/data/item-level-quality.ts | 14 +++--- apps/frontend/data/vault.ts | 43 ++++++++++--------- .../utils/mythic-plus/get-vault-item-level.ts | 4 +- .../get-vault-quality-by-item-level.ts | 4 +- 7 files changed, 83 insertions(+), 38 deletions(-) diff --git a/apps/frontend/components/items/convertible/data.ts b/apps/frontend/components/items/convertible/data.ts index 4fcb5ccb9..9da61d6f6 100644 --- a/apps/frontend/components/items/convertible/data.ts +++ b/apps/frontend/components/items/convertible/data.ts @@ -1,3 +1,4 @@ +import { ItemLevels } from '@/data/constants'; import { AppearanceModifier } from '@/enums/appearance-modifier'; import { ArmorType } from '@/enums/armor-type'; import { InventoryType } from '@/enums/inventory-type'; @@ -53,22 +54,22 @@ export const convertibleCategories: ConvertibleCategory[] = [ conversionCurrencyId: 3465, // Venomblight Manaflux tiers: [ { - itemLevel: 318, + itemLevel: ItemLevels.Myth[1], highUpgrade: currentUpgrade4, lowUpgrade: currentUpgrade3, }, { - itemLevel: 305, + itemLevel: ItemLevels.Hero[1], highUpgrade: currentUpgrade3, lowUpgrade: currentUpgrade2, }, { - itemLevel: 292, + itemLevel: ItemLevels.Champion[1], highUpgrade: currentUpgrade2, lowUpgrade: currentUpgrade1, }, { - itemLevel: 279, + itemLevel: ItemLevels.Veteran[1], highUpgrade: currentUpgrade1, }, ], diff --git a/apps/frontend/components/tooltips/vault-mythic-plus/TooltipVaultMythicPlus.svelte b/apps/frontend/components/tooltips/vault-mythic-plus/TooltipVaultMythicPlus.svelte index 613d3da8d..fdd16be99 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 @@