Support Kull phase bids with Richese
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 00:22:11 +11:00
1 parent f667383565
commit bf73c41ae0
12 files changed
+222 -14

No files matched your search

+6 -2
View File
@@ -4,6 +4,8 @@ import { viewGame, type Game } from '../game/engine';
import { DIFFICULTIES } from '../game/bot-profiles';
import { botActions } from '../game/bots';
import { phaseBidPromiseModeSupported } from '../game/turn-bid-promises';
import { bidPromiseModeSupported } from '../game/bid-promises';
import { bribePromiseModeSupported } from '../game/bribe-promises';
import { act, advance, clean, createKullBribeFixture, inventory, player } from './fixture-kull-bribe';
/** The fixture selects physical cards in the unopened deal; the Truthtrance,
@@ -68,10 +70,12 @@ void test('pre-bidding phase Yes cannot rely on an unfunded Karama bid in Kull p
assert.deepEqual(inventory(game), f.originalCards);
});
void test('phase-wide Kull questions remain fenced with native Richese and Semuta', () => {
void test('phase-wide Kull questions admit the supported native Richese and Semuta profile', () => {
const scope = {advanced:false, expansions:['choam','ix'], kullPreview:true,
semutaPreview:true, players:[{faction:'choam'}, {faction:'richese'}]};
assert.equal(phaseBidPromiseModeSupported(scope), false);
assert.equal(phaseBidPromiseModeSupported(scope), true);
assert.equal(bidPromiseModeSupported(scope), false);
assert.equal(bribePromiseModeSupported(scope), false);
});
void test('phase-wide Yes survives a real Kull interception and completes its original bid', () => {