Apply supplied Advanced Ixian Technology Richese-lot exclusion

This commit is contained in:
Quintine committed 2026-10-08 16:35:13 +11:00
1 parent 0315917987
commit 4ed6beb33a
16 files changed
+40 -1356

No files matched your search

-5
View File
@@ -11,7 +11,6 @@ import { DrawPiles } from './draw-piles';
import { HandBrowser } from './hand-browser';
import { LobbyBotControls } from './lobby-bot-controls';
import { AdvancedPreviewNotice, RulesetControls } from './ruleset-controls';
import { IxRicheseTechnology } from './ix-richese-technology';
import { EcazOccupyLeadChoice, EcazOccupyBattleSummary, EcazOccupyDialExplanation } from './ecaz-occupy';
import { ecazOccupyOwnProfile, ecazOccupyPlanControl } from '@/game/ecaz-occupy-options';
import { nexusGuildCunningAction, nexusGuildCunningActive, nexusGuildMovementAvailable, nexusGuildShipmentAvailable, nexusGuildSkipShipmentAction } from '@/game/nexus-guild-cunning-options';
@@ -2514,8 +2513,6 @@ export function GameTable({
<h2>
{g.decision.kind === 'ecazBattleLead'
? 'Ecaz · choose the combined-army lead'
: g.decision.kind === 'ixRicheseTechnology'
? 'Ixian Technology · Richese lot'
: g.decision.kind === 'caladanReinforcement'
? 'Caladan victory reinforcement'
: g.decision.kind === 'grummanCollection'
@@ -2792,8 +2789,6 @@ export function GameTable({
act={act}
busy={busy}
/>
) : g.decision.kind === 'ixRicheseTechnology' ? (
<IxRicheseTechnology game={g} act={act} busy={busy} />
) : g.decision.kind === 'richeseBlackMarket' ||
g.decision.kind === 'richeseDeclaration' ||
g.decision.kind === 'richeseCache' ||
-51
View File
@@ -1,51 +0,0 @@
'use client';
import type { Action, GameView } from '@/game/engine';
import { Button } from './ui/button';
export function IxRicheseTechnology({
game,
act,
busy,
}: {
game: GameView;
act: (action: Action) => void;
busy: boolean;
}) {
const offer = game.ixRicheseTechnology;
if (
!offer ||
offer.player !== game.me ||
game.decision?.kind !== 'ixRicheseTechnology' ||
game.decision.player !== game.me ||
game.decision.event !== offer.event
)
return null;
return (
<section
className="flex flex-col gap-4"
aria-label="Ixian Technology on a Richese lot"
>
<p>
Richese is offering a{' '}
{offer.source === 'cache' ? 'cache' : 'Black Market'} card. Bidding will
begin after you decline Technology for this lot.
</p>
<p className="notice">{offer.exchangeBlocked}</p>
<p>
Declining leaves your once-per-round Technology use available for later
lots. Your hand and the offered card stay unchanged.
</p>
<Button
className="min-h-11 whitespace-normal"
disabled={busy}
onClick={() => {
if (!busy)
act({ type: 'decision', event: offer.event, decline: true });
}}
>
Decline Technology for this lot
</Button>
</section>
);
}