Connect native E3 World Skills and independent cards

This commit is contained in:
Quintine committed 2026-10-17 23:38:13 +11:00
1 parent 01985af36b
commit bc37cd38fe
18 files changed
+553 -92

No files matched your search

+31 -16
View File
@@ -8589,12 +8589,13 @@ function moritaniAssassinateModeSupported(g: Game) {
(f.expansion === 'base' || g.expansions.includes(f.expansion)))) &&
(!g.nexusCards || (!!g.leaderSkills && standaloneE3NexusLeaderSkillsProfile(g))) &&
(!g.leaderSkills || advancedMoritaniLeaderSkillsProfile(g)) &&
(!g.strongholdCards || e3StrongholdFactionProfile(g) ||
(!g.strongholdCards || e3StrongholdFactionProfile(g) || independentCardModulesProfile(g) ||
(!!g.leaderSkills && strongholdLeaderSkillsProfile(g))) &&
(!g.homeworlds || g.homeworldOccupationPreview === true ||
(!g.homeworlds || g.homeworldOccupationPreview === true || ecazHomeworldProfile(g) ||
(!!g.leaderSkills && homeworldLeaderSkillsProfile(g))) &&
!g.discoveryEnabled && !g.discoveries &&
(!g.techTokens || nativeFactionTechProfile(g) || (!!g.leaderSkills && nativeTechLeaderSkillsProfile(g)));
(!g.techTokens || nativeFactionTechProfile(g) || independentCardModulesProfile(g) ||
(!!g.leaderSkills && nativeTechLeaderSkillsProfile(g)));
}
function moritaniAssassinateContext(g: Game, receipt: MoritaniAssassinateReceipt) {
const p = getPlayer(g,receipt.owner), opponent = getPlayer(g,receipt.opponent);
@@ -10532,6 +10533,8 @@ function ecazOccupyCompositionSupported(g: Game): boolean {
g.players.some(p => p.faction === 'ecaz')) return true;
if (g.discoveries && nativeDiscoveryLeaderSkillsProfile(g) &&
g.players.some(p => p.faction === 'ecaz')) return true;
if (g.homeworlds && !g.leaderSkills && g.ecazOccupyPreview === true &&
ecazHomeworldProfile(g) && byFaction(g, 'ecaz')) return true;
// Native World reserve/threshold rules do not replace the ordinary Arrakis
// coalition. Reuse that battle only within the original Ecaz/classic setups.
if (g.homeworlds && g.expansions.length === 1 && g.expansions[0] === 'ecaz' &&
@@ -10554,8 +10557,9 @@ function ecazOccupyCompositionSupported(g: Game): boolean {
(['ecaz', 'moritani', 'ixians', 'tleilaxu', 'choam', 'richese'].includes(p.faction) &&
g.expansions.includes(faction(p.faction).expansion))) &&
!g.homeworlds && !g.nexusCards && !g.leaderSkills &&
(!g.strongholdCards || e3StrongholdFactionProfile(g)) &&
(!g.techTokens || nativeFactionTechProfile(g)) && !g.discoveryEnabled && !g.discoveries &&
(!g.strongholdCards || e3StrongholdFactionProfile(g) || independentCardModulesProfile(g)) &&
(!g.techTokens || nativeFactionTechProfile(g) || independentCardModulesProfile(g)) &&
!g.discoveryEnabled && !g.discoveries &&
!g.discoveryStash && !g.greatMaker &&
(g.ecazTreachery === undefined || g.ecazTreachery === true);
}
@@ -10708,13 +10712,13 @@ export function initializeLeaderSkillsGameForAudit(state: Game): Game {
const homeworlds = homeworldLeaderSkillsProfile(state);
const independent = independentTreacheryLeaderSkillsProfile(state);
if (state.ecazTreachery) {
requireRule(independent, 'Independent cards with Skills require a fresh supported selected-deck roster with original Homeworlds/Tech/Advanced Strongholds; Nexus/Discovery and native E3 Worlds remain gated.');
requireRule(independent, 'Independent cards with Skills require a fresh supported selected-deck roster with original Homeworlds/Tech/Advanced Strongholds; Nexus/Discovery and mixed E3 remain gated.');
requireFreshBaseRuntime(state);
requireFreshFactionInventory(state);
}
if (state.homeworlds) {
requireRule(homeworlds && state.homeworlds.custody === null,
'Homeworld Leader Skills require a fresh supported classic or native E1/E2/standalone E3 lobby with original modules and undealt custody.');
'Homeworld Leader Skills require a fresh supported classic or native roster with original modules and undealt custody.');
requireFreshBaseRuntime(state);
requireFreshFactionInventory(state);
}
@@ -10748,16 +10752,23 @@ function independentCardRoster(g: Game): boolean {
return family === 'base' || g.expansions.includes(family);
});
}
/** World/phase compositions retain the original one-family native E3 envelope. */
function independentCardModuleRoster(g: Game): boolean {
return independentCardRoster(g) &&
(!g.players.some(player => player.faction === 'ecaz' || player.faction === 'moritani') ||
(g.expansions.length === 1 && g.expansions[0] === 'ecaz'));
}
function ecazHomeworldProfile(g: Game): boolean {
if (g.homeworlds && g.leaderSkills && !g.sandtrout && independentTreacheryLeaderSkillsProfile(g)) return true;
return !!g.homeworlds && g.ecazTreachery === true && independentCardRoster(g) &&
!g.players.some(player => player.faction === 'ecaz' || player.faction === 'moritani') &&
return !!g.homeworlds && g.ecazTreachery === true && independentCardModuleRoster(g) &&
g.players.length >= 2 && g.players.length <= 6 &&
!g.nexusCards && !g.leaderSkills &&
((!g.techTokens && !g.strongholdCards) || independentCardModulesProfile(g)) &&
!g.discoveryEnabled && !g.discoveries && !g.discoveryStash && !g.greatMaker && !g.sandtrout &&
!g.ecazOccupyPreview && !g.semutaPreview && !g.kullPreview && !g.nexusKullPreview &&
!g.richeseBetrayalPreview && !g.guildBetrayalPreview && !g.moritaniAssassinatePreview &&
(!g.ecazOccupyPreview || !!byFaction(g, 'ecaz')) &&
(!g.moritaniAssassinatePreview || (g.advanced && !!byFaction(g, 'moritani'))) &&
!g.semutaPreview && !g.kullPreview && !g.nexusKullPreview &&
!g.richeseBetrayalPreview && !g.guildBetrayalPreview &&
!g.spiceBankerIncomePreview && !g.nexusIxianReplacementPreview &&
!g.nexusIxianBetrayalPreview && !g.nexusHarkonnenBetrayalPreview;
}
@@ -10765,14 +10776,16 @@ function ecazHomeworldProfile(g: Game): boolean {
function independentCardModulesProfile(g: Game): boolean {
if ((g.techTokens || g.strongholdCards) && g.leaderSkills && !g.sandtrout &&
independentTreacheryLeaderSkillsProfile(g)) return true;
if (!g.ecazTreachery || (!g.techTokens && !g.strongholdCards) || !independentCardRoster(g) ||
g.players.some(player => player.faction === 'ecaz' || player.faction === 'moritani') ||
if (!g.ecazTreachery || (!g.techTokens && !g.strongholdCards) || !independentCardModuleRoster(g) ||
g.players.length < (g.techTokens ? 3 : 2) || g.players.length > 6 ||
(g.strongholdCards && !g.advanced) ||
(g.advanced && !!byFaction(g, 'moritani') && !!byFaction(g, 'harkonnen')) ||
g.nexusCards || g.leaderSkills ||
g.discoveryEnabled || g.discoveries || g.discoveryStash || g.greatMaker || g.sandtrout ||
g.ecazOccupyPreview || g.semutaPreview || g.kullPreview || g.nexusKullPreview ||
g.richeseBetrayalPreview || g.guildBetrayalPreview || g.moritaniAssassinatePreview ||
(g.ecazOccupyPreview && !byFaction(g, 'ecaz')) ||
(g.moritaniAssassinatePreview && (!g.advanced || !byFaction(g, 'moritani'))) ||
g.semutaPreview || g.kullPreview || g.nexusKullPreview ||
g.richeseBetrayalPreview || g.guildBetrayalPreview ||
g.spiceBankerIncomePreview || g.nexusIxianReplacementPreview ||
g.nexusIxianBetrayalPreview || g.nexusHarkonnenBetrayalPreview) return false;
return true;
@@ -10784,7 +10797,7 @@ export function initializeEcazTreacheryGameForAudit(state: Game): Game {
g.ecazTreachery = true;
const homeworlds = !!g.homeworlds;
requireRule(!homeworlds || ecazHomeworldProfile(g),
'Independent cards with Homeworlds need a fresh classic or selected Ix/CHOAM roster with only original Tech or Advanced Strongholds.');
'Independent cards with Homeworlds need a fresh supported selected-deck roster with original Tech or Advanced Strongholds.');
const initialized = initializeSetupGameForAudit(g, homeworlds, false, false, false, false, false, true, true);
if (byFaction(initialized, 'ecaz')) initialized.ecazOccupyPreview = true;
if (moritaniAssassinateModeSupported(initialized)) initializeMoritaniAssassinateState(initialized);
@@ -16269,6 +16282,8 @@ function ambassadorEffectBlock(
function arrivalOverlapModeSupported(g: Game): boolean {
if ((mixedE3NexusLeaderSkillsProfile(g) || mixedE3NexusProfile(g)) &&
byFaction(g, 'ecaz') && byFaction(g, 'moritani')) return true;
if (g.ecazTreachery && byFaction(g, 'ecaz') && byFaction(g, 'moritani') &&
(ecazHomeworldProfile(g) || independentCardModulesProfile(g))) return true;
return (!!g.leaderSkills && pairedE3LeaderSkillsProfile(g)) || pairedE3NexusLeaderSkillsProfile(g) || pairedE3NexusProfile(g) ||
(!!byFaction(g, 'ecaz') && !!byFaction(g, 'moritani') &&
g.players.every(player => CLASSIC_FACTIONS[player.faction] === true ||
+4 -4
View File
@@ -188,12 +188,12 @@ function pairedE3LeaderSkillRoster(game: LeaderSkillProfile): boolean {
return ecaz && moritani;
}
/** Both original E3 natives with original phase modules; independent cards are optional. */
/** Both original E3 natives with original World/phase modules; cards are optional. */
export function pairedE3LeaderSkillsProfile(game: LeaderSkillProfile): boolean {
if (game.expansions.length !== 1 || game.expansions[0] !== 'ecaz' ||
typeof game.advanced !== 'boolean' || !game.players ||
game.players.length < 2 || game.players.length > 6 ||
game.homeworlds || game.nexusCards || game.discoveries || game.discoveryEnabled ||
game.nexusCards || game.discoveries || game.discoveryEnabled ||
!e3LeaderSkillModulesSupported(game) ||
game.discoveryStash || game.greatMaker || game.semutaPreview || game.advancedPreview ||
(game.moritaniAssassinatePreview && !game.advanced) ||
@@ -504,8 +504,8 @@ export function independentTreacheryLeaderSkillsProfile(game: LeaderSkillProfile
}
if (!selected) return false;
}
// Actual E3 seats retain their one-family, non-World and Advanced Harkonnen boundaries.
if (nativeE3 && (!e3 || game.homeworlds ||
// Actual E3 seats retain their one-family and Advanced Harkonnen boundaries.
if (nativeE3 && (!e3 ||
(game.advanced && players.some(player => player.faction === 'harkonnen')))) return false;
if (game.moritaniAssassinatePreview && (!e3 || !game.advanced ||
!players.some(player => player.faction === 'moritani'))) return false;
+8 -8
View File
@@ -3415,9 +3415,9 @@ export const RULE_TOPICS: RuleTopic[] = [
'The mobile card copies a currently controlled stronghold, even if another faction still holds that location’s card. Holding a card after leaving its location does not itself make that location an eligible copy. The choice is public and fixed before battle plans; a sole eligible advantage is announced automatically.',
'Arrakeen pays only for actual support and creates no personal cash. CHOAM force-payment income includes the bank contribution, subject to its normal traitor and donor exclusions. Carthag does not protect an empty or Worthless defense, stop Poison Tooth, or remove a Shield’s Lasgun explosion risk.',
'Sietch Tabr uses the opposing dial, excluding leaders and other bonuses. A single traitor victory qualifies; mutual destruction does not. Tuek pays after an ordinary loss or a single traitor outcome as well as a win; a double traitor gives neither faction spice. Habbanya also decides a tied Stone Burner comparison.',
'Fresh Advanced classic or supported E1/E2 all14 Skills retains original Strongholds2–6 and optional Tech3–6, including its independent-card/World envelope. Native E3 card Worlds and Nexus/Discovery combinations remain separate. Original deck/cache and actual end-Mentat claims stay. Arrakeen funds only local holder-plan support, never native World support, personal cash or reserve fees; normal Banker uses the final actual payer debit. Rescue preserves support, then cleanup and Tech precede Face Dance. Specific copied-defense/skill-Stone and unrelated guards remain.',
'Standalone or paired Ecaz/Moritani Skills retains these original Advanced phase modules, optionally independent cards, with exact ecaz33/36, native five-disc training and original roster exclusions. Normal Warmaster one on a temporary Duke never grants trained three. Winner Suk precedes unused-disc assassination, printed bounty, winner Tech and one Mentat replacement. Ecaz-held support belongs only to the selected Ecaz plan, not an allied Moritani plan; fixed and variable armies stay separate. Mixed E3 families and shared-Duke assignment remain guarded.',
'Fresh independent Treachery previews compose classic or selected Ix/CHOAM native/base rosters, including original Homeworlds, with Advanced Strongholds2–6 and optional Tech3–6. Actual end-Mentat earns custody. Reinforcements adds no supported counters; Harass vacates control without transferring a retained card early. Exact native fee/return, original card effects and winner Tech order remain; other overlays stay guarded.',
'Fresh Advanced classic or supported E1/E2 all14 Skills retains original Strongholds2–6 and optional Tech3–6, including its independent-card/World envelope. Native E3 follows its one-family roster below; Nexus/Discovery card compositions remain separate. Original deck/cache and actual end-Mentat claims stay. Arrakeen funds only local holder-plan support, never native World support, personal cash or reserve fees; normal Banker uses the final actual payer debit. Rescue preserves support, then cleanup and Tech precede Face Dance. Specific copied-defense/skill-Stone and unrelated guards remain.',
'Standalone or paired Ecaz/Moritani Skills retains original Worlds and Advanced phase modules, optionally independent cards, with exact ecaz33/36, native five-disc training and original role exclusions. Normal Warmaster one on a temporary Duke never grants trained three. Winner Suk precedes unused-disc assassination, printed bounty, winner Tech and one Mentat replacement. Ecaz-held support belongs only to the selected Ecaz plan, not an allied Moritani plan; fixed and variable armies stay separate. Mixed E3 families, Advanced Harkonnen and shared-Duke assignment remain guarded.',
'Fresh independent Treachery previews compose classic, selected Ix/CHOAM native/base or supported standalone/paired Ecaz/Moritani rosters, including original Homeworlds, with Advanced Strongholds2–6 and optional Tech3–6, with or without Skills. Actual end-Mentat earns custody. Reinforcements adds no supported counters; Harass vacates control without transferring a retained card early. Exact native fee/return, original card effects and winner Tech order remain; native role and unrelated overlay guards stay.',
'The six effects, public ownership and pre-plan choice are integrated in development games. Enable Stronghold Cards in an Advanced preview lobby. Complete Advanced compliance and every expansion interaction remain under verification.',
],
example:
@@ -3523,9 +3523,9 @@ export const RULE_TOPICS: RuleTopic[] = [
'Fremen reserve arrivals and Guild cross-planet or return shipments do not trigger Heighliners. A stopped shipment never arrives and cannot trigger it. Bene Gesserit accompanying forces do arrive from off planet and can trigger the token even after a Guild shipment.',
'A battle winner takes one tech token from the defeated faction after casualties and played-card decisions. With several available tokens, the winner chooses. A winner still takes the token if no winning forces survive. Mutual destruction has no winner and transfers no token.',
'Owning all three tokens counts as one additional stronghold at victory checks. An alliance cannot combine separate token holdings to qualify: one member must own the complete set. Multiple sides reaching the victory target can share the win.',
'Token ownership and pending income are public and persist. Fresh classic, selected E1/E2 or standalone/paired E3 all14 keeps original Tech3–6 Basic/Advanced and optional Advanced Strongholds2–6. Classic/E1/E2 Worlds may also select the independent cards; native E3 card Worlds and Nexus/Discovery retain their own guards. Rescue/board-spice precedes winner Tech and Face Dance. Mandatory normal Banker waits for Mentat, separate from phase-end Tech; fees/H returns are not revival/shipment. Native CHOAM opening income is not poverty Charity. Two-player Tech and full combined acceptance remain unfinished.',
'Token ownership and pending income are public and persist. Fresh classic, selected E1/E2 or standalone/paired E3 all14 keeps original Tech3–6 Basic/Advanced and optional Advanced Strongholds2–6, including supported Worlds and independent cards. Nexus/Discovery card contexts retain separate guards. Rescue/board-spice precedes winner Tech and Face Dance. Mandatory normal Banker waits for Mentat, separate from phase-end Tech; fees/H returns are not revival/shipment. Native CHOAM opening income is not poverty Charity. Two-player Tech and full combined acceptance remain unfinished.',
'Without Skills, fresh native E1/E2 families or standalone Ecaz OR Moritani with classic opponents may preserve unused original Tech Tokens through the local factions entry, Basic/Advanced three through six players; Advanced stronghold-factions adds the original six Stronghold Cards. Native payments, typed casualties, selected Ecaz lead rewards and Moritani original assassination remain separate. Split allied holdings never qualify as a complete set. Basic odd Occupy, Richese cache/No-Field rulings, unrelated overlays, public starts and saved-game conversion remain guarded.',
'Classic or selected Ix/CHOAM native/base independent-card previews, including Homeworlds, retain unused Tech3–6 Basic/Advanced and optional Advanced Strongholds2–6. Recruits changes current native rates without repeating Axlotl or advancing payout. Harass deposits and reserve fees are not free Revival or off-planet shipment. Original phase income/native custody/winner rewards remain; other overlays stay separate.',
'Classic, selected Ix/CHOAM native/base or supported standalone/paired Ecaz/Moritani independent-card previews, including Homeworlds, retain unused Tech3–6 Basic/Advanced and optional Advanced Strongholds2–6, with or without Skills. Recruits changes current native rates without repeating Axlotl or advancing payout. Harass deposits and reserve fees are not free Revival or off-planet shipment. Original phase income/native custody/winner rewards remain; native role and unrelated overlay guards stay.',
],
example:
'You own Heighliners and Axlotl Tanks. When Emperor ships from reserves, place two spice on Heighliners. A later shipment adds nothing. Collect the two spice when Shipping and Movement ends.',
@@ -4064,9 +4064,9 @@ export const RULE_TOPICS: RuleTopic[] = [
).join(' '),
steps: [
'Homeworlds are an optional module from Ecaz & Moritani, available under the official rules with Basic or Advanced play. They are separate locations outside Arrakis; they do not receive ordinary storm movement or count as ordinary strongholds.',
'Fresh classic/E1/E2 World all14 uses actual registered seats and selected ordinary decks in Basic/Advanced; no expansion faction or independent card is required to unlock training. Independent cards may join original Tech3+/Advanced Strongholds2+ in this envelope. Original no-card Nexus/Discovery and native E3 World profiles retain their separate roster/effect limits. Actual starting hands, Ix card-before-training and ordinary native discs remain; Auditor/shared Duke never train. Typed native Suk saves stay at that home; external Emperor returns allocate original Kaitain/Salusa destinations. No nested location gains an ordinary Stronghold benefit or saved history by default.',
'Fresh classic/E1/E2 World all14 uses actual registered seats and selected ordinary decks in Basic/Advanced; no expansion faction or independent card is required to unlock training. Standalone/paired Ecaz/Moritani also retains original Worlds, optional independent cards and original Tech3+/Advanced Strongholds2+ within its one-family role envelope. Original no-card Nexus/Discovery retains separate limits. Actual starting hands, Ix card-before-training and native five-disc assignment remain; Auditor/shared Duke never train. Typed native Suk saves stay at that home; external Emperor returns allocate original Kaitain/Salusa destinations. No nested location gains an ordinary Stronghold benefit or saved history by default.',
'Each faction uses its own card and matching world token. In Basic play the Emperor uses Kaitain alone. Advanced play adds Salusa Secundus for its Sardaukar; movement can transfer both force types between the two Emperor worlds.',
'Fresh supported classic/E1/E2 Worlds compose original all14 and the independent36/38/50-card setup, optionally Tech3+/Advanced Strongholds2+. Recruits observes current native rates/typed limits and recorded paid/free use; Banker and phase-end Axlotl remain separate. Reinforcements seals exact normal-first native sources and excludes an own-World fee from physical dial/casualties while preserving original face/support. Suk rescues committed losses, not fees. Harass returns actual visitors through native custody and is forbidden on every own World. Native E3, Nexus/Discovery and other effect-specific guards remain.',
'Fresh supported classic/E1/E2 and standalone/paired E3 Worlds compose all14 and the independent36/38/50-card setup, optionally Tech3+/Advanced Strongholds2+; native E3 card starts also work without Skills. Recruits observes current native rates/typed limits and recorded paid/free use; Banker and phase-end Axlotl remain separate. Reinforcements seals exact normal-first native sources and excludes an own-World fee from physical dial/casualties while preserving original face/support. Suk rescues committed losses, not fees. Harass returns actual visitors through native custody and is forbidden on every own World. Mixed E3, Nexus/Discovery and role/effect-specific guards remain.',
'Native reserves determine high or low population. Salusa counts Sardaukar, while the other cards count the faction’s reserves there. Reaching the high face’s minimum restores high population. Occupation also applies the low penalty.',
'Low population normally grants one additional free force revival and one additional bank spice when collecting CHOAM Charity. Salusa grants neither bonus; CHOAM’s Tupile reverses the usual pattern by granting an advantage while low and a penalty while high.',
'A qualifying charity claim separates its ordinary payer from the extra bank spice. Inflation doubles both portions or prevents the whole collection. Canceling Bene Gesserit charity prevents both portions of that claim.',
@@ -4931,7 +4931,7 @@ export const RULE_TOPICS: RuleTopic[] = [
'Explicit guild-betrayal --leader-skills retains the original classic native-Guild Nexus profile without Homeworlds, Tech, Strongholds, Discovery, Semuta or other overlays. All14 training remains native. Ordinary skill quotes now admit the composition, restoring actual Mentat private questions before posture and Sandmaster ground collection rather than only enabling Bureaucrat. Native card custody, paid forces, original Betrayal Use/Pass and movement/plan continuation stay unchanged. Other combinations and complete-mode acceptance remain separate.',
'Basic Moritani retains classic opponents including Harkonnen. Standalone or paired Ecaz/Moritani Skills retains original Tech3+ and Advanced Strongholds2+, optionally independent cards, with the original Advanced non-Harkonnen assassination roster. Winner Suk and Rihani finish before an eligible different trained disc dies, returns one skill and pays printed bounty. No casualties repeat; original set-aside and one Mentat replacement remain. Shared-Duke training, mixed families and other module envelopes stay guarded.',
'Basic and Advanced selected-deck profiles admit actual Ixians, Tleilaxu, CHOAM/Richese and base seats only from their selected families; unused faction availability never creates a seat or requires one. All14 and native setup remain. Auditor is Advanced and unskilled; foreign-ghola authorization still explicitly requires Advanced, and foreign revival creates no new skill. Cyborg casualties, native funding and capped markers remain physical. Supplied Advanced p34 excludes Richese auctions from Ixian Technology; unrelated captured/KH/copy/role guards retain their own rules.',
'Independent Recruits, Reinforcements and Harass compose all14 in supported classic/E1/E2 and standalone/paired E3 Basic/Advanced, with original Tech3+/Advanced Strongholds2+. Classic/E1/E2 Worlds also retain the cards and phase modules. Original36/38/50, cache, setup and native prices stay. Shared admission feeds card/skill controls; own World fee/dial pools stay disjoint, visitor returns keep typed native homes and Suk cannot rescue fees. Earned support is not personal money or reserve funding. Native E3 card Worlds, Nexus/Discovery, actual mixed E3 and special-role guards remain.',
'Independent Recruits, Reinforcements and Harass compose all14 in supported classic/E1/E2 and standalone/paired E3 Basic/Advanced, including original Worlds and Tech3+/Advanced Strongholds2+. Native E3 World cards also retain native coalition/Advanced assassination without Skills. Original36/38/50, cache, setup and native prices stay. Shared admission feeds card/skill controls; own World fee/dial pools stay disjoint, visitor returns keep typed native homes and Suk cannot rescue fees. Earned support is not personal money or reserve funding. Nexus/Discovery, actual mixed E3, shared Duke and Advanced role guards remain.',
'Fresh all14 keeps original Tech3–6 Basic/Advanced with actual selected decks, optional independent cards and supported World envelopes. Starting hands/cache, original offers/Traitors and printed/first-Storm owners remain genuine. Native rates use actual stock/population on each accepted request; normal Banker records the accepted Bank invoice, not a net wallet change after separate native income. No token owner, premature spendable grant or victory credit is assigned to simulate earned play. Other Nexus/Discovery, native E3 and effect-specific envelopes stay separate; played games are not converted.',
'Fresh Advanced supported classic/native all14 tables retain six original Stronghold Cards, optional Tech3+, and independent cards within their own envelope. Actual end-Mentat earns the holder; benefit stays local to the selected holder-plan. Arrakeen changes actual payer debit, not physical commitment, Suk entitlement or Banker threshold. Native E1/E2 aftercare and standalone/paired E3 coalition/assassination retain original order. Shared Duke never trains; mixed E3, unsupported copied defenses and active skill/Stone retain their guards.',
'Fresh classic Leader Skills may explicitly add Nexus through local leader-skills --nexus-cards, Basic/Advanced two through six players, retaining selected original Tech at three or more seats and/or Advanced Strongholds. --discoveries additionally composes original Discovery7/8 in this classic profile. Saved hands/offers remain authoritative; the actual end-Spice closing draw follows Maker votes/typed rides, both Advanced piles and settled alliance. Free-return ledgers, bank purchase and Traitor Deck declarations stay distinct from training. Original phase-end industry, held payer support/physical defenses, physical Suk rescue and subsequent mandatory winner Tech rewards retain their own timing. Homeworlds, Banker/Mentat previews, borrowed Smuggler arithmetic and unresolved interactions remain separate.',