Enable mixed selected-deck Discovery previews
Verify and publish checkpoint container / container (push) Failing after 11m29s
Verify and publish checkpoint container / container (push) Failing after 11m29s
This commit is contained in:
1 parent
26d45ecf25
commit
c8dbd44975
9 files changed
+195
-11
No files matched your search
@@ -1,5 +1,5 @@
|
||||
import { FACTIONS } from './catalog';
|
||||
import { independentDiscoveryProfile, mixedE3NexusRosterProfile, type FactionModuleProfile } from './faction-module-profile';
|
||||
import { independentDiscoveryProfile, mixedE3NexusRosterProfile, selectedPhaseModuleRoster, type FactionModuleProfile } from './faction-module-profile';
|
||||
import type { LeaderSkillProfile } from './leader-skill-profile';
|
||||
|
||||
/** Public unused-lobby admission only. The original initializer owns physical
|
||||
@@ -21,7 +21,7 @@ export function discoveryModeSupported(game: FactionModuleProfile): boolean {
|
||||
mixedE3DiscoveryNexusProfile(game) || mixedE1E2DiscoveryNexusProfile(game) || pairedE3DiscoveryNexusProfile(game);
|
||||
if (typeof game.advanced !== 'boolean' || game.discoveryEnabled !== true ||
|
||||
game.players.length < 2 || game.players.length > 6 ||
|
||||
(game.techTokens && game.players.length < 3) || game.expansions.length > 2 ||
|
||||
(game.techTokens && game.players.length < 3) || game.expansions.length > 3 ||
|
||||
(game.strongholdCards && !game.advanced) || game.leaderSkills || game.nexusCards ||
|
||||
game.ecazTreachery ||
|
||||
game.advancedPreview || game.kullPreview || game.nexusKullPreview ||
|
||||
@@ -30,6 +30,11 @@ export function discoveryModeSupported(game: FactionModuleProfile): boolean {
|
||||
return false;
|
||||
if (game.semutaPreview && (game.homeworlds || !game.expansions.includes('choam') ||
|
||||
!game.players.some(player => player.faction === 'richese'))) return false;
|
||||
if (game.expansions.includes('ecaz') && game.expansions.length > 1) {
|
||||
return !game.semutaPreview && selectedPhaseModuleRoster(game) &&
|
||||
!(game.advanced && game.players.some(player => player.faction === 'moritani') &&
|
||||
game.players.some(player => player.faction === 'harkonnen'));
|
||||
}
|
||||
const e3 = game.expansions.length === 1 && game.expansions[0] === 'ecaz';
|
||||
for (let i = 0; i < game.expansions.length; i++) {
|
||||
const expansion = game.expansions[i];
|
||||
@@ -55,10 +60,10 @@ export function discoveryModeSupported(game: FactionModuleProfile): boolean {
|
||||
return (!e3 || native >= 1 && native <= 2) && !(game.advanced && moritani && harkonnen);
|
||||
}
|
||||
|
||||
/** The original E3 pair can use Discovery without choosing a Nexus or card variant. */
|
||||
export function pairedE3DiscoveryOnlyProfile(game: FactionModuleProfile): boolean {
|
||||
/** The original E3 pair can use selected decks with Discovery without Nexus or cards. */
|
||||
export function e3DiscoveryOnlyOverlapProfile(game: FactionModuleProfile): boolean {
|
||||
return !game.nexusCards && !game.ecazTreachery && !game.leaderSkills &&
|
||||
game.expansions.length === 1 && game.expansions[0] === 'ecaz' &&
|
||||
game.expansions.includes('ecaz') &&
|
||||
game.players.some(player => player.faction === 'ecaz') &&
|
||||
game.players.some(player => player.faction === 'moritani') && discoveryModeSupported(game);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user