Enable Semuta in public Richese Skills games
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 09:27:53 +11:00
1 parent 1972622c11
commit b2b9a024bd
9 files changed
+285 -3

No files matched your search

+14 -1
View File
@@ -11013,6 +11013,18 @@ function lobbyModulesSelected(g: Game): boolean {
return !!g.lobbyOptions?.leaderSkills || !!g.lobbyOptions?.ecazTreachery || !!g.lobbyOptions?.kullPreview ||
!!g.nexusCards || g.discoveryEnabled === true || !!g.homeworlds;
}
/** Fresh public Richese + Skills entry, using the already connected Semuta
* continuation. Other family/module compositions retain their own entry. */
function publicSemutaSkillsProfile(g: Game): boolean {
return g.status === 'lobby' && typeof g.advanced === 'boolean' &&
g.players.length >= 2 && g.players.length <= 6 &&
g.expansions.length === 1 && g.expansions[0] === 'choam' && !!byFaction(g, 'richese') &&
g.players.every(p => p.faction === 'richese' || p.faction === 'choam' || CLASSIC_FACTIONS[p.faction] === true) &&
(!g.techTokens || g.players.length >= 3) && (!g.strongholdCards || g.advanced) &&
!g.twoPlayerControllers && !g.shortAllianceVictory && !g.coalitionPreview &&
!g.homeworlds && !g.nexusCards && !g.discoveryEnabled && !g.ecazTreachery &&
!g.leaderSkills && !g.kullPreview && !g.nexusKullPreview;
}
/** Route a normal start through the existing genuine setup for the selected modules. */
function startModules(state: Game): Game {
const options = state.lobbyOptions ?? {};
@@ -11038,7 +11050,8 @@ function startModules(state: Game): Game {
return initializeKullGameForAudit(g);
}
if (options.ecazTreachery && options.leaderSkills) g.ecazTreachery = true;
if (options.leaderSkills) return initializeLeaderSkillsGameForAudit(g);
if (options.leaderSkills) return publicSemutaSkillsProfile(g)
? initializeSemutaGameForAudit(g, true) : initializeLeaderSkillsGameForAudit(g);
// Keep this selection visible to its initializer even when another module was
// also selected; unsupported combinations must reject, not silently omit cards.
if (options.ecazTreachery) return initializeEcazTreacheryGameForAudit(g);
+2 -1
View File
@@ -1352,12 +1352,13 @@ export const RULE_TOPICS: RuleTopic[] = [
...(definition.card.effect === 'semutaDrug' ? [
'In supported Basic Moritani arrivals, Atomics may discard excess cards from Moritani and its ally. Semuta can privately select one card discarded by another player from that fresh batch. Losses, hand limits and Aftermath stay committed; the arrival resumes after claim or pass.',
'In fresh Basic games with Richese, classic opponents, the CHOAM deck and Tech Tokens, the existing Semuta preview is also enabled. Other module combinations remain separate; existing started games are not retrofitted.',
'Fresh Basic and Advanced Richese games with the CHOAM deck and Leader Skills now use the existing bounded Semuta reaction. Optional Tech Tokens require three seats; Advanced may also select Stronghold Cards. Supported discards retain their original continuations, while other discard sources remain unfinished. Existing games are not converted.',
'Fresh Advanced Richese preview games with only the CHOAM expansion deck and classic or CHOAM opponents enable Semuta reactions for supported ordinary Hajr, Ghola, Harvester and Weather Control discards, completed Box and Distrans, simple definite Truthtrance answers, clean Residual Poison, completed CHOAM sales, supported printed CHOAM Worthless costs and supported battle cleanup. Other discard parents and optional-module combinations remain unfinished. Existing games are not retrofitted.',
'Mandatory and winner battle discards also pause before native Advanced Harkonnen capture. Claim or Continue completes the original casualties and card cleanup before the capture offer; it does not sample a captive early or repeat capture. Other pending rewards remain outside this bounded path.',
'Mandatory and winner battle discards also pause before native Tleilaxu Face Dance. Claim or Continue preserves the original winner’s casualties and card cleanup, then restores the same private Face Dancer opportunity. Replacement, leader death and force sources remain native; the claimed Treachery card stays with its claimant, and no Face Dancer card becomes a Semuta target.',
'Mandatory and winner battle discards also pause before quoted Advanced CHOAM force-payment income. Claim or Continue leaves the original amount unpaid through casualties and card cleanup, then opens the same allow/Karama response. Allow pays once; cancellation sends that income to the bank without refunding the original force payments. The original post-battle market still completes afterward.',
'Mandatory and winner battle discards also pause before a native Auditor opportunity. Claim or Continue preserves the original survival limit and opponent-used card identities, then eligibility and the full cancellation price use the current opposing hand. A card acquired from the other combatant can be eligible if the audited player did not use it. Payment or private inspection resumes once; only CHOAM receives the historical snapshot.',
'Fresh three-through-six-seat Basic/Advanced Richese games with CHOAM and optional Ix may retain original unused Tech Tokens under the existing native roster prerequisites. Mandatory and winner discards now offer Semuta before the original winner takes one loser-owned token. Claim or Continue leaves every token and income ledger in place until original cleanup finishes; the winner’s selected award still precedes Face Dance. Advanced may additionally retain original unused Stronghold Cards at two through six seats; combining Tech requires three through six. The six separate public module cards remain unowned until the actual final Mentat assignment, using the board after effects such as Gamont. Neither Semuta claim nor its original closing CHOAM continuation awards a Stronghold Card early. Original Leader Skills require the explicit entry described below; other overlays and the separate Basic Moritani entry remain excluded.',
'Fresh three-through-six-seat Basic/Advanced Richese games with CHOAM and optional Ix may retain original unused Tech Tokens under the existing native roster prerequisites. Mandatory and winner discards now offer Semuta before the original winner takes one loser-owned token. Claim or Continue leaves every token and income ledger in place until original cleanup finishes; the winner’s selected award still precedes Face Dance. Advanced may additionally retain original unused Stronghold Cards at two through six seats; combining Tech requires three through six. The six separate public module cards remain unowned until the actual final Mentat assignment, using the board after effects such as Gamont. Neither Semuta claim nor its original closing CHOAM continuation awards a Stronghold Card early. The selected public CHOAM-only Leader Skills path and the other bounded development entries retain their own scope; other overlays remain incomplete.',
'A mandatory loser-card discard may also offer Semuta while the original winner’s compulsory used card remains reserved. For native Ixians, claim or Continue settles the original casualties, then restores the one-for-one Suboid/Cyborg substitution and its Karama response. The winning used Poison Tooth is not discarded until substitution or decline finishes; only then is that physical Tooth a separate fresh target before optional winner cleanup.',
'In the Basic native Moritani entry, mandatory loser cards such as Cheap Hero are discarded first and may offer Semuta before winner cleanup and the losing ally’s original retention choice. After the ally chooses one eligible played card or declines, native Karama finishes first; the completed unkept-card batch offers Semuta separately. This split ordering is provisional. A kept or unrelated hand card is never a target. Multiple cards in the same fresh batch require commitment and one private selection; taking a discarded card does not add it to the retention pool. Advanced Moritani, Nexus retention and unresolved casualty parents remain separate.',
'A printed Karama canceling native Harkonnen capture, CHOAM Auditor or quoted battle income, Ixian casualty substitution, or Basic Moritani allied retention now offers that exact public cost before the original cancellation finishes. Claim or Continue restores the saved response and cancels once. Acquiring the cost card cannot restore a captive, inspect a hand, pay the canceled income, exchange casualties or keep the proposed allied card. Later native card cleanup and markets still finish; Worthless conversion, other cancellations and module combinations remain separate.',