Connect native Homeworld Ecaz Arrakis coalition battles
This commit is contained in:
1 parent
210aa04811
commit
7ef3377218
10 files changed
+310
-22
No files matched your search
+13
-1
@@ -9588,7 +9588,10 @@ export function initializeHomeworldOccupationGameForAudit(state: Game, leaderSki
|
||||
g.homeworldTupileState = createOccupiedTupileState();
|
||||
g.pendingHomeworldTupileCleanup = null;
|
||||
}
|
||||
if (byFaction(g, 'ecaz')) g.homeworldEcazVictoryPreview = true;
|
||||
if (byFaction(g, 'ecaz')) {
|
||||
g.homeworldEcazVictoryPreview = true;
|
||||
g.ecazOccupyPreview = true;
|
||||
}
|
||||
return g;
|
||||
}
|
||||
/** Shared classic/supported-native Nexus setup; existing composition guards apply. */
|
||||
@@ -10523,6 +10526,15 @@ 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;
|
||||
// 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' &&
|
||||
g.players.some(p => p.faction === 'ecaz') &&
|
||||
g.players.every(p => p.faction === 'ecaz' || CLASSIC_FACTIONS[p.faction]) &&
|
||||
((g.homeworldOccupationPreview === true && !g.leaderSkills &&
|
||||
!g.nexusCards && !g.techTokens && !g.strongholdCards && !g.discoveryEnabled) ||
|
||||
(g.ecazOccupyPreview === true && !!g.leaderSkills && homeworldLeaderSkillsProfile(g))))
|
||||
return true;
|
||||
return typeof g.advanced === 'boolean' && Array.isArray(g.expansions) &&
|
||||
g.expansions.includes('ecaz') &&
|
||||
g.expansions.every(id => ['ecaz', 'ix', 'choam'].includes(id)) &&
|
||||
|
||||
Reference in new issue
Block a user