Support Sapho ordering for shared arrivals
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 05:29:51 +11:00
1 parent b18a767470
commit e457478f7d
18 files changed
+808 -23

No files matched your search

+2 -2
View File
@@ -3,7 +3,7 @@ import type { Action, Game } from '../game/engine';
import { validateAmbassadors } from '../game/ecaz-ambassadors';
import { fremenAmbassadorMovement } from '../game/fremen-ambassador';
import { actSemutaArrivalOverlap as act, createSemutaArrivalOverlapFixture,
inventory, player } from './fixture-semuta-arrival-overlap';
inventory, player, passArrivalOrder } from './fixture-semuta-arrival-overlap';
export { act, inventory, player };
@@ -37,7 +37,7 @@ export type SemutaOverlapChildFixture = ReturnType<typeof createSemutaOverlapChi
/** The real paid Guild arrival opens both original opportunities; the Fremen
* Ambassador then moves one existing Ecaz force into that same stronghold. */
export function openSemutaOverlapChild(f: SemutaOverlapChildFixture): Game {
let game = act(f.game, f.arrivalStep.actor, f.arrivalStep.action);
let game = passArrivalOrder(act(f.game, f.arrivalStep.actor, f.arrivalStep.action));
assert.equal(game.pendingArrivalOverlap?.first, 'ambassador');
const entry = game.pendingAmbassador; assert.ok(entry && entry.stage === 'offer');
assert.equal(entry.token, f.fremenToken);