From c8a01acda3c6b2522b6cdf18cc398b5ec04ea332 Mon Sep 17 00:00:00 2001
From: Refactoring Agent <[email protected]>
Date: Wed, 29 Apr 2026 10:39:11 +0200
Subject: [PATCH] Fix Task 9: Climb/Descend Controls
1. Fixed exitSpireMode in store.ts to allow exit at any floor for re-entry resume
2. Removed floor restriction on Exit Spire button in page.tsx
3. Updated descend button label to use currentAction for 'Climbing' status
---
src/app/page.tsx | 22 ++++++++--------------
src/lib/game/store.ts | 7 ++-----
2 files changed, 10 insertions(+), 19 deletions(-)
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 500f808..1aceabf 100755
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -273,22 +273,16 @@ export default function ManaLoopGame() {
>
{store.isDescending ? 'Descending…' :
- store.climbDirection === 'up' ? 'Climbing' :
+ store.currentAction === 'climb' ? 'Climbing' :
'Begin Descent'}
- {store.currentFloor === 1 ? (
-
- ) : (
-
- Reach floor 1 to exit
-
- )}
+
diff --git a/src/lib/game/store.ts b/src/lib/game/store.ts
index aacd6fe..436fb05 100755
--- a/src/lib/game/store.ts
+++ b/src/lib/game/store.ts
@@ -2306,13 +2306,10 @@ export const useGameStore = create()(
}, 500);
},
- // Exit Spire Mode - only works when at floor 1
+ // Exit Spire Mode - can exit at any floor (re-entry will resume at same floor)
exitSpireMode: () => {
set((state) => {
- // Only allow exit if at floor 1 (bottom)
- if (state.currentFloor > 1) {
- return state; // Can't exit, need to climb down to floor 1 first
- }
+ // Allow exit at any floor for re-entry resume
return {
spireMode: false,
currentAction: 'meditate',