feat(vigilante): add followers and combat scaling
Release / release (push) Successful in 3m7s
CI / build (push) Successful in 1m15s

This commit is contained in:
dmg
2026-08-14 23:01:10 -04:00
parent 96c0c0014c
commit 0371337a3e
18 changed files with 612 additions and 13 deletions
+11
View File
@@ -6,6 +6,17 @@ description: Chronological record of material decisions affecting the Spigot Tyr
# Spigot Tyrant Design Log
## 2026-08-14 — Vigilante and Followers completed
- Completed US-008 with `/vigilante` invitation, acceptance, dismissal, and leave flows while preserving independent Tyrant-side class assignments.
- Added Tyrant/Vigilante combat tracking and continuously refreshed Strength and Resistance based on living same-world Followers within the configurable 50-block range, capped at Strength V and Resistance IV by default.
- Every Vigilante death now awards progression only to the Tyrant killer, clears Followers, and applies normal recently-active replacement with previous-holder fallback.
- Verified membership, dual alignment, scaling and caps, role maintenance, command metadata, and death/progression components with the Gradle suite.
## 2026-08-14 — Vigilante and Follower implementation started
- US-008 begins with test-first invitation membership, death reroll and Tyrant reward integration, combat tracking, and proximity-scaled capped effects.
## 2026-08-14 — Participation completed
- Completed US-011 with `/tyrant status`, `optout`, `optin`, and confirmed `relinquish` flows plus comprehensive join messages for lifecycle, roles, classes, abilities, and cooldowns.
@@ -2,7 +2,7 @@
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: backlog
status: done
---
# US-008: Support the Vigilante and Followers
@@ -11,18 +11,18 @@ As the **Vigilante**, I want nearby living Followers to strengthen me against th
## Acceptance criteria
- [ ] Exactly one active Vigilante exists while the game is running whenever an eligible player is available.
- [ ] The Vigilante can invite eligible opted-in players to become Followers, and recruitment requires acceptance.
- [ ] The Vigilante can dismiss Followers and Followers can leave voluntarily.
- [ ] 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.
- [ ] Offline, dead, opted-out, dismissed, or out-of-range Followers do not count.
- [ ] A Vigilante or Follower may simultaneously hold one Tyrant-side class without losing Vigilante-side membership.
- [ ] Effect levels update promptly as combat starts or ends and as Followers move, die, respawn, disconnect, or change assignment.
- [ ] Scaling is capped by validated configuration, defaulting to Strength V and Resistance IV.
- [ ] Every Vigilante death ends the assignment and triggers random replacement regardless of cause.
- [ ] The deceased Vigilante is excluded when another eligible non-Tyrant candidate exists and is reused only when no such candidate exists.
- [ ] Followers are cleared rather than transferred when their Vigilante dies or loses the position.
- [ ] The Tyrant is never eligible to be selected as Vigilante.
- [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