18 lines
886 B
TypeScript
18 lines
886 B
TypeScript
import {applyAction,type Game} from '../game/engine';
|
|
import type {MixedShipmentExpression} from '../game/mixed-shipment-question';
|
|
import {compoundShipmentGame,openCompoundShipmentQuestion} from './fixture-compound-shipment';
|
|
|
|
/** Genuine base setup, then the existing labelled conserved shipment position. */
|
|
export function mixedShipmentGame(): Game {
|
|
return compoundShipmentGame();
|
|
}
|
|
export function askMixedShipment(game: Game, mixed: MixedShipmentExpression): Game {
|
|
return applyAction(openCompoundShipmentQuestion(game),game.players[1].id,{
|
|
type:'truthAsk',question:{kind:'mixedShipment',target:game.players[0].id,mixed},
|
|
});
|
|
}
|
|
export function mixedSpiceShipment(kind:'and'|'or',compare:'gte'|'lte',value:number): MixedShipmentExpression {
|
|
return {kind,terms:[{kind:'fact',fact:{kind:'spice',compare,value}},
|
|
{kind:'shipment',territory:'arrakeen',minimum:4}]};
|
|
}
|