Enable Basic Kull by default and suspend Sapho turns
This commit is contained in:
1 parent
f96183f350
commit
e9154a90f1
20 files changed
+669
-27
No files matched your search
@@ -2217,6 +2217,16 @@ export function GameTable({
|
||||
When Richese is seated, structured bid, alliance, Revival and bribe commitments are unavailable,
|
||||
and some Kull reactions may be unavailable in complex response windows.
|
||||
</p>}
|
||||
{g.lobbyModules?.kullDefault && <p className="notice">
|
||||
{g.lobbyModules.kullPreview
|
||||
? 'Printed Kull is enabled by default for this supported Basic preview. The host can turn it off to retain the broader non-Kull Truthtrance options.'
|
||||
: 'The host has turned off the printed Kull preview. Broader non-Kull Truthtrance options remain available.'}
|
||||
</p>}
|
||||
{!g.lobbyModules?.kullDefault && !g.lobbyModules?.kullPreview &&
|
||||
g.expansions.includes('choam') && g.expansions.includes('ix') &&
|
||||
g.players.some(player => player.faction === 'choam') && <p className="notice">
|
||||
Printed Kull is inactive in this lobby. Its preview requires the supported Basic configuration and may need different module selections.
|
||||
</p>}
|
||||
<label className="checkbox-row">
|
||||
<input
|
||||
type="checkbox"
|
||||
|
||||
@@ -11,7 +11,7 @@ function unavailableReason(game: GameView) {
|
||||
if (game.status !== 'playing')
|
||||
return 'Order changes are available during play.';
|
||||
if (game.phase === 5)
|
||||
return 'Movement order supports clean combined-turn boundaries and queuing behind a started active turn. The active player finishes unchanged; only later unstarted turns can be reordered. Finish pending interactions and preparations first: Sapho never splits an active combined shipment and movement turn. The Advanced Guild retains its next timing choice; an already granted current Guild turn cannot be displaced, and last remains after the Guild. A Karama-locked privilege stays locked. Completed turns and actual shipment and movement counters stay unchanged. Already-held positions and committed cards remain unavailable.';
|
||||
return 'Movement order supports clean combined-turn boundaries and queuing behind a started active turn. In Basic, your own started turn may be paused at a clean boundary and resumed last, with spent actions retained. Finish pending interactions and preparations first. The Advanced Guild retains its next timing choice; an already granted current Guild turn cannot be displaced, and last remains after the Guild. A Karama-locked privilege stays locked. Completed turns and actual shipment and movement counters stay unchanged. Already-held positions and committed cards remain unavailable.';
|
||||
if (game.truthtrance || game.response || game.phaseOpening ||
|
||||
(game.decision && !(game.phase === 8 && game.decision.kind === 'moritaniExtortion')))
|
||||
return 'Finish the current interaction before changing turn order.';
|
||||
@@ -67,6 +67,7 @@ export function SaphoOrderButton({
|
||||
}}
|
||||
>
|
||||
{option.scope === 'battleAggressor' ? 'Become aggressor and discard Juice of Sapho' :
|
||||
option.scope === 'movement' && option.resumeOwn ? 'Resume your movement last and discard Juice of Sapho' :
|
||||
`${bidding ? 'Bid' : option.scope === 'battleOrder' ? 'Choose battles' : option.scope === 'extortion' ? 'Take your Extortion choice' : option.scope === 'revival' ? 'Take your Revival turn' : option.scope === 'charity' ? 'Take your Charity turn' : 'Take your movement turn'} ${option.mode} and discard Juice of Sapho`}
|
||||
</Button>
|
||||
);
|
||||
@@ -113,6 +114,7 @@ export function JuiceOfSapho({
|
||||
const extortion = option.scope === 'extortion';
|
||||
const revival = option.scope === 'revival';
|
||||
const charity = option.scope === 'charity';
|
||||
const resumeOwn = option.scope === 'movement' && option.resumeOwn;
|
||||
const afterCurrent = (option.scope === 'movement' || revival || charity) && option.afterCurrent;
|
||||
const currentPlayer = afterCurrent
|
||||
? game.players.find(player => player.id === afterCurrent)?.name ?? 'The active player'
|
||||
@@ -151,7 +153,9 @@ export function JuiceOfSapho({
|
||||
</p>
|
||||
))}
|
||||
<p>
|
||||
{aggressor
|
||||
{resumeOwn
|
||||
? 'Pause your started turn and resume it last, after the other remaining players. Shipment and movement already used stay spent; no extra action is granted. This Basic timing is provisional.'
|
||||
: aggressor
|
||||
? 'Become this battle’s aggressor. You win ordinary ties; a Habbanya Stronghold advantage still takes precedence. The participants, committed plans and later battle choices stay unchanged.'
|
||||
: extortion
|
||||
? `Take your Extortion choice ${option.mode} among unanswered players. Earlier declines and Moritani’s five-spice bank collection remain. You may decline instead of paying; the first actual three-spice payment ends all offers.`
|
||||
|
||||
Reference in new issue
Block a user