Compose native World cards with original phase modules
This commit is contained in:
1 parent
cda9338f13
commit
d6d71c7c02
18 files changed
+714
-39
No files matched your search
@@ -18,6 +18,9 @@ export { REINFORCEMENTS_CARD, HARASS_WITHDRAW_CARD };
|
||||
export type NativeWorldBattleStep = HarassHomeworldStep;
|
||||
export type NativeWorldBattleOptions = {
|
||||
advanced?: boolean;
|
||||
/** Original unused phase modules selected before native setup. */
|
||||
tech?: boolean;
|
||||
strongholds?: boolean;
|
||||
route?: 'ix-visitor' | 'ix-native' | 'choam-native';
|
||||
/** Actual first-turn export, not a reserve assignment. */
|
||||
exportNormal?: number;
|
||||
@@ -76,7 +79,7 @@ function conserveCard(game: Game, actor: string, id: string, staging: string[]):
|
||||
owner.hand.push(game.deck.splice(at, 1)[0]);
|
||||
staging.push(`Conserved original ${id}: undealt deck → ${actor}; not a purchase.`);
|
||||
}
|
||||
function conserveDancer(game: Game, identity: string, staging: string[]): void {
|
||||
export function conserveDancer(game: Game, identity: string, staging: string[]): void {
|
||||
const tleilaxu = nativeWorldBattlePlayer(game, 'tleilaxu');
|
||||
if (tleilaxu.faceDancers!.some(d => d.leader === identity)) return;
|
||||
const dancer = tleilaxu.faceDancers!.find(d => !d.revealed); assert.ok(dancer);
|
||||
@@ -96,7 +99,8 @@ function conserveDancer(game: Game, identity: string, staging: string[]): void {
|
||||
export function createNativeWorldBattleFixture(options: NativeWorldBattleOptions = {}): NativeWorldBattleFixture {
|
||||
const route = options.route ?? 'ix-visitor';
|
||||
const advanced = options.advanced ?? false;
|
||||
const setup = createIndependentCardModulesFixture({ advanced, homeworlds: true, tech: false, strongholds: false,
|
||||
const setup = createIndependentCardModulesFixture({ advanced, homeworlds: true,
|
||||
tech: options.tech ?? false, strongholds: options.strongholds ?? false,
|
||||
factions: route === 'choam-native' ? ['choam', 'guild', 'tleilaxu', 'ixians'] : ['ixians', 'tleilaxu', 'guild'],
|
||||
expansions: route === 'choam-native' ? ['ix', 'choam'] : ['ix'] });
|
||||
let game = setup.game;
|
||||
|
||||
Reference in new issue
Block a user