From 921b4fe1e3d8ce7a86fc315eefed4845dc62557f Mon Sep 17 00:00:00 2001 From: Quintine <15965533+Quintine@users.noreply.github.com> Date: Mon, 26 Oct 2026 21:42:45 +1100 Subject: [PATCH] Add bids and ordinary Revival to combined turn commitments --- components/truthtrance.tsx | 8 +- components/turn-action-fields.tsx | 90 ++++- components/turn-action-promises.tsx | 17 +- docs/CURRENT_STATUS.md | 36 ++ docs/IMPLEMENTATION_STATUS.md | 38 +++ docs/RULE_DECISIONS.md | 16 + docs/TRUTHTRANCE_TURN_ACTIONS.md | 71 +++- game/engine.ts | 92 +++++- game/reference.ts | 17 +- game/truthtrance.ts | 16 +- game/turn-action-promises.ts | 174 +++++++++- tests/fixture-truth-turn-preparation.ts | 147 +++++++++ tests/truth-turn-action-controls.test.tsx | 90 ++++- tests/truth-turn-preparation-runtime.test.ts | 328 +++++++++++++++++++ tests/turn-action-promises.test.ts | 180 ++++++++++ 15 files changed, 1255 insertions(+), 65 deletions(-) create mode 100644 tests/fixture-truth-turn-preparation.ts create mode 100644 tests/truth-turn-preparation-runtime.test.ts diff --git a/components/truthtrance.tsx b/components/truthtrance.tsx index f93404b2..5b8cc3e3 100644 --- a/components/truthtrance.tsx +++ b/components/truthtrance.tsx @@ -200,7 +200,7 @@ export function Truthtrance({ const [fact, setFact] = useState({ kind: 'hand', name: 'Shield' }); const factId = useId(); const leaderName = (id: string) => - id === CHEAP_HERO_TRAITOR + id === 'kwisatz' ? 'Kwisatz Haderach' : id === CHEAP_HERO_TRAITOR ? 'Cheap Hero / Heroine' : (g.allLeaders.find((l) => l.id === id)?.name ?? id); const name = (id: string) => g.players.find((p) => p.id === id)!.name; @@ -581,7 +581,7 @@ export function Truthtrance({ - +