Support unused selected decks with Nexus and Discovery
Verify and publish checkpoint container / container (push) Canceled after 0s

This commit is contained in:
Quintine committed 2026-10-29 20:19:58 +11:00
1 parent c8dbd44975
commit 91d45d1dec
14 files changed
+405 -17

No files matched your search

+15 -2
View File
@@ -59,10 +59,23 @@ export function independentDiscoveryNexusProfile(game: NexusCoreConfiguration):
return !!game.nexusCards && independentDiscoveryProfile(game);
}
/** Common consumers of the classic and selected-independent fresh Nexus core. */
/** Original selected decks do not require their native factions or the
* independent three-card variant. Keep Skills and hidden E3/Harkonnen
* compositions on their existing separately scoped paths. */
export function selectedNexusWithoutCardsProfile(game: NexusCoreConfiguration): boolean {
const players = game.players;
if (game.ecazTreachery || game.leaderSkills || !game.nexusCards || !players ||
!game.expansions.length || !nexusCoreRosterProfile(game, true, game.discoveryEnabled === true)) return false;
if (game.advanced && players.some(player => player.faction === 'harkonnen') &&
players.some(player => player.faction === 'ecaz' || player.faction === 'moritani')) return false;
return game.expansions.some(expansion => !players.some(player =>
FACTIONS.some(faction => faction.id === player.faction && faction.expansion === expansion)));
}
/** Common consumers of supported classic and selected-deck Nexus games. */
export function nexusCoreProfile(game: NexusCoreConfiguration): boolean {
return classicNexusCoreProfile(game) || selectedIndependentNexusProfile(game) ||
independentDiscoveryNexusProfile(game);
independentDiscoveryNexusProfile(game) || selectedNexusWithoutCardsProfile(game);
}
function nexusCoreRosterProfile(game: NexusCoreConfiguration, selectedDecks: boolean, discovery = false): boolean {