Integrate Ecaz Duke revival and bounded Mirror Weapon battles
This commit is contained in:
1 parent
68d782ca82
commit
3b118dd845
39 files changed
+1377
-533
No files matched your search
@@ -1,8 +1,8 @@
|
||||
# Mirror Weapon: source and engine integration audit
|
||||
|
||||
Audited 6 September 2026. This is a proposed implementation contract, not activation or verification of Mirror Weapon gameplay. No runtime file was changed by this audit. Richese and combined expansion starts remain gated.
|
||||
Audited 6 September 2026 as a proposed contract. The 28 September bounded runtime now admits canonical Mirror in CHOAM/Richese-deck classic/CHOAM/Richese battles without optional combined modules; the hook map and former blockers below describe the earlier audit, not current inactive status. Richese expansion starts remain gated.
|
||||
|
||||
**7 September follow-up:** Portable Snooper and Stone Burner now have runtime foundations, superseding the historical absence noted below. A shared physical/effective weapon resolver and ordinary attack/explosion integration are recorded in [EFFECTIVE_BATTLE_WEAPONS.md](EFFECTIVE_BATTLE_WEAPONS.md). Mirror plan admission remains disabled; copied choices, full outcome and cleanup integration are unfinished. Fresh bounded publisher retrieval did not settle the pending copied-disposal question.
|
||||
**28 September ruling and runtime:** the user selected ordinary winner retention for the physical Mirror even when its copy activates Tooth or Artillery. This is an explicit product interpretation, not a located GF9 clarification. `game/effective-weapons.ts` keeps physical identity apart from copied attacks; the engine now connects copied Tooth/Stone choices, Stone comparison, custody, battle controls and legal AI in the bounded configuration.
|
||||
|
||||
## Primary evidence and a retention correction
|
||||
|
||||
@@ -12,7 +12,7 @@ Mirror Weapon is one physical **Weapon / Special**, canonical ID `richese-mirror
|
||||
|
||||
The [CHOAM & Richese rulebook](https://www.gf9games.com/dune/wp-content/uploads/2021/11/CHOAM-Rulebook-low-res.pdf), pp4–6, establishes replacement Tooth/Artillery cards, one separate ten-card cache, and normal Treachery discard routing. Local publisher-text mirror: `/tmp/dune-rules/choam-lelekan-mirror.pdf` and `.txt`. Direct GF9 retrieval returned 403; fresh official indexed excerpts corroborated p4. Bounded official-domain Mirror searches yielded no card-specific clarification.
|
||||
|
||||
**Do not infer compulsory winner disposal from that footer alone.** The [November 2020 FAQ](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf), p8, gives winning battle cards a general keep option even without printed retention wording. Page1 expressly makes used Tooth and Artillery exceptions, including when their player wins; an unactivated winning Tooth can be kept. The 2021 Mirror face adds no explicit winner exception. Recommended ordinary composition is that a winning Mirror can be retained; copying a disposable weapon raises a separate inheritance question below. This corrects the earlier inventory's overly definite mandatory-discard interpretation without claiming a new Mirror erratum. Losing and mutual-loss cleanup still discard played cards normally. A traitor-decided battle preempts weapon effects under the [base rules, pp10–11](https://www.gf9games.com/dunegame/wp-content/uploads/Dune-Rulebook.pdf).
|
||||
**Winner disposal interpretation.** The [November 2020 FAQ](https://www.gf9games.com/dune/wp-content/uploads/2020/11/Dune-FAQ-Nov-2020.pdf), p8, gives winning battle cards a general keep option even without printed retention wording. Page1 names used Tooth and Artillery as exceptions, including when their player wins; an unactivated winning Tooth can be kept. The printed Mirror face says “Discard after use” without a winner exception. The user chose to treat the copied attack as an effect, not a change of the physical Mirror’s identity: a victorious Mirror may be retained even after copying activated Tooth or Artillery. This is a product interpretation, not a GF9 erratum. Losing and mutual-loss cleanup still discard the physical Mirror.
|
||||
|
||||
## Weapon matrix
|
||||
|
||||
@@ -27,9 +27,9 @@ Here “copy” means an effective attack belonging to the Mirror player, evalua
|
||||
| Weirding Way in the weapon slot | Copy its projectile weapon role. |
|
||||
| Chemistry in the weapon slot | Copy its poison weapon role. The opponent's pair must already be legal. Do not retroactively require the Mirror holder to possess the other defense that made the original Chemistry legal: Mirror is the committed weapon, and copies a card which already counts as a weapon. |
|
||||
| Weirding Way or Chemistry in the defense slot | Do not copy that defense. Inspect the opponent's actual weapon slot instead, which may contain another valid weapon or nothing. |
|
||||
| Poison Tooth | Copy the optional post-reveal attack, not the original owner's eventual answer. The Mirror owner chooses activation first, then the original owner chooses. Persist two separate choices. Reuse the established self-and-opponent attack evaluation; do not apply deaths between these declarations or count a leader death twice. Copy-related physical-card retention remains unresolved below. |
|
||||
| Artillery Strike | Copy the attack on both leaders, suppression of surviving leader strength, and no-bounty battle effect. Apply battle-wide suppression once, not twice. No extra mode choice is created. Copy-related physical-card retention remains unresolved below. |
|
||||
| Stone Burner | The copied effect has its own post-reveal choice, made before the original user's choice. Both effects replace ordinary leader/dial comparison with the same undialed-token comparison. A kill choice cannot be undone by the later ignore-strength choice. Underlying Stone Burner outcome/casualty implementation is not present, so do not silently reduce this to ordinary weapon kills. |
|
||||
| Poison Tooth | Copy the optional post-reveal attack, not the original owner's eventual answer. The Mirror owner chooses activation first, then the original owner chooses. Persist two separate choices. Reuse the established self-and-opponent attack evaluation; do not apply deaths between these declarations or count a leader death twice. An activated copy does not make the physical Mirror a Tooth for winner disposal. |
|
||||
| Artillery Strike | Copy the attack on both leaders, suppression of surviving leader strength, and no-bounty battle effect. Apply battle-wide suppression once, not twice. No extra mode choice is created. The physical Mirror retains the ordinary winner option. |
|
||||
| Stone Burner | The copied effect needs its own post-reveal choice before the original user's choice. Both effects use the existing undialed physical-token comparison. Either kill choice kills both leaders; one ignore choice cannot reverse that. Share the existing Stone casualty-feasibility and mode logic rather than substituting ordinary weapon kills. |
|
||||
| No weapon, or Worthless in place of a weapon | No effective attack. Mirror remains its physical committed Weapon / Special; an occupied slot alone is insufficient evidence of an opposing weapon. |
|
||||
| Reinforcements or Harass & Withdraw in place of a weapon | No effective attack from those cards. The [Ecaz/Moritani rulebook p11](https://www.gf9games.com/dune/wp-content/uploads/EcazMoritani-Rulebook-LOWRES.pdf) explicitly says they do not count as a weapon or defense. Their other effects are independent. |
|
||||
| A second Mirror | Not a reachable legal physical inventory: the verified collection has exactly one. Reject duplicated physical custody. A future variant adding another copy needs a cycle rule; do not invent an infinite recursion or pretend two copies become an ordinary attack. |
|
||||
@@ -52,8 +52,8 @@ The existing FAQ-backed defense distinctions must survive copying: Chemistry def
|
||||
| `game/battle-cards.ts`: kind arrays, pair/Voice helpers | Introduce strict identity-aware weapon admission and declared-role matching. Existing `WEAPON_KINDS.includes(card.kind)` cannot recognize a canonical Mirror transported as `special`. Avoid changing every Special's role. |
|
||||
| `engine.ts`: `validatePlan`, `findReachableBattlePlan`, `feasiblePrescience` | Use the same legal weapon admission. Preserve physical IDs and promised slots in all plan searches; a selector-only change would leave authoritative plans impossible. |
|
||||
| `nextRevealedDecision` | Currently detects physical `poisonTooth` and iterates storm order. It misses a copy entirely and orders it incorrectly. Replace or extend with a persisted effective-choice queue. |
|
||||
| `resolveBattle`: explosion and `battleCardEffects` | Explosion currently checks physical `kind === 'lasgun'`. Both explosion and normal effects need the same effective descriptor, including own-side attacks and global suppression. |
|
||||
| `canRetainBattleCard` and Moritani cleanup | Keep a shared physical cleanup policy. Do not turn the Mirror into a disposable physical Tooth by mutating its kind. Resolve the copy-disposal question before enabling affected pairings. |
|
||||
| `resolveBattle`: explosion and `battleCardEffects` | The existing effective descriptor already feeds explosion and ordinary attacks. Extend Stone comparison, copied mode ownership and full outcome through that same descriptor; never substitute a physical copied card. |
|
||||
| `canRetainBattleCard` and Moritani cleanup | Keep a shared physical cleanup policy. Do not turn the Mirror into a disposable physical Tooth: the user selected ordinary winner retention even for an activated Tooth or Artillery copy. |
|
||||
| `game/bots.ts`: plan candidates, `weaponKills`, `battleCardEffects`, Tooth decision | Use legal physical candidates and effective attacks only from legitimately known plans. A hidden opposing hand is not an AI input. Handle ordered post-reveal copy decisions with the same effect evaluator. |
|
||||
| Battle plan, revealed components and Rules presentation | Name and inspect the original Mirror. An additional public description can name the copied revealed weapon after both plans reveal. No extra acknowledgement is needed for a deterministic copy. |
|
||||
|
||||
@@ -65,23 +65,22 @@ Portable Snooper is concurrently being integrated by the parent. Consume its fin
|
||||
but cannot alone open a genuine setup. CHOAM's Treachery deck supplies Poison
|
||||
Tooth and Artillery even without Ix, while the full Richese cache supplies Stone
|
||||
Burner. A public configuration gate therefore cannot isolate ordinary copies.
|
||||
Rejecting according to a concealed opposing hand/plan would leak information;
|
||||
rejecting after commitments could strand the battle. Do not remove physical
|
||||
cards or manufacture a restricted deck to claim complete-game support. Mirror
|
||||
remains gated pending the existing copied-disposal ruling and copied-choice work.
|
||||
This qualifies the earlier ordinary-slice recommendation below; it does not
|
||||
invalidate the existing focused arithmetic evidence or answer the user question.
|
||||
Do not remove physical cards or manufacture a restricted deck to claim
|
||||
complete-game support. The user's copied-disposal interpretation removes that
|
||||
specific blocker. The bounded engine now admits Mirror with physical-card
|
||||
custody, public Stone feasibility and copied-choice event checks; it does not
|
||||
certify combined expansion modes or complete Richese starts.
|
||||
|
||||
- **Copied compulsory disposal:** the FAQ names physical Tooth/Artillery, while Mirror copies a weapon. The retrieved primary sources do not explicitly say whether their disposal exception also applies to the physical Mirror. Separate combat effects from cleanup and obtain a ruling before certifying those pairings. This does not justify blocking ordinary projectile/poison/Lasgun/Poison Blade/selected-role copies.
|
||||
- **Stone Burner foundation:** the full effect is presently unsupported. Basic undialed counts follow physical forces minus dialed losses; ties use ordinary aggressor priority unless overridden. Advanced mixed/support-dependent dials can permit different physical casualty allocations, which now affect who wins; the present engine chooses those only for an already determined winner. Stone's original choice and allocation timing must be implemented/audited before its copied form. This is an underlying special-outcome problem, not uncertainty over whether Mirror copies a valid weapon.
|
||||
- **Copied compulsory disposal:** the physical Mirror follows ordinary winner retention even if it copies activated Tooth or Artillery, by the user's selected product interpretation. Keep physical identity separate from the effective attack and do not present this as a publisher ruling.
|
||||
- **Stone Burner composition:** the original Stone effect has a runtime foundation with a public precommit casualty-feasibility guard and one saved choice. A copied Stone needs the same feasibility for the Mirror holder without inspecting the opposing sealed plan, plus separate copy-first choice ownership. This is an outcome-integration problem, not uncertainty over whether Mirror copies a valid weapon.
|
||||
- **Higher modules:** inactive leader skills may modify attacks, defenses or card roles. No combined leader-skill certification follows from the matrix. Two physical Mirrors are outside the verified inventory rather than a normal supported interaction.
|
||||
|
||||
## Required verification before claiming the slice
|
||||
|
||||
Tests should cover every matrix row in both attacker/defender positions; paired defenses; no-attack copies; Mirror plus defensive Weirding Way; named Voice and physical prescience/Truth commitments; Lasgun explosion including advisors/spice and traitor preemption; copied Tooth choice order independent of storm order; once-only global Artillery suppression; exact physical retention/discard policy after its ruling; Moritani eligible-card filtering; JSON restoration between reveal and choices; stale event rejection; and identical unauthorized projections with different opposing hands. Run all four AI profiles through a complete supported battle, including a Mirror with no useful copy, without an acknowledgement or deadlock.
|
||||
|
||||
Five facets remain partial: source audit and component text are present; authoritative behavior, player controls, AI and integrated verification have not been activated by this document. Existing tests of ordinary battle cards are useful regression evidence, not proof of Mirror behavior.
|
||||
The earlier five-facet audit is superseded only for the bounded CHOAM/Richese-deck battle path. Combined expansion modules, leader-skill role changes, every historical save and full Richese-game acceptance remain outside this checkpoint.
|
||||
|
||||
## Pending user clarification (2026-09-06)
|
||||
## User-selected cleanup interpretation (28 September 2026)
|
||||
|
||||
The coordinating agent asked whether a Mirror copying an activated Poison Tooth or Artillery must inherit that card’s mandatory discard on victory, or whether the physical Mirror uses ordinary winner retention. No answer has been received at this checkpoint. The question does not concern Portable Snooper, whose ordinary winner retention follows the general FAQ. Do not infer an answer from the first preselected UI option or elapsed time.
|
||||
After a bounded source search, no GF9 passage was found that expressly applies Tooth/Artillery's named winner-discard exception to the physical Mirror. The user selected retention of a victorious Mirror regardless of those copied attacks. The original Tooth/Artillery cards retain their own mandatory-discard rules. The bounded runtime implements this physical-card distinction; it is not a publisher clarification or complete combined-mode acceptance.
|
||||
Reference in new issue
Block a user