Files
spigot-tyrant/design/log.md
T
dmg 7bfdf01d10
CI / build (push) Successful in 3m20s
Release / release (push) Successful in 4m10s
build(project): scaffold plugin delivery
2026-08-14 22:20:22 -04:00

30 lines
2.1 KiB
Markdown

---
type: Log
title: Spigot Tyrant Design Log
description: Chronological record of material decisions affecting the Spigot Tyrant design.
---
# Spigot Tyrant Design Log
## 2026-08-14 — Build and release foundation completed
- Completed US-013 with a Java 17 Gradle build, Spigot 26.2 API, strict compiler linting, JUnit 5 and Mockito dependencies, plugin metadata, and a minimal plugin entrypoint.
- Added Gitea push and pull-request CI, conventional-commit validation, development artifacts, semantic versioning, and versioned Gitea release assets modeled on `../spigot-base/`.
- Verified `./gradlew clean check jar`, a release-version `1.2.3` JAR and embedded plugin version, workflow delivery settings, and OKF conformance.
## 2026-08-14 — Build and release implementation started
- Approved implementation begins with US-013 and a test-driven Java 17, Gradle, Spigot, and Gitea Actions foundation modeled on `../spigot-base/`.
## 2026-08-14 — Initial game design
- The game has one Tyrant and one Vigilante, with Followers aligned to the Vigilante and Assassin, Fixer, and Tamer classes assigned by the Tyrant.
- A player who kills the Tyrant becomes the next Tyrant; a Tyrant death without a player killer causes random succession among recently active eligible players.
- Every Tyrant death clears all class and Follower assignments and resets the former Tyrant's reign progression.
- Every Vigilante death rerolls the role among eligible players active in the preceding 24 hours. The previous Vigilante is reused only when no other eligible non-Tyrant player exists.
- A Tyrant levels and earns one unlock choice only by personally killing the Vigilante.
- Class abilities use named bound items where appropriate. Consumed cooldown items return when ready, and `/tyrant item` recovers missing ready items.
- The Tamer has no cooldown and uses a named fishing rod plus a separate captured-mob item.
- Game timers freeze while administratively paused.
- The project will follow the Java 17, Gradle, testing, Gitea CI, and semantic-release structure demonstrated by `../spigot-base/`.