You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Priority: MEDIUM Status: TODO Depends on:#41 (Rest Commands), #42 (Party Targeting)
Description
Allow DMs to control when rest benefits are granted, supporting interrupted/resumed rests at DM discretion.
Use Case
DM: "You settle in for a long rest" → /startrest knights_of_mortimer long
Players RP, use abilities (no rest benefits yet)
DM: "3 hours in, goblins attack!" → Combat happens
DM: "You defeat them and resume resting" → /completerest knights_of_mortimer
Players receive long rest benefits
Commands
/startrest <player/party...> <short|long> - Mark as resting (no benefits)
/completerest <player/party...> - Grant rest benefits based on stored state
/cancelrest <player/party...> - Cancel rest without benefits
Command Examples
/startrest knights_of_mortimer long
/startrest charlie astra short
/completerest knights_of_mortimer
/cancelrest charlie
Acceptance Criteria
/startrest marks players/parties as resting
/completerest grants benefits based on stored rest type
/cancelrest clears state without granting benefits
Display messages to affected players
Players can still use abilities while in "resting" state
Support both individual players and parties
Show who is currently resting: /rest status
State Tracking
Add restingState field to CharacterSheet: null | "short" | "long"
/startrest sets the state
/completerest calls shortRest() or longRest() based on state, then clears it
/cancelrest clears state without calling rest methods
Players can freely use abilities/resources while in "resting" state
Feedback Messages
/startrest knights_of_mortimer long
→ "Knights of Mortimer begin a long rest..."
/completerest knights_of_mortimer
→ To players: "Long rest completed! [Resources restored...]"
/cancelrest knights_of_mortimer
→ To players: "Rest interrupted! No benefits gained."
Benefits
DM controls timing at their discretion (no timers needed!)
Handles ambushes, interruptions, narrative events
Simple implementation - just state tracking
No complex timer/scheduling system required
Optional Features (Future)
/rest status - Show who is currently resting
Track rest start time for flavor text ("Rested for 3 hours before interruption")
Priority: MEDIUM
Status: TODO
Depends on: #41 (Rest Commands), #42 (Party Targeting)
Description
Allow DMs to control when rest benefits are granted, supporting interrupted/resumed rests at DM discretion.
Use Case
/startrest knights_of_mortimer long/completerest knights_of_mortimerCommands
/startrest <player/party...> <short|long>- Mark as resting (no benefits)/completerest <player/party...>- Grant rest benefits based on stored state/cancelrest <player/party...>- Cancel rest without benefitsCommand Examples
Acceptance Criteria
/startrestmarks players/parties as resting/completerestgrants benefits based on stored rest type/cancelrestclears state without granting benefits/rest statusState Tracking
restingStatefield to CharacterSheet:null | "short" | "long"/startrestsets the state/completerestcallsshortRest()orlongRest()based on state, then clears it/cancelrestclears state without calling rest methodsFeedback Messages
Benefits
Optional Features (Future)
/rest status- Show who is currently restingTechnical Notes
RestingStateenum:NONE, SHORT_REST, LONG_RESTprivate RestingState restingState = RestingState.NONE;/startrestonly sets state, doesn't grant benefits/completerestexecutes rest logic from Implement class resource system #25Related