45 lines
2.6 KiB
Markdown
45 lines
2.6 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-018: Complete Tyrant commands contextually"
|
|
description: Replace Bukkit's player-name fallback with valid context-aware command suggestions.
|
|
status: done
|
|
---
|
|
|
|
# US-018: Complete Tyrant commands contextually
|
|
|
|
As a **player or administrator**, I want contextual command suggestions so that I can discover valid Tyrant commands and arguments.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] `/tyrant` suggests its available subcommands instead of arbitrary player names.
|
|
- [x] `/tyrant buy` suggests Tyrant unlock names.
|
|
- [x] `/tyrant armor` suggests `helmet`, `chestplate`, `leggings`, and `boots` and accepts no further arguments.
|
|
- [x] `/tyrant assign` suggests `assassin`, `fixer`, and `tamer`, followed by eligible online players.
|
|
- [x] `/tyrant relinquish` suggests `confirm`.
|
|
- [x] `/vigilante` suggests its available subcommands.
|
|
- [x] `/vigilante invite` suggests eligible online recruitment candidates.
|
|
- [x] `/vigilante dismiss` suggests current online Followers.
|
|
- [x] `/tyrantadmin` suggestions are visible only to senders with `spigottyrant.admin`.
|
|
- [x] `/tyrantadmin start` suggests online Tyrant and Vigilante candidates.
|
|
- [x] `/tyrantadmin reset` suggests `confirm`.
|
|
- [x] `/tyrantadmin arena` suggests `set` and `status`.
|
|
- [x] `/tyrantadmin` suggests `grantpoint`, which accepts no additional arguments.
|
|
- [x] Suggestions are filtered case-insensitively by the partially typed argument.
|
|
- [x] Suggestions never include syntactically invalid options for the current argument position.
|
|
- [x] Console completion works for administrative commands without exposing player-only commands as executable console actions.
|
|
- [x] Existing command execution behavior remains unchanged.
|
|
|
|
## Validation
|
|
|
|
Automated tests verify root syntax, unlocks, legacy armor pieces, classes, confirmations, eligible recruits, current Followers, permission gating, online administrative candidates, the argument-free `grantpoint` command, argument positions, and case-insensitive prefix filtering. The complete `./gradlew clean check jar` lifecycle passes.
|
|
|
|
## Related
|
|
|
|
- [Start, pause, and administer the game](us-001-start-pause-and-administer.md)
|
|
- [Assign unlocked classes](us-004-assign-unlocked-classes.md)
|
|
- [Support the Vigilante and Followers](us-008-support-vigilante-and-followers.md)
|
|
- [Manage a reign through the Tyrant control panel](us-015-manage-tyrant-control-panel.md)
|
|
- [Claim the Vigilante role in the arena](us-019-claim-vigilante-in-arena.md)
|
|
- [Manage Followers through the Vigilante control panel](us-016-manage-vigilante-control-panel.md)
|
|
- [Claim Tyrant legacy armor](us-021-claim-tyrant-legacy-armor.md)
|