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:
Quintine committed 2026-10-24 19:30:21 +11:00
1 parent 6ea691255a
commit 1a505525a8
18 files changed
+977 -59

No files matched your search

+8
View File
@@ -3,6 +3,7 @@ import { TERRITORIES } from './board';
import { harvesterAvailable, type Card } from './cards';
import type { FactionId } from './catalog';
import { choamSaleGholaTiming } from './choam-market-ghola';
import { revivalPrevented } from './revival';
export type OrdinaryCardEffect =
| 'weather'
@@ -26,6 +27,8 @@ export type OrdinaryCardPlayer = {
export type OrdinaryCardState = {
status: 'lobby' | 'setup' | 'playing' | 'finished';
phase: number;
turn?: number;
revivalPrevention?: { player: string; turn: number } | null;
active: string | null;
me: string;
nexusGuildCunning?: { active: { hajrAvailable: boolean } | null } | null;
@@ -102,6 +105,11 @@ export function ordinaryCardAvailability(
return blocked('Select a special card in your hand.');
switch (card.effect as OrdinaryCardEffect) {
case 'ghola':
if (revivalPrevented({ phase: state.phase, turn: state.turn ?? 0,
revivalPrevention: state.revivalPrevention ?? undefined }, own.id))
return blocked('Tleilaxu prevented this player’s revival, including Ghola, for the remaining Revival Phase.');
break;
case 'hajr':
if (
state.phase !== 5 ||