Files
Dune/game/richese-reveal-foreign-movement.ts
T
Quintine ab7a947833
Verify and publish checkpoint container / container (push) Successful in 10m49s
Support bribes during Basic movement decisions
2026-10-29 10:19:31 +11:00

18 lines
881 B
TypeScript

import type { Game } from './engine';
import { basicPendingMovement, type MovementPending } from './basic-pending-movement';
/**
* Revealing Richese's existing marker during a different player's ordinary
* movement cannot add an occupying faction to the declared destination. The
* caller retains its common profile and Truthtrance/commitment guards.
*/
export function richeseRevealForeignMovementPending(g: Game): MovementPending | null {
if (!Array.isArray(g.players)) return null;
const richese = g.players.find(player => player.faction === 'richese');
const deployed = richese?.noField?.deployed;
if (!richese || !deployed || deployed.controller !== richese.id ||
!deployed.location || !('territory' in deployed.location)) return null;
const movement = basicPendingMovement(g);
return movement && movement.player !== richese.id ? movement.key : null;
}