Connect bounded Fremen Nexus worm-riding Betrayal

This commit is contained in:
Quintine committed 2026-09-29 19:48:43 +10:00
1 parent 66a427ab55
commit 54cbf4d06f
14 files changed
+457 -55

No files matched your search

+8
View File
@@ -3581,6 +3581,14 @@ export function GameTable({
: ' This blow is closed to Harvester.'}
</p>
)}
{g.phase === 1 &&
g.players.some((player) => player.faction === 'fremen' && player.fremenNexusWormBlocked) && (
<p className="notice">
Fremen Nexus Betrayal was spent before the spice blow.
Fremen cannot ride worms this turn; ordinary worm effects
and Nexus negotiations still resolve.
</p>
)}
{g.phase === 1 && g.nexus && !g.spiceWindow && (
<>
<p className="muted">
+8 -2
View File
@@ -16,11 +16,17 @@ export function NexusFremenBetrayal({ game, act, busy }: Props) {
<section aria-label="Fremen Nexus Betrayal" className="space-y-3 rounded-lg border border-[#a88b60]/50 p-3">
<h3>Fremen Nexus · Betrayal</h3>
<p>{nexusCardReference('fremen').betrayal}</p>
{fremen && <p className="fine">This bounded use suppresses {fremen.name}’s native two-territory movement advantage for the rest of this turn. Independent ornithopters remain available. Suppressing worm riding is not yet connected.</p>}
{fremen && <p className="fine">
{offer.mode === 'worm'
? `Declare before the first spice blow: ${fremen.name} cannot take ordinary or Cunning worm rides this turn. Worm destruction, survival, protection and Nexus still resolve.`
: `This use suppresses ${fremen.name}’s native two-territory movement advantage for the rest of this turn. Independent ornithopters remain available.`}
</p>}
{offer.blocked && <p className="notice">{offer.blocked}</p>}
<Button className="game-action min-h-11 whitespace-normal" disabled={busy || !action}
onClick={() => { if (!busy && action) act(action); }}>
Use Betrayal: suppress Fremen movement range
{offer.mode === 'worm'
? 'Use Betrayal: prevent worm riding this turn'
: 'Use Betrayal: suppress Fremen movement range'}
</Button>
</section>
);