Allow fresh Advanced native No-Field placement
Verify and publish checkpoint container / container (push) Canceled after 0s
Verify and publish checkpoint container / container (push) Canceled after 0s
This commit is contained in:
1 parent
9ca68c9ff8
commit
26d45ecf25
13 files changed
+201
-21
No files matched your search
@@ -0,0 +1,31 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { viewGame, type Game } from '../game/engine';
|
||||
import { richeseHomeworldMarkerChoice } from '../game/homeworld-shipment-options';
|
||||
import type { NoFieldValue } from '../game/richese-no-field';
|
||||
import {
|
||||
createRicheseHomeworldShipmentFixture,
|
||||
passRicheseHomeworldShipment,
|
||||
richeseHomeworldShipmentPlayer,
|
||||
} from './fixture-richese-homeworld-shipment';
|
||||
|
||||
export const owner = 'richese';
|
||||
export const native = 'homeworld:richese';
|
||||
export const pass = passRicheseHomeworldShipment;
|
||||
export const player = richeseHomeworldShipmentPlayer;
|
||||
|
||||
/** Public Richese/Emperor setup and actual shipment opportunity. The shared
|
||||
* fixture controls unopened card/spice ordering and obtains ordinary funding;
|
||||
* it does not stage the marker, forces, or an in-flight decision. */
|
||||
export function freshNativeMarkerFixture(advanced: boolean, value: NoFieldValue = 3) {
|
||||
const f = createRicheseHomeworldShipmentFixture({advanced, companions:1, value});
|
||||
const game = f.game;
|
||||
const view = viewGame(game, owner);
|
||||
const token = view.richeseNoField?.private?.tokens.find(row => row.value === value);
|
||||
assert.ok(token, 'The original hidden marker must be available');
|
||||
const quote = richeseHomeworldMarkerChoice(view, native, token.id, 0);
|
||||
return {game, view, token:token.id, quote};
|
||||
}
|
||||
|
||||
export function nativeMarkerQuote(game: Game, token: string) {
|
||||
return richeseHomeworldMarkerChoice(viewGame(game, owner), native, token, 0);
|
||||
}
|
||||
Reference in new issue
Block a user