import { faction } from '@/game/catalog'; import { territory } from '@/game/board'; import type { StrongholdProgress } from '@/game/victory-progress'; import type { FremenVictoryProgress } from '@/game/fremen-victory'; export function VictoryProgress({ progress, players, fremen, }: { progress: readonly StrongholdProgress[]; players: readonly { id: string; faction: string }[]; fremen?: FremenVictoryProgress | null; }) { if (!progress.length) return null; const rows = progress.filter((row) => row.player === row.members[0]); return (
Stronghold victory progress

Current board, evaluated at the Mentat victory check. Battles and other effects may change these holdings. A correct Bene Gesserit prediction can replace a stronghold victory.

{fremen && (

Fremen final-turn victory

At the end of turn ten, if nobody has a stronghold victory, these conditions let Fremen and its ally win before Guild. A Bene Gesserit prediction cannot replace this special victory.

{fremen.qualifies ? 'Fremen’s special conditions are met on this board. They award victory only at the final-turn check.' : 'Fremen’s special conditions are not met on this board.'}

)}
); }