Open Tleilaxu special Karama throughout Revival
Permit native Advanced quiet any-player declarations alongside the original target-bound pending request. Preserve completed returns and charges. Adopt explicit provisional Ghola inclusion during the remaining Revival and phase expiry; keep printed Emperor special immunity and the existing low-Homeworld guard. Connect persistent controls and minimal legal bots through the shared quote. Validation: 14 related files148/148, types/lint/build, six actual native control/engine/GameTable SSR journeys and four existing-profile continuations. Private-driver-only feedback reuses passed source-identical checks. Native111/113-action setup, paid shipment and battle sources earn originals. No saved-room/D1/restart/deployment operation; full modes and browser/deployed acceptance remain open.
This commit is contained in:
1 parent
6ea691255a
commit
1a505525a8
18 files changed
+977
-59
No files matched your search
@@ -136,7 +136,7 @@ void test('special Karama consumes one card once, aborts payment and prevents re
|
||||
});
|
||||
void test('ownership, actual Karama, window, target and decline validation reject immutably', () => {
|
||||
const idle = beforeRevival();
|
||||
assert.throws(() => prevent(idle), /declaration/);
|
||||
assert.throws(() => prevent(idle), /Expected a string/);
|
||||
const g = declare(idle);
|
||||
const snapshot = structuredClone(g);
|
||||
assert.throws(
|
||||
@@ -245,11 +245,13 @@ void test('allowing Emperor-funded revival preserves separate quota, correct pay
|
||||
assert.equal(g.players[0].revived, 0);
|
||||
assert.equal(g.players[0].tanks, 5);
|
||||
});
|
||||
void test('Ghola treachery and Emperor special Karama remain separate from blocked normal revivals', () => {
|
||||
let g = prevent(declare(beforeRevival()));
|
||||
void test('Ghola is prevented during Revival while Emperor special Karama retains printed immunity', () => {
|
||||
const g = prevent(declare(beforeRevival()));
|
||||
placeFixtureHand(g, 0, [ghola]);
|
||||
g = allow(applyAction(g, 'a', { type: 'card', card: ghola.id, amount: 5 }));
|
||||
assert.equal(g.players[0].tanks, 3);
|
||||
const before = structuredClone(g);
|
||||
assert.throws(() => applyAction(g, 'a', { type: 'card', card: ghola.id, amount: 5 }), /prevented.*Ghola/);
|
||||
assert.deepEqual(g, before);
|
||||
assert.equal(g.players[0].tanks, 8);
|
||||
assert.equal(g.players[0].revived, 0);
|
||||
let emperor = beforeRevival();
|
||||
emperor.players[1].tanks = 5;
|
||||
|
||||
Reference in new issue
Block a user