Connect Semuta to Moritani initial battle discards

This commit is contained in:
Quintine committed 2026-10-28 20:29:19 +11:00
1 parent d0e4c177e4
commit 0406fc1869
10 files changed
+283 -15

No files matched your search

+11
View File
@@ -16,6 +16,17 @@ open mode gates.
## Current checkpoint and work
**Semuta before Basic Moritani ally retention — 28 October. Prototyped /
Partial.** In the bare Basic Semuta preview, mandatory loser cards form an
initial battle discard batch before the original allied-retention choice;
Semuta may claim or pass before winner cleanup resumes. The later unkept cards
form a separate opportunity. This ordering is provisional; older saves and
other profiles retain their existing reservations. Eleven related offline
files pass 125 cases, including controlled physical-card battle claim/pass,
later retention and mandatory-card/Traitor distinctions. Wider combinations
and deployed acceptance remain open.
[Scope](MORITANI_ALLY_RETENTION_RULES.md#initial-mandatory-discard-before-native-retention--28-october-2026).
**Mixed Homeworld No-Field transfers — 28 October. Prototyped / Partial.** Richese may provisionally
ship its existing concealed marker together with its own selected physical
forces from that same foreign Homeworld to another eligible foreign World.
+31 -3
View File
@@ -2,6 +2,33 @@
Bounded source and implementation audit, 2026-09-06. No runtime edits or live-room actions were performed.
## Initial mandatory discard before native retention — 28 October 2026
**Prototyped / Partial.** In the supported bare Basic Semuta profile with a
native Moritani ally, cards that the losing ally could not keep as a winner
are discarded with the original mandatory battle batch; the ally's eligible
played cards remain reserved for its later retention choice. Cheap Hero is
always ineligible. The ordinary predicate still permits an unused Poison Tooth
and applies the existing Traitor exception to otherwise mandatory cards.
The initial batch receives one neutral Semuta opportunity. Its resolved battle
and remaining winner cleanup continue once; the losing ally's original
retention pool stays fixed even if Semuta transfers a freshly discarded card.
The later choice, Karama response and disposal of unkept eligible cards use the
existing native continuation. A Semuta holder cannot spend a reserved battle
card. Older saved retention records and other profiles keep their recorded
all-played reservation.
The publisher permits the ally to keep one eligible played card and Semuta to
take a card another player has just discarded. It does not establish the timing
between these effects. Sending unretainable cards to an initial batch and the
remaining unkept cards to a later batch is a provisional software ordering; it
creates separate Semuta opportunities and is not a publisher ruling that the
loser's discards are simultaneous or separate. The existing all-card
reservation remains a different serialization, documented below. Controlled
actual-battle fixtures exercise this boundary; wider combinations, complete
rules and deployed acceptance remain open.
## Distinct Advanced special Karama first version — 8 October 2026
This is **not** the ally-retention ability below. Authorized supplied PDF
@@ -116,9 +143,10 @@ require one private selection. Kept and unrelated hand cards remain unavailable.
Compulsory/optional winner-card batches may also pause before the original
choose-stage retention. Existing aftermath validation and reciprocal alliance
checks preserve that native opportunity. A loser acquiring the winner's card
through Semuta cannot add it to the original played/eligible pool. All losing
played cards are reserved in this envelope, so no losing `battleResolved`
batch precedes retention; that distinct pending-retention path stays gated.
through Semuta cannot add it to the original played/eligible pool. At this
earlier checkpoint all losing played cards were reserved, so no losing
`battleResolved` batch preceded retention. The later narrowly scoped initial
mandatory-discard prototype is described above.
Advanced native Moritani and Nexus/Skills compositions are not opened.
An enemy or the defeated ally spending a printed Karama to cancel the proposed
+10
View File
@@ -1,5 +1,15 @@
# Rule decision index
## Semuta before Moritani allied retention — 28 October 2026
The printed powers do not specify their combined discard ordering. In the
bare Basic Semuta preview, the defeated ally's mandatory cards enter an
initial Semuta batch before winner cleanup; the later unkept retainable cards
form a separate batch after the original retention choice and response. This
is a provisional serialization, not a publisher ruling. Existing saved
retention records and other profiles keep their previous reservations.
[Scope](MORITANI_ALLY_RETENTION_RULES.md#initial-mandatory-discard-before-native-retention--28-october-2026).
## Richese marker with same-source Homeworld forces — 28 October 2026
The supplied Advanced revision permits Homeworld-to-Homeworld shipment
+20
View File
@@ -2,6 +2,26 @@
Read-only engine audit, 2026-09-07. Read the complete `docs/SEMUTA_DRUG_ENGINE_AUDIT.md`, then inspected every current `discard(...)` call, direct Treachery-discard mutation and `draw(g)` caller in `game/engine.ts`, plus the Truthtrance discard callback and pure Box/Distrans results. Names below are integration anchors; approximate current lines are navigation aids only. This report adopts no additional source ruling and changes no project file.
## Native Moritani retention and initial battle discards — 28 October 2026
In the supported bare Basic Semuta profile, a defeated ally of native Moritani
discards played cards that cannot be retained with the original mandatory
`battleResolved` batch. The eligible played cards remain reserved for the
later Moritani choice. A neutral Semuta reaction can suspend the original
resolved-battle continuation at the initial batch; claiming or passing resumes
the original winner cleanup and the same retention choice without repeating
battle results. A later discard of the unkept eligible cards has its own fresh
Semuta opportunity. A recovered card never enters the original retention pool.
This split into two distinct opportunities is a provisional software ordering:
the source does not establish the priority or whether those discards must be
grouped. The ordinary winner-retention predicate, including the Cheap Hero and
Traitor cases, determines which cards are ineligible; it is not inferred from
their generic card types alone. Older saved retention records and non-preview
games retain their original reservations. Controlled actual-battle fixtures
exercise the new continuation; wider module combinations and final acceptance
remain open. [Retention scope](MORITANI_ALLY_RETENTION_RULES.md#initial-mandatory-discard-before-native-retention--28-october-2026).
## Shrine physical-role stages — 16 October 2026
Fresh private `semuta --discoveries` setup retains the original Discovery