fix: spire climbing spec discrepancies (DISC-1,14,15,18,19,21,22,23,29,34)
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s

- DISC-1: Fix ascent seed missing +runId in combat-descent-actions.ts
- DISC-14: Recovery room 10x regen/conversion already in gameStore.ts
- DISC-15/18/21: Add missing completion logs for recovery, library, treasure rooms
- DISC-19: Filter library discipline selection to non-paused disciplines
- DISC-22: Fix puzzle room log format to match spec
- DISC-23: Replace hardcoded MAX_LEVEL with MAX_ATTUNEMENT_LEVEL
- DISC-29: Update spec to document libraryStayed/recoveryStayed on currentRoom
- DISC-34: Add 'Exited the Spire' activity log in exitSpireMode
This commit is contained in:
2026-06-08 20:36:42 +02:00
parent de189fe59f
commit 64c1d2f51e
6 changed files with 21 additions and 15 deletions
+4 -2
View File
@@ -601,8 +601,10 @@ clearedRooms: Record<string, boolean> // key = "floor:roomIndex"
isDescentComplete: boolean
// Non-combat room tracking (climbing spec §4.8–§4.12)
libraryStayed: boolean // true if player already used "Stay 1 Hour More" in current library room
recoveryStayed: boolean // true if player already used "Stay 1 Hour More" in current recovery room
// Note: libraryStayed and recoveryStayed live on the currentRoom object, not as
// top-level state fields. This keeps per-room transient state co-located.
libraryStayed: boolean // on currentRoom; true if player already used "Stay 1 Hour More" in current library room
recoveryStayed: boolean // on currentRoom; true if player already used "Stay 1 Hour More" in current recovery room
```
> `isDescending: boolean` (legacy alias) can be removed in favour of `climbDirection === 'down'`.