Compose classic independent cards with World Nexus rules
Retain independent36, original Homeworlds and Nexus12 through classic fresh setup with optional Skills and phase modules. Resolve own-World Reinforcements fees before computing temporary Sardaukar roles, preserving original Cunning declarations, printed traits and physical counters. Record the provisional ordinary-nonrole-first policy and align human/AI quotes and captions. Validation: types/lint/build, 128 affected tests across 15 files, bounded rule-source review and finite original-action smoke for Recruits, Harass, local-fee Cunning, all four legal policies and rendered source controls. Verified runtime c219ec587a54b44079539168d93835a5af904c8afb4de58bcec0a3d60c809f0c; documentation-only proof update 8ee21598e7be0c89a08fbad50786c346ebc8ae705492d8b31ea00fae0ffefa3c. Full modes, combinations, assurance and deployed acceptance remain open. No saved-room/provider changes.
This commit is contained in:
1 parent
178251ad35
commit
97c2b67650
18 files changed
+737
-30
No files matched your search
@@ -1293,8 +1293,9 @@ export function GameTable({
|
||||
{classicNexusPreview && (
|
||||
<p className="notice" role="status">
|
||||
Classic Nexus reactions preview · Basic/Advanced classic factions, original base33
|
||||
or selected independent36 Treachery, optionally all14 Leader Skills. Homeworld/Nexus
|
||||
core currently keeps base33; independent World cards remain a separate preview boundary.
|
||||
or selected independent36 Treachery, optionally all14 Leader Skills and Homeworlds.
|
||||
Own-World Reinforcements fees provisionally spend ordinary non-role counters first,
|
||||
reducing temporary Sardaukar roles only when converted counters pay.
|
||||
Original Tech (3+ seats) and Advanced Strongholds (2+ seats) may compose. Native reactions
|
||||
retain original card, force and payment authority. Acknowledgement timing and
|
||||
purchase/bonus ordering remain provisional. Other modules and complete Nexus
|
||||
|
||||
@@ -23,9 +23,11 @@ export function NexusSardaukar({ game, act, busy }: Props) {
|
||||
return (
|
||||
<section aria-label="Emperor Nexus active" className="notice">
|
||||
<p>
|
||||
Five ordinary Emperor counters count as Sardaukar for this battle.
|
||||
They remain ordinary physical counters; any losses go to the ordinary
|
||||
Tanks.
|
||||
Cunning declared five ordinary Emperor counters as Sardaukar for this
|
||||
battle. An own-Homeworld reserve fee can reduce that group;
|
||||
the selected plan shows the remaining combat pool. These counters
|
||||
retain their ordinary physical identity and go to the ordinary Tanks
|
||||
when lost.
|
||||
</p>
|
||||
</section>
|
||||
);
|
||||
|
||||
@@ -31,6 +31,6 @@ export function ReinforcementsSources({ game, choices, selected, onChange, busy
|
||||
{choices.length > 1 && <p className="fine" aria-live="polite">
|
||||
Selected fee: {reinforcementsSourceLabel(game, choices[selected])}.
|
||||
</p>}
|
||||
<p className="notice">Provisional own-World composition: counters paying the fee cannot also fund your physical dial. The original printed face and support traits stay fixed; the bonus adds no physical counters.</p>
|
||||
<p className="notice">Provisional own-World composition: counters paying the fee cannot also fund your physical dial. Ordinary counters without a temporary Sardaukar role pay first; if needed, paying converted counters reduces that role. The original printed face and support traits stay fixed; the bonus adds no physical counters.</p>
|
||||
</fieldset>;
|
||||
}
|
||||
Reference in new issue
Block a user