Connect Advanced Ecaz and Moritani special Karama first versions

This commit is contained in:
Quintine committed 2026-10-08 11:29:08 +11:00
1 parent 59a406830c
commit d438d923a3
17 files changed
+872 -3

No files matched your search

+49 -2
View File
@@ -2994,6 +2994,50 @@ export const RULE_TOPICS: RuleTopic[] = [
'privacy',
],
},
{
id: 'ecaz-special-karama',
title: 'Ecaz special Karama: unarmed leader-disc difference',
category: 'Advanced & expansions',
coverage: 'Partial',
developmentStage: 'Prototyped',
summary: 'Declare the once-game unarmed power before reveal; virtual disc difference adds strength without extra physical losses.',
steps: [
'Native Advanced Ecaz may spend one available actual Karama before both plans reveal. Declare before sealing or after an unarmed own plan. Both weapon and defense slots must stay empty.',
'The owned panel does not inspect or quote an opposing hidden leader. Current battle event, physical card, once-use and legal unarmed completion are validated before cost.',
'Provisional formula: absolute printed/copied leader-disc difference adds virtual dial strength after reveal. It adds no counters, extra support or physical casualties; KH and skill modifiers are excluded. Traitor/explosion precedence remains native.',
'This is supplied PDF physical p30 Ecaz G with explicit first-version interpretation. Combined lead/custody and wider timing refinement do not certify complete Ecaz or reopen public gates.',
],
related: ['ecaz-occupy', 'special-karama', 'battle'],
checklist: [
{ area: 'Implementation', status: 'Partial', detail: 'Normalized real-card/once-use declaration, unarmed commitment and authoritative virtual-strength resolution are connected.', evidence: ['game/ecaz-special-karama.ts', 'game/engine.ts', 'game/battle-resolution-quote.ts'] },
{ area: 'Player controls', status: 'Partial', detail: 'Owned event-bound selector, declared status and provisional formula; live isolated React declaration clicked in Chromium.', evidence: ['components/ecaz-special-karama.tsx', 'components/game-table.tsx'] },
{ area: 'AI', status: 'Partial', detail: 'Minimum legal unarmed declaration and plan filtering use only its own quote; strategic refinement is deferred.', evidence: ['game/bots.ts'] },
{ area: 'Documentation', status: 'Partial', detail: 'Supplied source and physical/virtual interpretation are explicit.', evidence: ['docs/ECAZ_OCCUPY_RULES.md'] },
{ area: 'Verification', status: 'Partial', detail: 'One direct changed-path smoke observes winner change, unarmed rejection, two physical losses and two support spice; types pass. No broad acceptance claimed.' },
],
},
{
id: 'moritani-special-karama',
title: 'Moritani special Karama: opponent played-card disposal',
category: 'Advanced & expansions',
coverage: 'Partial',
developmentStage: 'Prototyped',
summary: 'After losing, force kept/discarded subsets of the actual winner’s public played cards with one real Karama.',
steps: [
'Native Advanced Moritani with its once-use unspent gets an owned opportunity before optional winner-card disposal. Decline without cost or choose exact disjoint keep/discard subsets and one actual Karama.',
'Only public played identities still held by the winner are offered. Unchanged cards remain the winner’s choice; forced keeps are removed from that optional discard list.',
'Provisional precedence: compulsory named-card disposal finishes first, and force keep applies only to ordinary retainable cards. The supplied p35 Moritani F does not adjudicate this mandatory-disposal override.',
'Cost, once-use, source/event revalidation and fresh-discard continuation are native. Mixed aftermath and other timing refinement remain separate; no full Moritani certification is claimed.',
],
related: ['moritani-ally-retention', 'special-karama', 'battle'],
checklist: [
{ area: 'Implementation', status: 'Partial', detail: 'Owned resolved-loss opportunity, exact subsets, real cost and one winner-cleanup continuation are connected.', evidence: ['game/moritani-special-karama.ts', 'game/engine.ts'] },
{ area: 'Player controls', status: 'Partial', detail: 'Real card selector and per-public-card keep/discard controls; live isolated React choices submitted in Chromium.', evidence: ['components/moritani-special-karama.tsx', 'components/game-table.tsx'] },
{ area: 'AI', status: 'Partial', detail: 'Legal own-quote weapon/defense forced discard or decline; no unused opposing hand data.', evidence: ['game/moritani-special-karama-options.ts', 'game/bots.ts'] },
{ area: 'Documentation', status: 'Partial', detail: 'Distinct special power, supplied source and provisional precedence are recorded.', evidence: ['docs/MORITANI_ALLY_RETENTION_RULES.md'] },
{ area: 'Verification', status: 'Partial', detail: 'One actual loss/cost/forced keep/discard/cleanup smoke and current types pass; no broad acceptance claimed.' },
],
},
{
id: 'moritani-assassinate-leaders',
title: 'Moritani: advanced Assassinate Leaders',
@@ -3336,7 +3380,7 @@ export const RULE_TOPICS: RuleTopic[] = [
category: 'Advanced & expansions',
coverage: 'Partial',
summary:
'The five base faction special powers and Tleilaxu revival prevention have engine support; timing and expansion audits remain.',
'Native faction special powers have connected first versions, including Ecaz’s unarmed disc-difference and Moritani’s winner-card disposal; timing and combination refinement remain.',
steps: [
'Spend an actual Karama card to activate your faction’s special power once per game. The usage remains spent on later turns, but you may still use other Karama cards normally. These powers resolve directly without a normal faction cancellation window.',
'After Voice and ordinary prescience are resolved or declined, Atreides may spend its special Karama to inspect either combatant’s entire plan, including in a battle it is not fighting. The target commits first; Atreides receives the dial, leader, weapon, defense, spice support and KH selection privately. Its ally does not automatically receive this view.',
@@ -3354,12 +3398,15 @@ export const RULE_TOPICS: RuleTopic[] = [
'Tleilaxu receive a decision before another faction’s normal revival completes, whether or not they hold Karama. Decline to continue the revival, or spend a real Karama once per game to prevent that faction’s normal force and leader revivals for the current turn. A stopped attempt spends no spice, returns no pieces and consumes no elite or extra-revival quota.',
'This includes negotiated leaders, KH and Emperor-funded allied extra forces. The Emperor remains the payer when an extra revival is allowed. Hidden leader identities and prices are not added to the public stop decision. Ghola treachery and the Emperor’s special Karama currently remain separate from the normal-revival restriction.',
'The printed Tleilaxu power is brief. Its full-turn scope, precise timing and card/special-power exceptions remain provisional pending the complete primary-source audit. These choices are tested implementation behavior, not certification of the full expansion rules.',
'Remaining expansion special powers, plus further timing and expansion interaction audits, remain unfinished. Advanced preview is available for the six classic factions.',
'CHOAM cash-in, Richese acquisition and Ixian HMS relocation also have connected special-use paths. Ecaz’s supplied p30 unarmed disc difference and Moritani’s supplied p35 post-loss winner-card disposal now have owned controls and native cost/once-use, with explicit provisional numeric/disposal interpretations. Advanced preview remains six-classic only; broader timing and combinations are not certified.',
'Richese’s special purchase is available in development tables: spend a Karama and three spice to choose privately from the cache, with separate Emperor income and explicit full-hand/final-cache guards. See its acquisition guide for current controls and limits.',
'See Ecaz special Karama and Moritani special Karama for their source-bound first versions. Their declarations do not create a normal faction-cancellation window; existing Kull/BG handling remains in the shared special-intent pipeline.',
],
related: [
'card-karama',
'richese-acquisition',
'ecaz-special-karama',
'moritani-special-karama',
'bidding',
'revival',
'faction-harkonnen',