Implement Grumman collection and private stacked Terror choices
Add conserved token collection with four bank spice, owner-only stack selection, recovery proofs, controls and AI. Preserve unresolved removal and expansion release gates. Verified 3712 offline cases, types, lint, production build, 40 HTTP cases, three-seat desktop/mobile play, and unchanged 3081 preexisting saved games.
This commit is contained in:
1 parent
28ba1618ba
commit
1db11a0187
27 files changed
+2451
-43
No files matched your search
@@ -1,6 +1,7 @@
|
||||
import { biddingEndActions, choamMarketPolicy } from './bidding-end-options';
|
||||
import { homeworldRevivalActionBlock, homeworldRevivalDeploymentActions } from './homeworld-revival-deployment-options';
|
||||
import { caladanReinforcementActions } from './caladan-reinforcement-options';
|
||||
import { grummanCollectionActions } from './grumman-collection-options';
|
||||
import { botHomeworldShipmentPaymentAllowed } from './homeworld-payment-options';
|
||||
import { guildHomeworldShipmentActions } from './guild-homeworld-shipment-options';
|
||||
import { choamSaleGholaTiming } from './choam-market-ghola';
|
||||
@@ -1471,6 +1472,10 @@ function policyActions(g: GameView): Action[] {
|
||||
if (d.kind === 'moritaniTerror') {
|
||||
const entry = g.terrorEntry;
|
||||
if (!entry) return [];
|
||||
if (entry.stage === 'select') {
|
||||
const candidate = entry.candidates?.find((candidate) => candidate.canReveal || candidate.canOfferAlliance);
|
||||
return [candidate ? { type: 'decision', token: candidate.token } : { type: 'decision', decline: true }];
|
||||
}
|
||||
if (entry.stage === 'allianceReply') {
|
||||
const moritani = g.players.find(
|
||||
(player) => player.faction === 'moritani',
|
||||
@@ -2378,6 +2383,8 @@ function policyActions(g: GameView): Action[] {
|
||||
return homeworldRevivalDeploymentActions(g);
|
||||
if (d.kind === 'caladanReinforcement')
|
||||
return caladanReinforcementActions(g);
|
||||
if (d.kind === 'grummanCollection')
|
||||
return grummanCollectionActions(g);
|
||||
if (d.kind === 'battleCards')
|
||||
return [
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user