fix: patch adventurer stats on sync so rebalances apply to existing saves
CI / Lint, Build & Test (pull_request) Failing after 1m0s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m5s

Sync New Content now updates baseCost, class, combatPower, essencePerSecond,
goldPerSecond, level, and name for all existing adventurer entries to match
the current defaults, while preserving count and unlocked state.

Closes #126
This commit is contained in:
2026-03-24 14:46:34 -07:00
committed by Naomi Carrigan
parent 050e34e6cd
commit b3913cef52
4 changed files with 121 additions and 33 deletions
+12 -10
View File
@@ -13,16 +13,17 @@ import { ConfirmationModal } from "../ui/confirmationModal.js";
type ActiveModal = "force-unlocks" | "hard-reset" | "sync-new-content" | null;
interface SyncNewContentResult {
achievementsAdded: number | undefined;
adventurersAdded: number | undefined;
bossesAdded: number | undefined;
bossRewardsPatched: number | undefined;
equipmentAdded: number | undefined;
explorationAreasAdded: number | undefined;
questRewardsPatched: number | undefined;
questsAdded: number | undefined;
upgradesAdded: number | undefined;
zonesAdded: number | undefined;
achievementsAdded: number | undefined;
adventurersAdded: number | undefined;
adventurerStatsPatched: number | undefined;
bossesAdded: number | undefined;
bossRewardsPatched: number | undefined;
equipmentAdded: number | undefined;
explorationAreasAdded: number | undefined;
questRewardsPatched: number | undefined;
questsAdded: number | undefined;
upgradesAdded: number | undefined;
zonesAdded: number | undefined;
}
const safeNumber = (value: number | undefined): number => {
@@ -43,6 +44,7 @@ const buildSyncNewContentMessage = (result: SyncNewContentResult): string => {
[ safeNumber(result.bossRewardsPatched), "boss reward(s) patched" ],
[ safeNumber(result.explorationAreasAdded), "exploration area(s)" ],
[ safeNumber(result.adventurersAdded), "adventurer tier(s)" ],
[ safeNumber(result.adventurerStatsPatched), "adventurer stat(s) patched" ],
[ safeNumber(result.upgradesAdded), "upgrade(s)" ],
[ safeNumber(result.equipmentAdded), "equipment item(s)" ],
[ safeNumber(result.achievementsAdded), "achievement(s)" ],