Compose same-plan Harass and Reinforcements with original reserve costs
This commit is contained in:
1 parent
feb2b03251
commit
be0644c0e9
15 files changed
+288
-30
No files matched your search
@@ -9,8 +9,9 @@ families; Basic/unprofiled co-side use stays guarded. The
|
||||
holder may commit it in either Battle Plan card slot. It is neither a weapon
|
||||
nor a defense: Prescience of a category receives **None**, while the physical
|
||||
slot stays occupied and hidden until reveal. A named-card inspection still
|
||||
fixes the exact card. Harass & Withdraw and Stone Burner cannot share this
|
||||
plan; Homeworld and other optional-module combinations remain gated.
|
||||
fixes the exact card. Harass & Withdraw may share the plan under the
|
||||
[provisional original-cost-first policy](#combined-utility-plan--16-october-2026).
|
||||
Stone Burner, Homeworld and other optional-module combinations remain gated.
|
||||
|
||||
The [combined-army follow-up](ECAZ_OCCUPY_RULES.md#independent-cards-with-combined-armies--2-october-2026)
|
||||
retains own-holder reserve cost and selected lead card/payment ownership.
|
||||
@@ -23,3 +24,53 @@ The holder must have three own reserve counters when sealing the plan. The owner
|
||||
The owner receives a card-slot explanation and disabled reason when fewer than three reserve counters remain or the bounded mode is unsupported. All four AI profiles generate legal candidates in the classic and Ecaz/Moritani profiles and can select either slot, including an Advanced plan. The current scoring is a minimal legal participation heuristic, not difficulty calibration. The prototype does not certify the whole three-card variant, other expansion combinations, optional modules, historical-save compatibility or public mode starts.
|
||||
|
||||
Focused rule, engine, controls and in-memory SQLite tests cover both slots, Basic/Advanced payment, elite subpool conservation, traitor/explosion disposal, private sealed views, JSON restoration, rejected-action immutability and competing final room commits, now including a paired Ecaz/Moritani saved battle. The test results and actual browser/UI evidence for the current checkpoint are recorded in [Implementation status](IMPLEMENTATION_STATUS.md); test coverage is not a publisher ruling.
|
||||
|
||||
## Combined utility plan — 16 October 2026
|
||||
|
||||
The standing choose-recommended priority selects the existing native settlement
|
||||
order for the two physical specials in one plan: quote and debit three
|
||||
**original own reserve** counters before Harass returns any undialed counters.
|
||||
This is an implementation interpretation, not a newly retrieved publisher FAQ
|
||||
or an answer to the earlier reserve-payment question. The source audit's printed
|
||||
effects and original provisional all-outcome/normal-first cost are unchanged.
|
||||
|
||||
Three reserves must exist at commitment. A future return cannot fund a deficient
|
||||
plan or change its quoted normal/elite mix. For example, two original ordinary
|
||||
and one elite reserve are spent even when Harass subsequently returns four
|
||||
ordinary counters. Both cards discard once. The +2 remains normal-score-only,
|
||||
not extra physical dial, support or winner casualties. Opposing successful
|
||||
Traitor cancels only Harass; Reinforcements still pays under its existing
|
||||
provisional all-outcome policy.
|
||||
|
||||
Both slot orders compose in the existing Basic/Advanced and selected Advanced
|
||||
Occupy envelopes. Only the card user's reserves and undialed forces change;
|
||||
original fixed Ecaz commitment and the other ally's pool stay separate.
|
||||
Stone/Reinforcements, Basic/unprofiled co-side and other module gates stay.
|
||||
No persisted state or fresh/public profile is added.
|
||||
|
||||
### Scoped proof
|
||||
|
||||
The affected eleven-file offline union passes **134/134**, with types/lint and
|
||||
production build passing (module-register, large-chunk and Unknown-route
|
||||
warnings). Six new behavioral regressions cover both slots, original typed
|
||||
costs, deficient original reserves, all Traitor outcomes, explosion and both
|
||||
active Occupy card-user roles. The test battle uses rock so automatic
|
||||
collection income cannot obscure support accounting.
|
||||
|
||||
Fresh Node programs exercise eight Basic/Advanced cases across all four
|
||||
profiles, both slot orders and16 accepted continuation actions. A real styled
|
||||
390px journey starts at three reserves (two normal, one elite), selects both
|
||||
cards and shows the explicit provisional order. Original dial1/support1 with
|
||||
leader2 plus bonus2 beats opposing leader4. Four ordinary fighters return;
|
||||
the original elite reserve is spent, leaving reserves4/Tanks16/elite Tanks5,
|
||||
spice29 and no army, battle or decision. Both cards discard once; native
|
||||
collection opens. No root overflow or browser/application error occurred.
|
||||
|
||||
Current guide parse, combined-policy anchor and38 evidence paths across the
|
||||
two topics resolve; all ten checklist facets remain Partial. Removed the
|
||||
obsolete pair rejection and an incidental absent-card candidate pin. No
|
||||
human server, saved room, D1, deployment or public gate changed; no new broad,
|
||||
HTTP, recovery/privacy/custody assurance campaign ran. Private proof artifacts
|
||||
remain outside Git; the owned source host and throwaway scripts were removed.
|
||||
|
||||
|
||||
Reference in new issue
Block a user