Add Basic group alliance preview to lobby
Verify and publish checkpoint container / container (push) Successful in 10m49s

This commit is contained in:
Quintine committed 2026-10-29 03:55:42 +11:00
1 parent 44e7cf8001
commit 89386af95b
7 files changed
+273 -10

No files matched your search

+15
View File
@@ -2131,6 +2131,9 @@ export function GameTable({
{g.status === 'playing' && g.shortAllianceVictory && <p className="notice">
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.
</p>}
{(g.status === 'playing' || g.status === 'setup') && g.coalitionPreview !== 'off' && <p className="notice">
Group alliances are an unfinished preview. Some faction powers and interactions are incomplete; this game does not certify the full optional rules.
</p>}
{g.status === 'playing' && <MixedTraitorPromises game={g} />}
{g.status === 'playing' && <TravelPromises game={g} busy={busy} act={act} />}
{g.status === 'playing' && <TurnActionPromises game={g} busy={g.semutaReaction &&
@@ -2280,6 +2283,18 @@ export function GameTable({
onChange={(e) => act({type: 'shortAllianceVictory', enabled: e.target.checked})} />
Optional: two-member alliances win with three strongholds (three or more controllers)
</label>
<label>Group alliances · unfinished preview
<select value={g.coalitionPreview} disabled={busy || g.host !== me.id}
onChange={(e) => act({ type: 'coalitionPreview', variant: e.target.value })}>
<option value="off">Off</option>
<option value="three">Up to three members · four strongholds</option>
<option value="three-short">Up to three members · three strongholds</option>
<option value="unlimited">Unlimited members · three strongholds</option>
</select>
</label>
{g.coalitionPreview !== 'off' && <p className="notice">
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.
</p>}
<label className="checkbox-row">
<input
type="checkbox"