3.9 KiB
3.9 KiB
type, title, description, status
| type | title | description | status |
|---|---|---|---|
| User Story | US-016: Manage Followers through the Vigilante control panel | Give the active Vigilante a graphical control panel for reviewing and managing the resistance. | done |
US-016: Manage Followers through the Vigilante control panel
As the Vigilante, I want a control panel for managing Followers so that I can coordinate the resistance without memorizing commands.
Acceptance criteria
- The active Vigilante can open the control panel with
/vigilante menu, and/vigilantewith no arguments opens the same panel. - A player who is not the active Vigilante cannot open or operate the control panel.
- The control panel opens automatically five seconds after the active Vigilante joins a running event.
- Automatic opening is cancelled if the player disconnects, loses the Vigilante role, or the event pauses or stops during the five-second delay.
- Pending Vigilante candidates and other players do not receive the automatically opened control panel.
- Manually opening the control panel during the delay prevents a duplicate automatic opening.
- Closing the automatically opened control panel does not cause it to reopen during the same login session.
- The overview shows current Followers, pending invitations, and the number of nearby Followers currently eligible to contribute combat effects.
- Each Follower's online, living, same-world, proximity, and participation status is communicated without exposing information unavailable to the Vigilante.
- The control panel shows the current Strength and Resistance contribution and configured caps.
- The Vigilante can navigate between overview, recruitment, Follower-management, and role-control screens.
- The recruitment screen lists eligible online players and explains why opted-out, Tyrant, Vigilante, or otherwise ineligible players cannot be invited.
- The Vigilante can invite an eligible player after confirmation.
- Pending outgoing invitations are identified and cannot be duplicated through repeated or concurrent interaction.
- Invited players receive the existing invitation notice and may continue using
/vigilante accept. - The Follower-management screen identifies current Followers and requires confirmation before dismissal.
- Successful invitations and dismissals refresh the control panel from authoritative current state and notify affected players.
- The role-control screen allows the Vigilante to relinquish the role only after explicit confirmation.
- Relinquishing through the control panel clears Followers, opens the Vigilante arena challenge, and communicates that outcome accurately.
- Every action revalidates the running lifecycle and active Vigilante before changing state.
- Stale or repeated control-panel interactions cannot invite an ineligible player, duplicate an invitation, or dismiss the wrong Follower.
- Existing
/vigilante invite,/vigilante accept,/vigilante dismiss,/vigilante leave, and/tyrant relinquish confirmcommands remain available. - The active Vigilante can open the control panel by using the bound Vigilante control item.
Validation
Automated tests verify default and explicit command entry points, active-Vigilante authorization, overview state, invitation deduplication and eligibility, the exact 100-tick login delay, lifecycle cancellation, and duplicate-opening prevention. The complete ./gradlew clean check jar lifecycle passes.