Files
spigot-tyrant/design/user-stories/us-011-inform-and-manage-participation.md
T
dmg 9ed0eed832
Release / release (push) Successful in 2m29s
CI / build (push) Successful in 1m7s
feat(tyrant): add arena boss succession
2026-08-23 17:55:14 -04:00

40 lines
2.8 KiB
Markdown

---
type: User Story
title: "US-011: Inform players and manage participation"
description: Tell players their current place in the game and let unassigned players opt out.
status: done
---
# US-011: Inform players and manage participation
As a **player**, I want to understand my status and control my eligibility so that participation is informed and voluntary.
## Acceptance criteria
- [x] On join, lifecycle state is omitted while role, class, subclass, ability, and relevant cooldown information remains available when applicable.
- [x] Eligible players are invited to opt out of Tyrant events without implying that an event is currently running.
- [x] An unassigned opted-in player is told that they are eligible and shown the opt-out command.
- [x] An opted-out player is told when they may opt back in.
- [x] Opted-in players are told the Vigilante arena world and coordinates when its role opens and when they join during an open challenge; opted-out players receive no such notice.
- [x] An unassigned player can opt out through a command.
- [x] Opting out removes an ordinary class or Follower assignment immediately; the Tyrant and Vigilante must relinquish through a safe role command before opting out.
- [x] Opted-out players cannot be randomly selected, recruited, or assigned a class.
- [x] A player cannot opt back in until seven days have elapsed by default.
- [x] The opt-out duration is configurable, uses unpaused elapsed time, and survives restart.
- [x] Participation commands are idempotent and clearly report current status and remaining time.
- [x] While the event is running, damage is cancelled when the Tyrant or an Assassin, Fixer, or Tamer attacks an opted-out player.
- [x] While the event is running, damage is cancelled when an opted-out player attacks the Tyrant or an Assassin, Fixer, or Tamer.
- [x] Cancelled attackers are told that the target has chosen not to take part in the Tyrant event.
- [x] Protection covers direct player attacks and player-fired projectiles without changing unrelated combat.
- [x] Participation combat protection does not apply while the event is paused or not started.
- [x] While the event is running, an opted-out player in the same world and within the configured Tyrant range has a green glowing outline visible to everyone.
- [x] The opt-out glow is removed when proximity, participation, player availability, Tyrant availability, or running-event requirements stop being satisfied.
- [x] Existing scoreboard-team membership is restored after the opt-out glow ends, and plugin shutdown safely clears managed glow state.
- [x] Opt-out proximity glow does not apply while the event is paused or not started.
## Related
- [Handle inactivity and arena vacancies](us-010-handle-inactivity-and-selection.md)
- [Persistence model](../concepts/persistence-model.md)
- [Claim the Vigilante role in the arena](us-019-claim-vigilante-in-arena.md)