3.6 KiB
3.6 KiB
type, title, description, status
| type | title | description | status |
|---|---|---|---|
| User Story | US-015: Manage a reign through the Tyrant control panel | Give the active Tyrant a graphical control panel for inspecting and managing the current reign. | done |
US-015: Manage a reign through the Tyrant control panel
As the Tyrant, I want a control panel for my reign so that I can inspect progress, purchase unlocks, assign classes, and use abilities without memorizing commands.
Acceptance criteria
- The active Tyrant can open the control panel with
/tyrant menu, and/tyrantwith no arguments opens the same panel. - A player who is not the active Tyrant cannot open or operate the control panel.
- When the active Tyrant joins while the event is running, the control panel opens automatically five seconds after login.
- Automatic opening is cancelled if the Tyrant disconnects, loses the Tyrant role, or the event pauses or stops during the five-second delay.
- Other players and pending Tyrant candidates do not receive the automatically opened control panel.
- Closing an automatically opened control panel does not cause it to reopen during the same login session.
- The Tyrant may open the control panel manually during the five-second delay without causing a second panel to open automatically.
- The main screen shows the Tyrant's level, unspent choices, purchased unlocks, class assignments, and roster-intelligence cooldown.
- Purchased, available, unavailable, and cooldown-gated actions are visually distinguishable and explain why they cannot currently be used.
- The Tyrant can navigate between overview, unlock, class-assignment, and ability screens and can close the panel without changing gameplay state.
- The Tyrant can review and purchase an available unlock after confirming the selected unlock and its choice cost.
- The Tyrant can select a purchased class and assign or reassign it to an eligible online player.
- The class player selector excludes the Tyrant and clearly identifies players who are opted out or otherwise ineligible.
- Class reassignment identifies the current holder and requires confirmation before replacing that holder.
- The Tyrant can activate roster intelligence from the panel when the ability is purchased and ready.
- A successful or rejected action refreshes the panel from authoritative current state and communicates the result clearly.
- Panel actions use the same domain rules and persistence behavior as their command equivalents.
- Stale, repeated, or concurrent panel interactions cannot duplicate purchases, bypass cooldowns, or create conflicting assignments.
- Panel actions become unavailable immediately if the game pauses, the reign ends, or the player is no longer the Tyrant.
- Existing
/tyrant choices,/tyrant buy,/tyrant assign, and/tyrant intelligencecommands remain available as alternatives. - The active Tyrant can open the control panel by using the bound Tyrant control item.
Validation
Automated tests verify command entry points, active-Tyrant authorization, authoritative overview state, the exact 100-tick login delay, lifecycle cancellation, and duplicate-opening prevention. The complete ./gradlew clean check jar lifecycle passes.