From 89386af95b80ad461cfa6ae5629a71ea7f2db7f0 Mon Sep 17 00:00:00 2001 From: Quintine <15965533+Quintine@users.noreply.github.com> Date: Thu, 29 Oct 2026 03:55:42 +1100 Subject: [PATCH] Add Basic group alliance preview to lobby --- components/game-table.tsx | 15 +++ docs/CURRENT_STATUS.md | 13 ++- docs/OPTIONAL_ALLIANCE_VICTORY.md | 26 +++++ game/engine.ts | 36 +++++-- game/reference.ts | 5 +- tests/coalition-preview-controls.test.tsx | 63 +++++++++++ tests/coalition-preview-lobby.test.ts | 125 ++++++++++++++++++++++ 7 files changed, 273 insertions(+), 10 deletions(-) create mode 100644 tests/coalition-preview-controls.test.tsx create mode 100644 tests/coalition-preview-lobby.test.ts diff --git a/components/game-table.tsx b/components/game-table.tsx index ec9ca572..3e623dc1 100644 --- a/components/game-table.tsx +++ b/components/game-table.tsx @@ -2131,6 +2131,9 @@ export function GameTable({ {g.status === 'playing' && g.shortAllianceVictory &&

Optional alliance rule: a two-member alliance wins with three strongholds when at least three people or AI controllers are playing. Two-controller games retain their four-stronghold target.

} + {(g.status === 'playing' || g.status === 'setup') && g.coalitionPreview !== 'off' &&

+ Group alliances are an unfinished preview. Some faction powers and interactions are incomplete; this game does not certify the full optional rules. +

} {g.status === 'playing' && } {g.status === 'playing' && } {g.status === 'playing' && act({type: 'shortAllianceVictory', enabled: e.target.checked})} /> Optional: two-member alliances win with three strongholds (three or more controllers) + + {g.coalitionPreview !== 'off' &&

+ This incomplete preview needs three to six classic factions in Basic rules, without expansion decks, other optional modules, two-person setup or the separate short-alliance setting. Some powers and interactions remain unfinished. Changing the selection clears human readiness. +

}