[priority: high] feat: Practicing disciplines should set currentAction to "practicing" to block meditation/crafting #141
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?
Problem
Activating a discipline does not change
currentActionincombatStore. This means the player can:This is exploitative — discipline practice should be exclusive, not stackable with meditation or crafting.
Current Behavior
discipline-slice.ts activate()/deactivate()never touchescurrentActiongameStore.tscheckscurrentAction === 'meditate'to accumulatemeditateTicksand computemeditationMultiplier. Any non-meditate action resetsmeditateTicksto 0.crafting-apply.ts,crafting-equipment.ts) checkcurrentAction !== 'meditate'to block crafting.Desired Behavior
currentActionshould become'practicing''practicing'is NOT'meditate', so meditation ticks reset naturally'practicing'is NOT'meditate', so crafting/enchanting guards naturally block crafting'meditate'What Needs to Change
Types
src/lib/game/types/game.ts— Add'practicing'to theGameActionunion:Discipline Store
src/lib/game/stores/discipline-slice.ts— Inactivate():currentActionto'practicing'viauseCombatStoredeactivate(): after deactivating, if no active disciplines remain, setcurrentActionback to'meditate'climb) and activates a discipline, don't override — only set'practicing'if action was'meditate'Combat State
src/lib/game/stores/combat-state.types.ts— AddstartPracticingandstopPracticingaction signaturessrc/lib/game/stores/combatStore.ts— ImplementstartPracticing/stopPracticing(followingstartClimbUppattern)Tick Pipeline
src/lib/game/stores/gameStore.ts— No changes needed! The existingif (ctx.combat.currentAction === 'meditate')check naturally excludes'practicing', someditateTicksresets automatically. Non-meditate actions already reset ticks to 0.UI
'practicing'Files
src/lib/game/types/game.ts— add'practicing'to GameActionsrc/lib/game/stores/combat-state.types.ts— add action signaturessrc/lib/game/stores/combatStore.ts— implement actionssrc/lib/game/stores/discipline-slice.ts— wire activate/deactivate to set/restore actionTest References
src/lib/game/__tests__/discipline-math.test.ts— existing discipline testssrc/lib/game/__tests__/cross-module-prestige-discipline.test.ts— cross-module testsfeat: Practicing disciplines should set currentAction to "practicing" to block meditation/craftingto [priority: high] feat: Practicing disciplines should set currentAction to "practicing" to block meditation/crafting