Fix marker transfer CI fixture funding
Verify and publish checkpoint container / container (push) Failing after 6m26s
Verify and publish checkpoint container / container (push) Failing after 6m26s
This commit is contained in:
1 parent
e457478f7d
commit
68643925e7
3 files changed
+27
-5
No files matched your search
@@ -53,9 +53,9 @@ void test('authenticated marker transfer retains its hidden identity between for
|
||||
if (until(currentOwner)) return currentOwner;
|
||||
assert.notEqual(currentOwner.status, 'finished', 'The QA game ended before marker transfer.');
|
||||
|
||||
// Atreides sends its actual reserves away from its World, so the
|
||||
// concealed marker can remain there through the next Battle phase.
|
||||
if (currentOwner.status === 'playing' && currentOwner.phase === 5 && currentOwner.active === hostSeat.id &&
|
||||
// Empty Caladan once before the marker arrives; later turns do not need
|
||||
// another all-reserve shipment, even if a new revival adds reserves.
|
||||
if (!firstMarkerPlaced && currentOwner.status === 'playing' && currentOwner.phase === 5 && currentOwner.active === hostSeat.id &&
|
||||
!currentOwner.response && !currentOwner.decision && !currentOwner.phaseOpening &&
|
||||
!currentOwner.truthtrance) {
|
||||
const at = await read(hostSeat.cookie);
|
||||
@@ -89,8 +89,20 @@ void test('authenticated marker transfer retains its hidden identity between for
|
||||
const local = structuredClone(own);
|
||||
const self = local.players.find(player => player.id === seat.id); assert.ok(self);
|
||||
self.bot = 'Easy'; // Client-side adapter only; authoritative seat stays human.
|
||||
if (seat.id === hostSeat.id && self.hand) {
|
||||
// Keep optional Ghola out of this local selector so it cannot return
|
||||
// native forces while the marker waits. The server hand is untouched.
|
||||
self.hand = self.hand.filter(card => card.effect !== 'ghola');
|
||||
}
|
||||
const choices = botActions(local);
|
||||
if (choices.length) { proposed = { cookie: seat.cookie, actor: seat.id, action: choices[0] }; break; }
|
||||
if (choices.length) {
|
||||
// Decline optional Revival to keep the original evacuation funded
|
||||
// and Caladan empty while the physical marker is there.
|
||||
const action = seat.id === hostSeat.id && own.phase === 4
|
||||
? choices.find(candidate => candidate.type === 'ready') ?? choices[0]
|
||||
: choices[0];
|
||||
proposed = { cookie: seat.cookie, actor: seat.id, action }; break;
|
||||
}
|
||||
}
|
||||
assert.ok(proposed, `No native continuation at ${currentOwner.status}/${currentOwner.phase}/${currentOwner.decision?.kind ?? 'no decision'}.`);
|
||||
if (view.response && !view.response.passed.includes(view.me)) proposed.action = { type: 'passResponse' };
|
||||
|
||||
Reference in new issue
Block a user