28 lines
1.4 KiB
TypeScript
28 lines
1.4 KiB
TypeScript
import { smugglerShipmentGame } from './smuggler-shipment-fixture';
|
|
import type { Action } from '../game/engine';
|
|
|
|
/** Genuine Leader Skills setup, followed by a conserved post-Nexus ride position. */
|
|
export function sandmasterWormGame(advanced = false, intrusion = false, independent = false) {
|
|
const g = smugglerShipmentGame('fremen', advanced, 'sandmaster', intrusion ? 'beneGesserit' : 'guild', [], independent);
|
|
const own = g.players[0];
|
|
own.name = 'Sandmaster rider';
|
|
own.forces = { 'wind_pass:14': 2, 'wind_pass:15': 2 };
|
|
own.reserves = 16; own.spice = 5; own.moved = 1;
|
|
if (own.elites) own.elites = { forces: { 'wind_pass:14': 1, 'wind_pass:15': 1 }, reserves: 1, tanks: 0, revived: 0 };
|
|
Object.assign(g, { phase: 1, nexus: true, spiceSequence: { pile: 1, skipped: [] },
|
|
wormRides: [], movementRemaining: null, decision: { kind: 'wormRide', player: 'p', territory: 'wind_pass' },
|
|
spice: { 'wind_pass:14': 7, 'red_chasm:7': 2 } });
|
|
if (intrusion) {
|
|
const bg = g.players[1];
|
|
bg.forces = { 'red_chasm:7': 1 }; bg.reserves = 19;
|
|
bg.advisors = {};
|
|
}
|
|
return g;
|
|
}
|
|
export function sandmasterRide(collect: boolean | undefined = true): Action {
|
|
return { type: 'decision', accept: true, territory: 'red_chasm', sector: 7,
|
|
forces: { 'wind_pass:14': 2, 'wind_pass:15': 2 },
|
|
eliteForces: { 'wind_pass:14': 1, 'wind_pass:15': 1 },
|
|
...(collect === undefined ? {} : { sandmasterCollect: collect }) };
|
|
}
|