From 2236d1dc9f437edb1732a09e3b976b6c076a529f Mon Sep 17 00:00:00 2001 From: Hikari Date: Fri, 20 Mar 2026 09:19:16 -0700 Subject: [PATCH] fix: correct quest combat power requirements for SM, VD, and AV (#90) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Fixes #85. Quest combat power requirements for Shadow Marshes, Volcanic Depths, and Astral Void were all drastically too low, breaking the zone progression curve. ### Root Cause All three zones appear to have had their `combatPowerRequired` values entered at the wrong magnitude. Shadow Marshes was using K values where M was intended; Volcanic Depths and Astral Void were similarly off, resulting in later zones being trivially easier than earlier ones. ### Changes | Zone | Before | After | |---|---|---| | Shadow Marshes | 5K / 20K / 80K / 300K | 5M / 20M / 80M / 300M | | Volcanic Depths | 2M / 8M / 30M / 120M | 1.2B / 4.8B / 18B / 72B | | Astral Void | 50M / 200M / 800M / 3B | 300B / 1.2T / 4.8T / 18T | ### Progression All values now maintain a consistent ~×4 multiplier within each zone and ~×4 jump between zones, matching the established pattern from Verdant Vale through Frozen Peaks. ✨ This PR was created with help from Hikari~ 🌸 Reviewed-on: https://git.nhcarrigan.com/nhcarrigan/elysium/pulls/90 Co-authored-by: Hikari Co-committed-by: Hikari --- apps/api/src/data/quests.ts | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/apps/api/src/data/quests.ts b/apps/api/src/data/quests.ts index 6e9782e..ae243b9 100644 --- a/apps/api/src/data/quests.ts +++ b/apps/api/src/data/quests.ts @@ -141,7 +141,7 @@ export const defaultQuests: Array = [ }, // ── Shadow Marshes ──────────────────────────────────────────────────────── { - combatPowerRequired: 5000, + combatPowerRequired: 5_000_000, description: "A cursed lake shrouded in permanent twilight. Strange energies pulse beneath its surface.", durationSeconds: 45 * 60, @@ -156,7 +156,7 @@ export const defaultQuests: Array = [ zoneId: "shadow_marshes", }, { - combatPowerRequired: 20_000, + combatPowerRequired: 20_000_000, description: "Deep in the marshes, a coven of swamp witches performs rites that twist the very land. Their power must be broken.", durationSeconds: 90 * 60, @@ -171,7 +171,7 @@ export const defaultQuests: Array = [ zoneId: "shadow_marshes", }, { - combatPowerRequired: 80_000, + combatPowerRequired: 80_000_000, description: "An ancient temple half-submerged in black water, its altars still humming with the power of a god long since departed.", durationSeconds: 2 * 60 * 60, @@ -180,6 +180,7 @@ export const defaultQuests: Array = [ prerequisiteIds: [ "witch_coven" ], rewards: [ { amount: 2_000_000, type: "gold" }, + { amount: 1500, type: "essence" }, { amount: 75, type: "crystals" }, { targetId: "knight_1", type: "upgrade" }, ], @@ -187,7 +188,7 @@ export const defaultQuests: Array = [ zoneId: "shadow_marshes", }, { - combatPowerRequired: 300_000, + combatPowerRequired: 300_000_000, description: "A city that died overnight, its streets still thick with something no healer can identify. Treasures lie unclaimed among the bones.", durationSeconds: 3 * 60 * 60, @@ -253,7 +254,7 @@ export const defaultQuests: Array = [ }, // ── Volcanic Depths ─────────────────────────────────────────────────────── { - combatPowerRequired: 2_000_000, + combatPowerRequired: 1_200_000_000, description: "A river of molten rock that flows without end through the volcanic tunnels. Something valuable gleams in the depths.", durationSeconds: 3 * 60 * 60, @@ -268,7 +269,7 @@ export const defaultQuests: Array = [ zoneId: "volcanic_depths", }, { - combatPowerRequired: 8_000_000, + combatPowerRequired: 4_800_000_000, description: "A vast shrine where fire elementals perform rituals that shake the mountains. Whatever they worship, it has answered.", durationSeconds: 5 * 60 * 60, @@ -284,7 +285,7 @@ export const defaultQuests: Array = [ zoneId: "volcanic_depths", }, { - combatPowerRequired: 30_000_000, + combatPowerRequired: 18_000_000_000, description: "Kilometres of tunnels filled with rivers of fire and creatures born from the earth's core. The heat alone should kill you. Somehow, it won't.", durationSeconds: 7 * 60 * 60, @@ -300,7 +301,7 @@ export const defaultQuests: Array = [ zoneId: "volcanic_depths", }, { - combatPowerRequired: 120_000_000, + combatPowerRequired: 72_000_000_000, description: "The oldest forge in existence, where the fire elementals crafted weapons for gods. Its secrets could revolutionise your guild's arsenal.", durationSeconds: 10 * 60 * 60, @@ -317,7 +318,7 @@ export const defaultQuests: Array = [ }, // ── Astral Void ─────────────────────────────────────────────────────────── { - combatPowerRequired: 50_000_000, + combatPowerRequired: 300_000_000_000, description: "A tear in reality itself. What lies beyond defies description — but the power within is unlike anything of this world.", durationSeconds: 4 * 60 * 60, @@ -332,7 +333,7 @@ export const defaultQuests: Array = [ zoneId: "astral_void", }, { - combatPowerRequired: 200_000_000, + combatPowerRequired: 1_200_000_000_000, description: "A field of dead stars, each one larger than a planet, each one cold and silent where once they burned with the light of creation.", durationSeconds: 8 * 60 * 60, @@ -348,7 +349,7 @@ export const defaultQuests: Array = [ zoneId: "astral_void", }, { - combatPowerRequired: 800_000_000, + combatPowerRequired: 4_800_000_000_000, description: "The space between realities, where the rules that govern your world do not apply. Time is meaningless here. Power is everything.", durationSeconds: 12 * 60 * 60, @@ -364,7 +365,7 @@ export const defaultQuests: Array = [ zoneId: "astral_void", }, { - combatPowerRequired: 3_000_000_000, + combatPowerRequired: 18_000_000_000_000, description: "There is nothing beyond this point. Only the greatest guild in the history of all existence could reach here — and you have.", durationSeconds: 24 * 60 * 60,