Resolve direct advanced Sneak arrivals
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
8a39f5a172
commit
b79e448deb
8 files changed
+213
-8
No files matched your search
@@ -69,6 +69,20 @@ function ready(state: Game) {
|
||||
}
|
||||
const queuedRide = { kind: 'wormRide', player: 'in', territory: 'hagga_basin' } as const;
|
||||
|
||||
void test('Advanced worm Sneak shows the temporary positive-entry guard and preserves the ride on zero', () => {
|
||||
const { g } = table('sneakAttack');
|
||||
let state = wormRide(g);
|
||||
assert.match(viewGame(state, 'm').terrorEntry?.sneakAttack?.blocked ?? '', /worm ride/);
|
||||
state = action(state, 'm', {type:'decision', reveal:true});
|
||||
const before = structuredClone(state);
|
||||
assert.throws(() => action(state, 'm', {type:'decision', amount:1}), /worm ride/);
|
||||
assert.deepEqual(state, before);
|
||||
state = action(state, 'm', {type:'decision', amount:0});
|
||||
assert.equal(state.pendingArrivalOverlap?.stage, 'second');
|
||||
state = action(state, 'ec', {type:'decision', event:state.pendingAmbassador!.event, decline:true});
|
||||
assert.deepEqual(state.decision, queuedRide);
|
||||
});
|
||||
|
||||
void test('Terror first keeps Robbery overflow custody and the ordered arrival intact', () => {
|
||||
const { g, terror } = table('robbery');
|
||||
seat(g, 'm').hand = g.deck.splice(0, 4);
|
||||
|
||||
Reference in new issue
Block a user