The weapon licence, the peer line, and the steward gets his vest back

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-30 15:52:51 +02:00
1 parent 7e2649c888
commit 7d39032907
40 files changed
+62 -24

No files matched your search

+7 -7
View File
@@ -2296,19 +2296,19 @@ test('THE DUEL LEARNS: its skill ramps with the run, and game zero is the shippe
assert.ok(TUNE.racketQMax + TUNE.duelQBonus < 1, 'its returns never reach perfect quality');
});
test('THE TIN TIERS: the league deepens the duel pot, and league 5 pays double', () => {
test('THE WEAPON LICENCE: the league licenses, the run paces — tins and barrels agree, league 5 pays double', () => {
G.runGames = 0;
prof.prof.lg = 5;
assert.ok(!tinLadder().includes('laser'), 'even the top league waits for the run to reach lasers');
G.runGames = 12;
prof.prof.lg = 1;
assert.ok(!tinLadder().includes('laser') && !tinLadder().includes('rocket'),
'league one, game zero: the shipped pot');
'league one NEVER sees a laser, however deep the run — that was the barrel complaint');
prof.prof.lg = 3;
assert.ok(tinLadder().includes('laser') && !tinLadder().includes('rocket'),
'league three adds the laser, not the rocket');
'league three licenses the laser, not the rocket');
prof.prof.lg = 4;
assert.ok(tinLadder().includes('rocket'), 'league four adds the rocket');
prof.prof.lg = 1;
G.runGames = 12;
assert.ok(tinLadder().includes('laser'), 'the run\'s own barrel gates still work without a league');
assert.ok(tinLadder().includes('rocket'), 'league four licenses the rocket');
G.runGames = 0;
// the double tin: an empty rack, one delivery, twice the stock at league five
const stockOf = id => { const i = G.rack.findIndex(r => r.id === id); return i < 0 ? 0 : G.rack[i].n; };