Commit Graph
121 Commits
Author SHA1 Message Date
Quintine 7fe84ffbbd Allow Advanced advisors to use the physical Ornithopter
Adopt the supplied advisor/city distinction: advisors do not grant city access, but both printed physical-card modes permit advisor groups. Retain native stance/arrival/locks and distinct original cohorts; use shared advisor-aware paths and entry for minimal bot candidates. Add persistent guidance and genuine paid-acquisition/native-advisor regressions.

Validation: frozen10-file87/87, types/lint/build and three original-action/rendered-table programmes. Actual host/setup, cache1 purchase, foreign shipment/accompaniment and paid BG reinforcement cover range3, two groups and leaving the last city fighter. Eight minimal policy proposals remain legal; controlled geometry and UI checks are separate. No wider combinations, complete modes, final assurance or browser/deployed acceptance claimed. No saved-room/reset/restart/deployment operation.
2026-10-18 12:58:54 +11:00
Quintine 884a09fa92 Scope Advanced Kull to the attempted Karama effect
Adopt the supplied Advanced specific-effect wording, preserving Basic and legacy phase-wide semantics. Bind signed semantic purposes through ordinary/special activations, counters, feasibility and settlement; retain unrelated human controls and minimal bot actions. Phase expiry remains provisional; prior counter, BG and deferred-overbid choices stay.

Validation: frozen12-file111/111, types/lint/build and two original-action/rendered-table programmes. Explicit unopened deal/auction/spice order supports real paid Baliset and shipments; Advanced retains Karama for Baliset cancellation while Basic stays blocked. Four minimal policies remain legal. Correct stale exchange/phase-market/Fremen fixture assumptions. Recovery schema expectations maintained without running deferred SQL assurance. No full modes, browser/deployed acceptance, saved-game/reset/restart or deployment operation.
2026-10-18 12:49:23 +11:00
Quintine 6ccfaa1b4d Resolve ambiguous Stone battles with sealed physical totals
Add a provisional post-reveal physical-count commitment for new outcome-changing Basic/Advanced Stone and copied Mirror battles. Keep all original sides sealed until complete and retain matching later typed losses. Preserve legacy, ordinary and invariant-winner timing. Carry the same constraint through card cleanup and native casualty consumers.

Validation: frozen 16 files146/146, types/lint/build and14 original-action/rendered-control programmes; four minimal policies make both owned choices legally. Source timing is explicitly provisional. Wider combinations, assurance and deployed acceptance remain open. No saved-game, reset, restart or deployment operation.
2026-10-18 12:13:06 +11:00
Quintine b4157aaa9b Connect native Fremen Nexus effects across selected modules
Retain actual Cunning appearances, paid Karama and typed remote riding with optional Sandmaster collection and source-parent HMS entry. Preserve Betrayal movement sources and apply its declared worm restriction to Great Maker reserve riding without suppressing votes or casualties. Completed Maker history no longer blocks a later ordinary offer.

Validation: frozen 14-file86/86, types/lint/build, nine finite original-action/rendered-control programmes, four minimal legal policies. Discovery destination proof remains focused quotes pending actual arrival; full combinations, assurance and deployed acceptance remain required. No saved-game, restart or deployment operation.
2026-10-18 11:35:59 +11:00
Quintine c265f0638e Implement mixed Planetologist advisor gather continuation 2026-10-18 00:35:36 +11:00
Quintine 210aa04811 Open supported optional modules through normal lobby previews 2026-10-17 17:22:08 +11:00
Quintine 5a32c1ac85 Compose independent utility cards with classic Leader Skills 2026-10-17 14:17:24 +11:00
Quintine 63298be1e1 Prototype modifier-aware Smuggler battle collection 2026-10-17 11:33:07 +11:00
Quintine c64c08af89 Seal exact native Homeworld Reinforcements costs and plan sources 2026-10-16 13:07:49 +11:00
Quintine 842fd72761 Compose native Stone and Reinforcements without a physical-token bonus 2026-10-16 07:10:18 +11:00
Quintine be0644c0e9 Compose same-plan Harass and Reinforcements with original reserve costs 2026-10-16 06:48:04 +11:00
Quintine feb2b03251 Compose Harass withdrawal with provisional Stone Burner timing 2026-10-16 06:35:04 +11:00
Quintine 11adb7dbf3 Separate Guild transport permission, purchase price and loan approval 2026-10-15 22:52:37 +11:00
Quintine e2dc5f3d0d Compose Emperor Nexus with native Richese special purchase 2026-10-15 11:11:06 +11:00
Quintine 3ce2e1d32a Connect Emperor Nexus retention to original Ambassador purchases 2026-10-15 10:51:03 +11:00
Quintine d3e1c2f242 Connect Emperor Nexus retention to original Richese seller lots 2026-10-15 10:20:33 +11:00
Quintine 022040972c Connect Emperor Nexus compulsory funding to native auction settlement 2026-10-15 06:38:14 +11:00
Quintine 25996ec8a7 Connect Fremen Nexus fixed quota to native partial revival 2026-10-15 06:09:36 +11:00
Quintine 82f1aae51b Connect Fremen Nexus protection before original worm devouring 2026-10-15 01:58:23 +11:00
Quintine 8ab827b902 Connect absent Bene Gesserit Nexus Voice before Prescience 2026-10-15 00:51:43 +11:00
Quintine 4bf6cfc875 Keep Atomics penalties on original targets after alliance changes 2026-10-14 21:06:32 +11:00
Quintine 554f2bf9e9 Connect physical Jacurutu allocation and cumulative station choices 2026-10-14 14:49:07 +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 a1517ec949 Connect owned multi-pile battle skill choices 2026-10-09 03:14:14 +11:00
Quintine 5e2a320512 Repair inherited stale rule guards and two minimal-legal bot gaps 2026-10-09 01:49:39 +11:00
Quintine b892967eb3 Connect provisional Basic current-sole Homeworld benefits and repair stale rule guards 2026-10-09 01:26:20 +11:00
Quintine 66e061ccca Connect Richese final-cache and provisional full-hand acquisition 2026-10-08 20:29:45 +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 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 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 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 3fb047c93d Compose native Homeworld skill and Discovery modules 2026-10-07 05:16:26 +11:00
Quintine e2dcebca35 Compose classic Homeworld Skills and Discovery with physical custody 2026-10-06 18:07:41 +11:00
Quintine 555afe4070 Compose native Discovery skills and repair hidden trainer participation 2026-10-06 00:51:21 +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
Quintine 113667da55 Compose native Richese No-Field and Stone with Advanced Occupy 2026-10-03 08:48:26 +10:00
Quintine cd985c7c34 Support mixed current-fact and shipment Truthtrance questions 2026-10-03 07:11:28 +10:00
Quintine 1057eb2719 Integrate native Ixian CHOAM and Tleilaxu Occupy aftermath 2026-10-02 14:47:54 +10:00
Quintine e112df858a Integrate authorized Advanced Ecaz Occupy combined battles 2026-10-02 13:06:00 +10:00
Quintine 1cf8ff72c7 Integrate Harkonnen Nexus traitor retirement and Mentat replacement 2026-10-02 02:12:18 +10:00