Preserve Ghola promises during Box selection
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 17:52:25 +11:00
1 parent bdd5aaf18c
commit 4224bb3e2a
4 files changed
+34 -2

No files matched your search

+9 -2
View File
@@ -98,8 +98,15 @@ void test('two named Ghola Yes answers reuse one physical card through the paid
assert.ok(recovery, 'The owner receives the next Box preparation');
assert.equal(recovery.action.type, 'card'); assert.equal(recovery.action.card, f.box);
game = act(game, f.target, recovery.action);
if (game.decision?.kind === 'nullentropy')
game = act(game, f.target, {type:'decision', event:viewGame(game, f.target).nullentropy!.search!.event, card:f.ghola});
assert.equal(game.decision?.kind, 'nullentropy');
const search = viewGame(game, f.target).nullentropy!.search!;
assert.ok(search);
const alternative = search.cards.find(card => card.id !== f.ghola);
assert.ok(alternative, 'The paid search must also contain an independently eligible non-Ghola card');
reject(game, f.target, {type:'decision', event:search.event, card:alternative.id});
assert.equal(viewGame(game, f.target).nullentropy!.search!.event, search.event,
'Rejecting an evasion keeps the already-paid search available');
game = act(game, f.target, {type:'decision', event:search.event, card:f.ghola});
game = advance(game, clean);
assert.ok(player(game, f.target).hand.some(card => card.id === f.ghola));
const secondGuide = viewGame(game, f.target).gholaLeaderPromiseGuide;