Files
spigot-tyrant/design/user-stories/us-004-assign-unlocked-classes.md
T
dmg 34f32cd32d
Release / release (push) Successful in 2m40s
CI / build (push) Successful in 1m13s
feat(tamer): release mobs after class loss
2026-08-21 21:37:09 -04:00

32 lines
1.8 KiB
Markdown

---
type: User Story
title: "US-004: Assign unlocked classes"
description: Let the Tyrant assign each purchased class to one eligible participant.
status: done
---
# US-004: Assign unlocked classes
As the **Tyrant**, I want to assign unlocked specialist classes so that I can build a small team suited to my reign.
## Acceptance criteria
- [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.
- [x] The Tyrant can assign and reassign purchased classes through the Tyrant control panel.
- [x] The control panel's player selector communicates eligibility and identifies the current class holder before confirmation.
- [x] Control-panel and command-based assignments enforce identical rules.
- [x] Removing or reassigning the Tamer class automatically releases the former holder's captured mobs while leaving ordinary inventory untouched.
## Related
- [Role and class model](../concepts/role-and-class-model.md)
- [Use class ability items](us-014-use-class-ability-items.md)
- [Manage a reign through the Tyrant control panel](us-015-manage-tyrant-control-panel.md)