Bug: Cannot restart Raw Mana Mastery or Mana Circulation after stopping #144
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bug Description
When the player clicks "Stop Practicing" on the Raw Mana Mastery or Mana Circulation disciplines, they cannot start practicing again afterward.
Root Cause
Two interacting issues in
discipline-slice.tsanddiscipline-math.ts:deactivate(id)setsdisc.paused = trueand removes the ID fromactiveIdsactivate(id)falls through to line 107:if (!canProceedDiscipline(def, existing, gameState)) return s;canProceedDisciplineindiscipline-math.tsline 71 unconditionally returnsfalsewhendisciplineState.paused === true, blocking re-activationThe re-activation bypass at lines 83-86 only works when the discipline is still in
activeIds, butdeactivateremoves it.Fix Required
Remove the
if (disciplineState.paused) return false;guard fromcanProceedDisciplineinsrc/lib/game/utils/discipline-math.tsline 71. Theactivatemethod already handles re-activation of paused disciplines correctly via the code path at lines 83-86.Affected Files
src/lib/game/utils/discipline-math.ts—canProceedDisciplinefunction (line 71)src/lib/game/stores/discipline-slice.ts—activatemethod (lines 83-107)Fixed #144 — Can now restart Raw Mana Mastery and Mana Circulation after stopping.
Root cause:
canProceedDisciplineindiscipline-math.tsunconditionally returnedfalsewhendisciplineState.paused === true. This blocked re-activation because:deactivate(id)setspaused: trueand removes the ID fromactiveIdscanProceedDisciplinerejected it due to the paused flagFix: Removed the
if (disciplineState.paused) return false;guard fromcanProceedDiscipline. Theactivatemethod already handles re-activation of paused disciplines correctly (un-pausing them if they're inactiveIds, or fully re-activating them if they were drained — per #143 fix).Changed files:
src/lib/game/utils/discipline-math.ts— removed paused guard from canProceedDisciplinesrc/lib/game/__tests__/discipline-math.test.ts— updated test to expecttruefor paused disciplinesAll 885 tests pass. Committed and pushed as
7962a4f.Closing — fixed in commit
7962a4f