Prototype Bene Gesserit Nexus Voice betrayal response
This commit is contained in:
1 parent
22a81c6f7a
commit
8956cf0be7
10 files changed
+384
-11
No files matched your search
@@ -2163,6 +2163,14 @@ export function GameTable({
|
||||
A private Emperor Nexus Betrayal may suppress it without moving starred forces.
|
||||
</p>
|
||||
)}
|
||||
{g.response.kind === 'voice' &&
|
||||
g.nexusCards &&
|
||||
g.players.some((player) => player.id === g.response?.owner && player.faction === 'beneGesserit') && (
|
||||
<p className="notice">
|
||||
Every seat may respond to this Voice before plans are sealed.
|
||||
A private Bene Gesserit Nexus Betrayal may prevent it.
|
||||
</p>
|
||||
)}
|
||||
{g.response.kind === 'revivalIncome' &&
|
||||
g.response.amount !== undefined && (
|
||||
<p className="notice">
|
||||
@@ -2214,8 +2222,12 @@ export function GameTable({
|
||||
</Button>
|
||||
))}
|
||||
{(g.responseControls?.cancelCards.length ||
|
||||
(g.response.kind === 'eliteStrength' && g.nexusCards &&
|
||||
g.players.some((player) => player.id === g.response?.owner && player.faction === 'emperor'))) &&
|
||||
(g.nexusCards && (
|
||||
(g.response.kind === 'eliteStrength' &&
|
||||
g.players.some((player) => player.id === g.response?.owner && player.faction === 'emperor')) ||
|
||||
(g.response.kind === 'voice' &&
|
||||
g.players.some((player) => player.id === g.response?.owner && player.faction === 'beneGesserit'))
|
||||
))) &&
|
||||
!g.responseControls?.hasPassed ? (
|
||||
actionButton('Allow this power', { type: 'passResponse' })
|
||||
) : (
|
||||
|
||||
@@ -158,6 +158,19 @@ export function NexusCards({ game, act, busy }: { game: GameView; act: (action:
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
{game.nexusBgBetrayal && offer.card === 'beneGesserit' && (
|
||||
<div aria-label="Bene Gesserit Nexus Betrayal" className="space-y-2">
|
||||
<h4>Bene Gesserit Betrayal · Voice</h4>
|
||||
<p className="fine">
|
||||
Spend your Nexus card to prevent this declared Voice before battle
|
||||
plans are sealed. Prescience and other battle powers still proceed.
|
||||
</p>
|
||||
<Button className="game-action min-h-11 whitespace-normal" disabled={busy}
|
||||
onClick={() => act({ type: 'nexusBgBetrayal', event: game.nexusBgBetrayal!.event })}>
|
||||
Prevent Voice with Betrayal
|
||||
</Button>
|
||||
</div>
|
||||
)}
|
||||
<NexusEmperorSecretAlly game={game} act={act} busy={busy} />
|
||||
<NexusFremenRevival game={game} act={act} busy={busy} />
|
||||
<div aria-label="Your private Nexus card" className="max-w-xl">
|
||||
|
||||
Reference in new issue
Block a user