Compose the Sneak Attack arrival with the Bene Gesserit reactions

A positive Moritani Sneak Attack now resolves its committed Terror entry first —
placing the reserve forces and accruing the Heighliners token — and then offers
the Bene Gesserit reactions under the same adopted shipment classification used
for ordinary off-planet arrivals: an eligible Advanced Intrusion choice when
Bene Gesserit fighters stand in the destination, carrying the free
spiritual-advisor follow-up, and the advisor shipment itself when the intrusion
is declined, with its existing territory, storm and occupancy validation. A
zero-force resolution still opens none of them, and the last "Sneak Attack
combined with Bene Gesserit arrival reactions" guard is removed rather than left
as a duplicate check.

This selected order is an implementation interpretation, not a located ruling;
the source note, the pending-interpretation registry, the component inventory,
the player reference and the status log record it. Evidence:
tests/moritani-force-leader.test.ts asserts the post-entry Intrusion offer and
the full decline -> advisor decision -> placement chain with nothing left
pending; the former gated-interaction pin was replaced by the composed
behaviour. Offline suite 7,798/7,798 with typecheck and lint clean, plus the
reference guide tests 10/10. No game, seat, saved state or deployment changes.
This commit is contained in:
Quintine committed 2026-10-07 18:53:19 +11:00
1 parent 972b781d0a
commit 3bebc68cd5
8 files changed
+96 -26

No files matched your search

+1 -1
View File
@@ -306,7 +306,7 @@ This later 2026-09-06 checkpoint supersedes the preceding statements that Assass
| Robbery | One opaque physical token; original source-traced definition | Choose half the entrant's available spice rounded up, or top card; full hands draw before a private chosen discard; empty deck finishes without inventing a card | Owner reveal/choice/discard controls; own card names only; revealed face publicly inspectable | Chooses card or spice using its own private view | `tests/moritani-entry.test.ts` | Combined arrival reactions and broader timing audit; no full-game acceptance |
| Sabotage | One token; random discard and optional gift described separately | Random entrant discard, with generic public log; optional own-card gift or decline; exceptional recipient overflow rejected | Owner gift selector; no victim card name in opponent controls; spent face publicly inspectable | Declines the optional gift | `tests/moritani-entry.test.ts` | Exceptional gift overflow and combined reactions remain unsupported |
| Assassination | One token; source rule distinguishes it from advanced Assassinate Leaders | Reveal automatically selects one living verified ordinary native leader, updates death history and awards strength in spice; Zoal is 3 | Owner sees eligibility/reason before revealing; no victim picker; spent face uses shared inspector | Uses owner-projected reveal eligibility | `tests/moritani-force-leader.test.ts` | Missing/altered native pools, empty living pool, captured/foreign/special custody blocked; advanced Harkonnen tables uniformly blocked to avoid revealing capture state |
| Sneak Attack | One token; reserve entry, storm/occupancy limits and printed Aftermath exception described | Up to min(5, own reserves), using the recorded entry sector; free, without ordinary shipment/movement usage; zero resolves even when positive entry is blocked | Private maximum/reason at offer and resolution; labeled count selector and explicit Send no forces; shared face inspector | Uses projected maximum when allowed, otherwise zero | `tests/moritani-force-leader.test.ts` | A positive entry in Shipment and Movement now accrues the Heighliners token once for its owner under an explicitly adopted shipment classification; positive entry remains blocked for unresolved BG arrival reactions, and exact sector choice and other combined-entry classifications remain limited |
| Sneak Attack | One token; reserve entry, storm/occupancy limits and printed Aftermath exception described | Up to min(5, own reserves), using the recorded entry sector; free, without ordinary shipment/movement usage; zero resolves even when positive entry is blocked | Private maximum/reason at offer and resolution; labeled count selector and explicit Send no forces; shared face inspector | Uses projected maximum when allowed, otherwise zero | `tests/moritani-force-leader.test.ts` | A positive entry in Shipment and Movement now accrues the Heighliners token once for its owner and then offers the Bene Gesserit Intrusion and free advisor shipment under an explicitly adopted shipment classification; zero opens none of them, and exact sector choice and other combined-entry classifications remain limited |
The common entry record binds the original entrant, territory, sector, cause, turn, phase and continuation. Current isolated paths cover ordinary movement, shipment, Guild cross-transport, accompanying advisors and worm rides; existing Moritani or allied entry does not offer Terror. When the same arrival would already need another response/decision, the engine rejects the complete attempted entry atomically instead of silently selecting a priority. No-Field placement/reveal distinctions remain source guidance until that separate subsystem exists. Worm continuation and temporary Truthtrance overlays have dedicated coverage in `tests/moritani-entry-overlays.test.ts`; they do not establish universal reaction ordering.