Allow Semuta after Basic Moritani Atomics
Verify and publish checkpoint container / container (push) Successful in 11m15s
Verify and publish checkpoint container / container (push) Successful in 11m15s
This commit is contained in:
1 parent
4f990db52e
commit
a9b67a89b3
6 files changed
+247
-1
No files matched your search
+14
-1
@@ -9169,6 +9169,9 @@ function treacheryDiscardIntegrity(g: Game) {
|
||||
: entry.resume === 'none' && (entry.cause !== 'homeworldRevival' || !!entry.revivalArrival)) &&
|
||||
['shipment', 'movement', 'guildTransport', 'advisor', 'wormRide', 'homeworldRevival', 'caladanReinforcement', 'ambassador'].includes(entry.cause) &&
|
||||
entry.entrant !== owner?.id && entry.territory === aftermath.territory &&
|
||||
!!g.moritaniAtomics &&
|
||||
(['territory', 'turn', 'moritaniId', 'allyAtActivation', 'alliancePolicy', 'nexusPlacement'] as const)
|
||||
.every(key => aftermath[key] === g.moritaniAtomics![key]) &&
|
||||
terrorEntryLocationAllowed(g,entry) && validGameLocation(g, entry.territory, entry.sector) &&
|
||||
token?.kind === 'atomics' && token.status === 'removed' &&
|
||||
token.location === null &&
|
||||
@@ -9616,6 +9619,7 @@ function semutaOfferSupported(
|
||||
continuation.kind !== 'nullentropyDiscard' &&
|
||||
continuation.kind !== 'distransDiscard' &&
|
||||
continuation.kind !== 'terrorDiscard' &&
|
||||
continuation.kind !== 'terrorAtomics' &&
|
||||
continuation.kind !== 'nexusChoamTrade' &&
|
||||
continuation.kind !== 'nexusChoamBetrayal' &&
|
||||
continuation.kind !== 'saphoTruthOrderDiscard' &&
|
||||
@@ -9743,6 +9747,13 @@ function semutaOfferSupported(
|
||||
g.pendingChoamMove || g.pendingIxMove ||
|
||||
g.pendingFremenMove || g.ornithopter || g.summonedWorm ||
|
||||
g.wormRides.length > 0)) return false;
|
||||
if (continuation.kind === 'terrorAtomics' &&
|
||||
(g.advanced || g.phase !== 5 || continuation.entry.resume !== 'none' ||
|
||||
!['shipment', 'movement'].includes(continuation.entry.cause) ||
|
||||
!!g.pendingArrivalOverlap || !!g.pendingAmbassador ||
|
||||
!!g.pendingChoamMove || !!g.pendingIxMove || !!g.pendingFremenMove ||
|
||||
!!g.ornithopter || !!g.summonedWorm || g.wormRides.length > 0 ||
|
||||
!!g.pendingTreacheryDiscard && !g.pendingTreacheryDiscard.reaction)) return false;
|
||||
const allianceNexusDiscard = continuation.kind === 'truthtranceDiscard' && !!continuation.allianceBinding &&
|
||||
g.phase === 1 && g.nexus && bareBasicSemutaProfile(g) && alliancePromiseModeSupported(g);
|
||||
if ((continuation.kind === 'distransDiscard' ||
|
||||
@@ -9771,6 +9782,7 @@ function semutaOfferSupported(
|
||||
// without a reaction. Keep its original automatic continuation; newly
|
||||
// staged offers and already-saved reactions retain the current rules.
|
||||
const independentNativeDiscard = ambassadorDiscard || continuation.kind === 'terrorDiscard' ||
|
||||
continuation.kind === 'terrorAtomics' ||
|
||||
continuation.kind === 'choamSaleDiscard' || continuation.kind === 'choamKulonDiscard' ||
|
||||
continuation.kind === 'choamLaLaLaDiscard' || continuation.kind === 'choamBalisetDiscard' ||
|
||||
continuation.kind === 'choamGamontDiscard' || continuation.kind === 'choamJubbaDiscard' ||
|
||||
@@ -9819,7 +9831,7 @@ function semutaOfferSupported(
|
||||
g.status === 'playing' &&
|
||||
g.players.some(p => p.faction === 'richese') &&
|
||||
entries.length > 0 &&
|
||||
(ambassadorDiscard || continuation.kind === 'kaitainDiscard' || continuation.kind === 'tupileCleanupDiscard' ||
|
||||
(ambassadorDiscard || continuation.kind === 'terrorAtomics' || continuation.kind === 'kaitainDiscard' || continuation.kind === 'tupileCleanupDiscard' ||
|
||||
(continuation.kind === 'specialKaramaDiscard' && continuation.stage === 'cashout')
|
||||
? entries.every(entry => !entry.publicFace)
|
||||
: continuation.kind === 'ixAllyCard' || continuation.kind === 'terrorDiscard' ||
|
||||
@@ -9896,6 +9908,7 @@ function semutaOfferSupported(
|
||||
continuation.kind === 'tupileCleanupDiscard' ||
|
||||
continuation.kind === 'ixAllyCard' ||
|
||||
continuation.kind === 'terrorDiscard' ||
|
||||
continuation.kind === 'terrorAtomics' ||
|
||||
continuation.kind === 'nexusChoamTrade' ||
|
||||
continuation.kind === 'nexusChoamBetrayal' ||
|
||||
continuation.kind === 'choamSaleDiscard' ||
|
||||
|
||||
Reference in new issue
Block a user