feat(classes): add tyrant class assignment
This commit is contained in:
@@ -6,6 +6,17 @@ description: Chronological record of material decisions affecting the Spigot Tyr
|
||||
|
||||
# Spigot Tyrant Design Log
|
||||
|
||||
## 2026-08-14 — Tyrant class assignment completed
|
||||
|
||||
- Completed US-004 with `/tyrant assign <class> <player>`, purchased-class authorization, UUID state, one holder per class, and one Tyrant-side class per player.
|
||||
- Preserved dual alignment so Vigilantes and Followers can hold a Tyrant-side class, while rejecting the Tyrant and opted-out targets.
|
||||
- Added reassignment and reign cleanup for class cooldown/item state, online assignment/removal notices, and login control reminders.
|
||||
- Verified assignment constraints, dual alignment, cleanup, commands, notifications, and reminders with the Gradle test suite.
|
||||
|
||||
## 2026-08-14 — Tyrant class assignment implementation started
|
||||
|
||||
- US-004 begins with test-first purchased-class authorization, one-holder constraints, dual alignment, reassignment cleanup, and reign-wide removal.
|
||||
|
||||
## 2026-08-14 — Tyrant progression completed
|
||||
|
||||
- Completed US-003 with exact Tyrant-on-Vigilante kill attribution, level and choice rewards, pause guards, one-time purchases, and reign reset behavior.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
type: User Story
|
||||
title: "US-004: Assign unlocked classes"
|
||||
description: Let the Tyrant assign each purchased class to one eligible participant.
|
||||
status: backlog
|
||||
status: done
|
||||
---
|
||||
|
||||
# US-004: Assign unlocked classes
|
||||
@@ -11,14 +11,14 @@ As the **Tyrant**, I want to assign unlocked specialist classes so that I can bu
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] The Tyrant can assign only Assassin, Fixer, and Tamer classes purchased during the current reign.
|
||||
- [ ] Each class can be assigned to at most one player at a time, and a player can hold at most one Tyrant-side class.
|
||||
- [ ] Role alignment and Tyrant-side class are independent: the Vigilante or a Follower may simultaneously be the Assassin, Fixer, or Tamer.
|
||||
- [ ] The Tyrant cannot assign a class to the Tyrant, an opted-out player, or another ineligible player.
|
||||
- [ ] Reassignment removes the class and its bound items and effects from the previous holder before granting it to the new holder.
|
||||
- [ ] Assignment and removal are stored by UUID and communicated clearly to affected players.
|
||||
- [ ] A class holder is reminded of the assignment and its controls on login.
|
||||
- [ ] All class assignments end when the Tyrant's reign ends.
|
||||
- [x] The Tyrant can assign only Assassin, Fixer, and Tamer classes purchased during the current reign.
|
||||
- [x] Each class can be assigned to at most one player at a time, and a player can hold at most one Tyrant-side class.
|
||||
- [x] Role alignment and Tyrant-side class are independent: the Vigilante or a Follower may simultaneously be the Assassin, Fixer, or Tamer.
|
||||
- [x] The Tyrant cannot assign a class to the Tyrant, an opted-out player, or another ineligible player.
|
||||
- [x] Reassignment removes the class and its bound items and effects from the previous holder before granting it to the new holder.
|
||||
- [x] Assignment and removal are stored by UUID and communicated clearly to affected players.
|
||||
- [x] A class holder is reminded of the assignment and its controls on login.
|
||||
- [x] All class assignments end when the Tyrant's reign ends.
|
||||
|
||||
## Related
|
||||
|
||||
|
||||
Reference in New Issue
Block a user