Files
spigot-tyrant/design/user-stories/us-008-support-vigilante-and-followers.md
T
dmg 0371337a3e
Release / release (push) Successful in 3m7s
CI / build (push) Successful in 1m15s
feat(vigilante): add followers and combat scaling
2026-08-14 23:01:10 -04:00

31 lines
1.8 KiB
Markdown

---
type: User Story
title: "US-008: Support the Vigilante and Followers"
description: Give the Vigilante a replaceable role and combat strength derived from nearby Followers.
status: done
---
# US-008: Support the Vigilante and Followers
As the **Vigilante**, I want nearby living Followers to strengthen me against the Tyrant so that coordinated resistance is rewarded.
## Acceptance criteria
- [x] Exactly one active Vigilante exists while the game is running whenever an eligible player is available.
- [x] The Vigilante can invite eligible opted-in players to become Followers, and recruitment requires acceptance.
- [x] The Vigilante can dismiss Followers and Followers can leave voluntarily.
- [x] While actively fighting the Tyrant, the Vigilante gains one potion level each of Strength and Resistance per living Follower in the same world within 50 blocks.
- [x] Offline, dead, opted-out, dismissed, or out-of-range Followers do not count.
- [x] A Vigilante or Follower may simultaneously hold one Tyrant-side class without losing Vigilante-side membership.
- [x] Effect levels update promptly as combat starts or ends and as Followers move, die, respawn, disconnect, or change assignment.
- [x] Scaling is capped by validated configuration, defaulting to Strength V and Resistance IV.
- [x] Every Vigilante death ends the assignment and triggers random replacement regardless of cause.
- [x] The deceased Vigilante is excluded when another eligible non-Tyrant candidate exists and is reused only when no such candidate exists.
- [x] Followers are cleared rather than transferred when their Vigilante dies or loses the position.
- [x] The Tyrant is never eligible to be selected as Vigilante.
## Related
- [Role and class model](../concepts/role-and-class-model.md)
- [Handle inactivity and pending selections](us-010-handle-inactivity-and-selection.md)