Commit Graph
184 Commits
Author SHA1 Message Date
Quintine 7004977e75 Compose Homeworld storm and native Worthless counter costs with Semuta 2026-10-13 02:08:42 +11:00
Quintine 506bf25bc6 Offer native CHOAM Homeworld discard costs to Semuta 2026-10-13 01:12:02 +11:00
Quintine 38feaf17ba React to a definite Truthtrance answer in the Homeworld Semuta envelope 2026-10-12 23:41:14 +11:00
Quintine f1706ab408 React to a clean Distrans transfer in the Homeworld Semuta envelope 2026-10-12 23:36:43 +11:00
Quintine a9a8ae6b75 React to a paid Box search in the Homeworld Semuta envelope 2026-10-12 23:34:06 +11:00
Quintine cb4c32fc87 React to ordinary used cards in the Homeworld Semuta envelope 2026-10-12 23:29:37 +11:00
Quintine d14f3d1717 Offer first-death Kwisatz Haderach through the Tleilaxu Ambassador 2026-10-12 23:20:37 +11:00
Quintine bbf27c4f3d Preserve native Homeworld paid shares through Semuta income costs 2026-10-12 17:36:01 +11:00
Quintine a4f1cfc650 Compose native Homeworld Kaitain and Tupile discards with Semuta 2026-10-12 16:40:03 +11:00
Quintine d718e380b7 Offer Semuta before native paid-income Karama cancellations 2026-10-12 15:36:48 +11:00
Quintine 308797567e Offer Semuta on printed Emperor-share cancellation and repair stale unit tests 2026-10-12 14:46:09 +11:00
Quintine f68c556f8a Pause printed CHOAM power cancellation costs for Semuta 2026-10-12 12:39:30 +11:00
Quintine bb6835e6c3 Preserve original Cunning fuel and suffix through Semuta 2026-10-12 10:50:39 +11:00
Quintine 9afc03b347 Compose Semuta with original native Nexus discard receipts 2026-10-12 09:26:49 +11:00
Quintine 90c6f0020c Compose explicit native Leader Skills with Semuta continuations 2026-10-12 08:27:20 +11:00
Quintine 03e3d9bdbf Retain original Advanced Strongholds in fresh Semuta games 2026-10-12 07:24:52 +11:00
Quintine 74768647f4 Preserve native Ixian casualties and Moritani retention across Semuta 2026-10-12 06:13:47 +11:00
Quintine a6869b0166 Connect Semuta reactions before original native Tech award 2026-10-12 05:44:56 +11:00
Quintine 235f763625 feat: connect Basic native Semuta Terror discard reactions 2026-10-12 02:00:22 +11:00
Quintine 871e932319 Offer Semuta on a Truthtrance shipment promise 2026-10-12 00:22:28 +11:00
Quintine eb63967b5c Connect owned Sandmaster stronghold pile allocation 2026-10-09 05:24:33 +11:00
Quintine 0040ed1921 Connect owned Sandmaster destination pile choices 2026-10-09 04:51:12 +11:00
Quintine 24863480cb Connect owned Sandmaster ground pile selection 2026-10-09 03:54:00 +11:00
Quintine a1517ec949 Connect owned multi-pile battle skill choices 2026-10-09 03:14:14 +11:00
Quintine 38b1ba3419 Allow provisional Kulon and Ornithopter coexistence 2026-10-09 02:46:41 +11:00
Quintine 66e061ccca Connect Richese final-cache and provisional full-hand acquisition 2026-10-08 20:29:45 +11:00
Quintine 451ecc950c Connect provisional late-paid Recruits accounting 2026-10-08 19:31:42 +11:00
Quintine be8703dc51 Connect printed Diplomat defenses and Ecaz Tanked Duke Cunning 2026-10-08 19:05:08 +11:00
Quintine 039fe4e87f Connect Sandmaster collection to physical Ambassador relocation 2026-10-08 17:23:43 +11:00
Quintine 7cef1a3412 Connect Advanced allied reserve transit and legal departure 2026-10-08 16:58:21 +11:00
Quintine 869412bebd Connect Advanced Auditor repeated revival and provisional native cycles 2026-10-08 16:51:05 +11:00
Quintine 85729f9819 Connect provisional Advanced Richese mixed battles and exchanges 2026-10-08 16:46:48 +11:00
Quintine 4ed6beb33a Apply supplied Advanced Ixian Technology Richese-lot exclusion 2026-10-08 16:35:13 +11:00
Quintine d438d923a3 Connect Advanced Ecaz and Moritani special Karama first versions 2026-10-08 11:29:08 +11:00
Quintine 59a406830c Connect source-ordered Advanced Ecaz new-ally Duke grant 2026-10-08 10:14:08 +11:00
Quintine f29f14128f Connect provisional Basic full-hand Nullentropy Box exchange 2026-10-08 09:30:34 +11:00
Quintine 8d55b8f3f7 Connect provisional Basic Guild and Karama allied No-Field prices 2026-10-08 09:15:48 +11:00
Quintine 2ede6b55ea Connect provisional Basic mixed Richese No-Field battles 2026-10-08 09:02:10 +11:00
Quintine d3a09a95fe Connect Basic allied reserve shipment and provisional departure policy 2026-10-08 08:53:44 +11:00
Quintine 2d0f20b69c Connect the Basic Ecaz new-ally Duke loan 2026-10-08 08:30:38 +11:00
Quintine c28e24b5fa Prioritize Basic faction prototypes and connect three missing rule paths 2026-10-08 08:23:20 +11:00
Quintine 7e3bec2721 Implement the five 7 October pending rule rulings
The user answered five recorded questions; each ruling is indexed in
RULE_DECISIONS.md and implemented with a focused regression.

- CHOAM opening income counts as a qualifying collection, so low-population
  Tupile adds its bank increment under the Inflation multiplier. The engine
  guard is removed and the projection/notice expose the added bonus.
- An exhausted Richese cache is legal and restores one ordinary lot; the
  canceled/prevented compulsory cache auction branch restores the reduction
  before the ordinary pool runs and the cache offer is skipped when no cache
  lot can run. The pure continuation quote mirrors the count.
- Suk-rescued casualties count toward Advanced Atreides' seven Kwisatz
  Haderach losses: the battle-loss counter gains the full dialed allocation in
  both rescue paths, and the earlier Suk availability restriction is removed.
- The Guild Nexus Secret Ally reserve return overrides the Arrakis-to-native-
  Homeworld restriction for the holder's own reserves and deposits through the
  shared native-reserve pipeline (generalized from the revival deposit).
- Interior passengers count as entering the territories a relocated Ixian HMS
  points into, so Sandmaster collects there before the native collection.

Full offline suite 7804/7804, types and lint pass. Historical evidence and
superseded test expectations are updated to the ruled behaviour; preserved
combined Homeworld/Nexus, occupation and Richese captures are unblocked but
not re-run here. No existing game, seat or saved state was changed.
2026-10-07 21:56:17 +11:00
Quintine 0e1a442dca Wire the Tleilaxu Ambassador force return
The last unimplemented Ambassador effect is now reachable. A placed Tleilaxu
token gives its beneficiary — the Ecaz owner or its ally — a private
ecazAmbassador decision at the new revival stage: one to four physical counters
return from the Tanks to reserves at zero cost, quoted by the existing
game/tleilaxu-ambassador-forces.ts, which also enforces the shared
Fedaykin/Sardaukar one-per-turn counter and keeps Ixian cyborgs uncapped.

The player view projects the maximum, Tanks and elite inventory and current
elite usage to the beneficiary only; the entry control offers a per-count
button and an explicit "Return no forces" decline; all four AI profiles choose
a legal return from the decision owner's own view or decline when the Tanks are
empty. Player-facing coverage text now lists Tleilaxu.

Kept gated exactly as recorded: the printed leader alternative, ordinary
force/free/leader allowance accounting around this independent grant,
dead-twice eligibility, and Tleilaxu free-income repeat scope. No ordinary
revival allowance, price, phase or income path changes.

Evidence: tests/tleilaxu-ambassador-engine.test.ts drives a genuine arrival into
a placed token and asserts the beneficiary-only projection, the typed return
with unchanged spice, the shared elite limit, malformed/over-maximum rejection
with immutability, the ordinary-only return, the decline path and the rendered
control. The four-profile ecaz-entry-bots loop now covers tleilaxu, and the
former unsupported-effect and copy-list pins were updated to the supported
behaviour rather than re-pinned. Offline suite 7,797/7,797 with typecheck and
lint clean. No game, seat, saved state or deployment changes.
2026-10-07 18:28:57 +11:00
Quintine e2dcebca35 Compose classic Homeworld Skills and Discovery with physical custody 2026-10-06 18:07:41 +11:00
Quintine c12b463439 Compose classic Discovery skills and Advanced Orgiz collection 2026-10-05 17:35:51 +11:00
Quintine 67ce690064 Connect native Discovery setup and nested force paths 2026-10-05 15:28:50 +11:00
Quintine 17bc4537c3 Connect printed high Ecaz Homeworld alliance victory 2026-10-05 14:41:11 +11:00
Quintine 3e79021a6e Connect occupied Tupile capacity and original cleanup 2026-10-05 14:03:25 +11:00
Quintine 0774ae6f83 Connect occupied Homeworld economics and Bidding 2026-10-05 12:48:08 +11:00
Quintine 5e902e384d Connect stable occupied Homeworld income sharing and native protections 2026-10-05 09:12:41 +11:00