feat: comprehensive balance pass (#239)
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m10s
CI / Lint, Build & Test (pull_request) Successful in 1m15s

- fix: boss signature chain maintained through fight results (#148)
- fix: militia cost curve smoothed (100g -> 65g) (#145)
- fix: crystal_shard buffed to epic tier (1.65x/1.2x -> 1.9x/1.3x) (#144)
- fix: click_power recipe ceiling raised and z13-18 progression smoothed (#142)
- close: elder_bark_shield, void_fragment_amulet, soul_bound_catalyst already at target values (#143)
This commit is contained in:
2026-04-06 19:15:48 -07:00
committed by Naomi Carrigan
parent e7164257c5
commit e742c3a6ef
8 changed files with 84 additions and 11 deletions
+1 -1
View File
@@ -597,7 +597,7 @@ describe("debug route", () => {
it("patches adventurer stats when only name has changed (exercises all earlier OR conditions)", async () => {
const state = makeState({
adventurers: [{ id: "militia", count: 5, unlocked: true, baseCost: 100, goldPerSecond: 0.7, essencePerSecond: 0, combatPower: 3, level: 2, name: "Old Name", class: "warrior" }] as GameState["adventurers"],
adventurers: [{ id: "militia", count: 5, unlocked: true, baseCost: 65, goldPerSecond: 0.7, essencePerSecond: 0, combatPower: 3, level: 2, name: "Old Name", class: "warrior" }] as GameState["adventurers"],
});
vi.mocked(prisma.gameState.findUnique).mockResolvedValueOnce({ state } as never);
vi.mocked(prisma.gameState.update).mockResolvedValueOnce({} as never);