Offer Semuta on printed native battle cancellation costs

This commit is contained in:
Quintine committed 2026-10-12 06:57:15 +11:00
1 parent 74768647f4
commit bab8f3403d
14 files changed
+818 -14

No files matched your search

+5 -1
View File
@@ -112,9 +112,13 @@ for (const holder of ['w', 'l'] as const) for (const cancel of [false, true]) {
assert.equal(viewGame(response, 'w').semutaReaction, null);
assert.equal(viewGame(response, 'w').moritaniRetentionCard?.id, f.weapon);
rejected(response, 'l', { type: 'card', card: f.weapon, mode: 'discard' });
const settled = cancel
let settled = cancel
? applyAction(reload(response), holder, { type: 'card', card: f.karama!, mode: 'cancel' })
: allowSemutaMoritaniResponse(reload(response));
if (cancel) {
assert.deepEqual(settled.pendingTreacheryDiscard!.batch.entries.map(e => e.card.id), [f.karama]);
settled = passSemutaMoritaniDiscard(settled);
}
assert.equal(settled.pendingTreacheryDiscard?.batch.cause, 'battle:moritani');
assert.equal(settled.pendingTreacheryDiscard?.reaction?.stage, 'offer');
assert.deepEqual(settled.pendingTreacheryDiscard!.batch.entries.map(e => e.card.id), cancel ? [f.weapon, f.defense] : [f.defense]);