Expand Basic Semuta and Truthtrance rules
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 05:57:46 +11:00
1 parent 7e6e8c2d12
commit 4f990db52e
13 files changed
+351 -12

No files matched your search

+4 -2
View File
@@ -9797,6 +9797,7 @@ function semutaOfferSupported(
continuation.kind === 'battleCleanup' && (continuation.source === 'winner' ||
continuation.source === 'moritani' && !g.advanced && continuation.retention?.source === undefined) ||
continuation.kind === 'residualPoisonDiscard' ||
continuation.kind === 'thumperDiscard' || continuation.kind === 'amalDiscard' ||
continuation.kind === 'nullentropyDiscard' || continuation.kind === 'distransDiscard' ||
continuation.kind === 'truthtranceDiscard' && continuation.promise === null &&
(continuation.record.question.kind === 'fact' || continuation.record.question.kind === 'freeform') ||
@@ -9809,6 +9810,7 @@ function semutaOfferSupported(
continuation.kind === 'battleCleanup' && (continuation.source === 'winner' ||
continuation.source === 'moritani' && !g.advanced && continuation.retention?.source === undefined) ||
continuation.kind === 'residualPoisonDiscard' ||
continuation.kind === 'thumperDiscard' || continuation.kind === 'amalDiscard' ||
continuation.kind === 'nullentropyDiscard' || continuation.kind === 'distransDiscard' ||
continuation.kind === 'truthtranceDiscard' && continuation.promise === null &&
(continuation.record.question.kind === 'fact' || continuation.record.question.kind === 'freeform') ||
@@ -43299,7 +43301,7 @@ function applyActionInner(
const window = windowCardOpportunity(g, 'amal');
requireRule(window && quotedAmalCards(g, p).includes(card.id), 'Retain your original native Amal opening and physical card.');
recordNativeTurnActionWindowCard(g, id, 'amal', window.source);
const before = g.semutaPreview
const before = g.semutaPreview || g.semutaRecruitsPreview
? g.players.map(player => ({ player: player.id, spice: player.spice }))
: null;
const used = discard(g, p, card.id);
@@ -46925,7 +46927,7 @@ function applyActionInner(
g,
`${p.name} played Thumper in place of the next spice-card reveal.`,
);
if (g.semutaPreview) {
if (g.semutaPreview || g.semutaRecruitsPreview) {
const continuation: ThumperDiscardContinuation = {
kind: 'thumperDiscard', player: p.id, card: used.id,
resume: { response: g.response, decision: g.decision,