Enable advanced ambassador child arrivals
Verify and publish checkpoint container / container (push) Successful in 10m16s
Verify and publish checkpoint container / container (push) Successful in 10m16s
This commit is contained in:
1 parent
22b463a395
commit
8a39f5a172
9 files changed
+288
-17
No files matched your search
@@ -6,7 +6,7 @@ import { createAmbassadors, placeAmbassador } from '../game/ecaz-ambassadors';
|
||||
import { createTerrorState, placeTerror } from '../game/moritani-terror';
|
||||
|
||||
/** Controlled Advanced Ecaz/Moritani table with original physical markers.
|
||||
* It isolates the pre-existing Advanced overlap gate, not a played setup or
|
||||
* It isolates Advanced overlap availability, not a played setup or
|
||||
* an assurance of every optional-module combination. */
|
||||
function advancedTable(effect: 'fremen' | 'guild'): Game {
|
||||
const game = createGame('OVERLAPADVANCEDGATE', newPlayer('ec','Ecaz','ecaz'), true, ['ecaz']);
|
||||
@@ -31,16 +31,11 @@ function advancedTable(effect: 'fremen' | 'guild'): Game {
|
||||
}
|
||||
|
||||
for (const effect of ['fremen','guild'] as const) {
|
||||
void test(`Advanced ${effect} Ambassador child stays gated during overlap`,()=>{
|
||||
void test(`Advanced ${effect} Ambassador child is offered during a native overlap`,()=>{
|
||||
const game = applyAction(advancedTable(effect),'in',{type:'ship',territory:'arrakeen',sector:10,amount:2});
|
||||
const entry = game.pendingAmbassador; assert.ok(entry);
|
||||
assert.equal(game.pendingArrivalOverlap?.first,'ambassador');
|
||||
const blocked = viewGame(game,'ec').ambassadorEntry?.beneficiaries[0].blocked;
|
||||
assert.match(blocked ?? '',/bare Basic faction preview/);
|
||||
const before = structuredClone(game);
|
||||
assert.throws(()=>applyAction(game,'ec',{type:'decision',event:entry.event,trigger:true,beneficiary:'ec'}),
|
||||
/bare Basic faction preview/);
|
||||
assert.deepEqual(game,before);
|
||||
assert.equal(viewGame(game,'ec').ambassadorEntry?.beneficiaries[0].blocked, null);
|
||||
let settled = applyAction(game,'ec',{type:'decision',event:entry.event,decline:true});
|
||||
assert.equal(settled.pendingTerrorEntry?.entrant,'in');
|
||||
settled = applyAction(settled,'m',{type:'decision',decline:true});
|
||||
|
||||
Reference in new issue
Block a user