End of Bidding
Optional card actions remain available until everyone below is ready. A
new action clears readiness so the table can respond to the change.
{end.owners.map((id) => (
-
{g.players.find((p) => p.id === id)?.name}:{' '}
{end.ready.includes(id) ? 'Ready' : 'Choosing'}
))}
{kaitain && (
<>
Kaitain paid discards
Pay 2 spice per chosen Treachery Card. Discarding a card does not
play its effect.
{!end.kaitain!.eligible && (
Kaitain must have high population to use paid discards.
)}
{me.hand?.map((card) => (
))}
{heldSelection.length} selected · {choice.cost} spice · You have{' '}
{me.spice ?? 0} spice.
{choice.blocked && {choice.blocked}
}
>
)}
{market && (
<>
CHOAM card market
Sales reveal the card and give the table a Karama response. Trade
offers stay private to you and your ally.
{market.worthlessSaleBlocked && (
{market.worthlessSaleBlocked}
)}
{market.sales?.map((sale) => (
))}
{!market.sales?.length && (
No eligible sales remain this phase.
)}
{market.canTrade && (
<>
Offer your ally a card
{me.hand?.map((card) => (
))}
>
)}
>
)}
{end.owners.includes(g.me) && (
)}
);
}