Implement bounded Richese Nexus Betrayal auctions

This commit is contained in:
Quintine committed 2026-09-30 23:18:32 +10:00
1 parent a921c0da9b
commit 9c0000e469
25 files changed
+2208 -39

No files matched your search

+7
View File
@@ -9,6 +9,7 @@ import {
initializeEcazTreacheryGameForAudit,
initializeSemutaGameForAudit,
initializeKullGameForAudit,
initializeRicheseBetrayalGameForAudit,
viewGame,
type Game,
} from '../game/engine';
@@ -23,6 +24,7 @@ export const PROTOTYPE_PROFILES = [
'ecaz-treachery',
'semuta',
'kull',
'richese-betrayal',
] as const;
export type PrototypeProfile = (typeof PROTOTYPE_PROFILES)[number];
export function isPrototypeProfile(value: string): value is PrototypeProfile {
@@ -73,6 +75,11 @@ export function startPrototypeRoom(
? initializeSemutaGameForAudit(initial)
: profile === 'kull'
? initializeKullGameForAudit(initial)
: profile === 'richese-betrayal'
? initializeRicheseBetrayalGameForAudit({
...initial,
nexusCards: initial.nexusCards ?? { cards: null, phase: null },
})
: profile === 'factions'
? initializeFactionExpansionsGameForAudit(initial)
: profile === 'nexus'
+1 -1
View File
@@ -20,7 +20,7 @@ async function main() {
});
if (values.help) {
console.log(
'Usage: node --import tsx tools/start-prototype.ts --profile ix|discovery|leader-skills|factions|nexus|moritani-assassinate|ecaz-treachery|semuta|kull --db PATH --room CODE --version NUMBER --out /private/new-directory\nStarts only a fresh ready lobby for the selected development prototype. Nexus enables the existing private Nexus setup. Moritani-assassinate explicitly opts into the bounded Advanced assassination preview. Semuta opts a fresh Richese roster into bounded clean-discard reactions; an included Ix deck supplies physical Thumper without opening public starts. Kull opts a fresh eligible CHOAM roster into the user-selected Karama interception preview. Backs up all rooms first, preserves sessions and existing games, and rejects stale versions. Normal game-start and publication gates remain closed.',
'Usage: node --import tsx tools/start-prototype.ts --profile ix|discovery|leader-skills|factions|nexus|moritani-assassinate|ecaz-treachery|semuta|kull|richese-betrayal --db PATH --room CODE --version NUMBER --out /private/new-directory\nStarts only a fresh ready lobby for the selected development prototype. Nexus enables the existing private Nexus setup. Moritani-assassinate explicitly opts into the bounded Advanced assassination preview. Semuta opts a fresh Richese roster into bounded clean-discard reactions; an included Ix deck supplies physical Thumper without opening public starts. Kull opts a fresh eligible CHOAM roster into the user-selected Karama interception preview. Richese-betrayal opts a fresh paired CHOAM/Richese Nexus roster into cache-purchase veto and sale-bank diversion. Backs up all rooms first, preserves sessions and existing games, and rejects stale versions. Normal game-start and publication gates remain closed.',
);
return;
}