Keep Atomics penalties on original targets after alliance changes

This commit is contained in:
Quintine committed 2026-10-14 21:06:32 +11:00
1 parent 1f38f12beb
commit 4bf6cfc875
15 files changed
+303 -181

No files matched your search

+7 -14
View File
@@ -49,7 +49,6 @@ import { NexusAdvisors } from './nexus-advisors';
import { NexusSardaukar } from './nexus-sardaukar';
import { TerrorBoardMarkers } from './terror-board-markers';
import { homeworldRevivalActionBlock } from '@/game/homeworld-revival-deployment-options';
import { atomicsAllianceChangeBlocked } from '@/game/moritani-atomics';
import { GuildHomeworldShipment } from './guild-homeworld-shipment';
import { JunctionTransport } from './junction-transport';
import { BiddingEnd } from './bidding-end';
@@ -3954,29 +3953,23 @@ export function GameTable({
<option value="">Choose a player</option>
{g.players
.filter((p) => p.id !== me.id)
.map((p) => {
const atomicsBlocked = atomicsAllianceChangeBlocked(g.moritaniAtomics, me.id, p.id);
return <option value={p.id} key={p.id}
disabled={!!g.homeworldAllianceBlocks?.[p.id] || atomicsBlocked}>
.map((p) => (
<option value={p.id} key={p.id}
disabled={!!g.homeworldAllianceBlocks?.[p.id]}>
{p.name}
{g.homeworldAllianceBlocks?.[p.id] ? ` · ${g.homeworldAllianceBlocks[p.id]}` : ''}
{atomicsBlocked ? ' · Atomics alliance ruling pending' : ''}
{g.allianceOffers[p.id] === me.id ? ' · Invited you' : ''}
</option>;
})}
</option>
))}
</select>
</label>
{g.homeworldAllianceBlocks?.[target] && <p className="notice">{g.homeworldAllianceBlocks[target]}</p>}
{!!target && atomicsAllianceChangeBlocked(g.moritaniAtomics, me.id, target) &&
<p className="notice">Changing Moritani’s ally after Atomics awaits a hand-limit ruling.</p>}
{actionButton('Propose / accept alliance', {
type: 'alliance',
target,
}, !target || !!g.homeworldAllianceBlocks?.[target] ||
atomicsAllianceChangeBlocked(g.moritaniAtomics, me.id, target))}
}, !target || !!g.homeworldAllianceBlocks?.[target])}
{me.ally &&
actionButton('Break alliance', { type: 'alliance' },
atomicsAllianceChangeBlocked(g.moritaniAtomics, me.id, null))}
actionButton('Break alliance', { type: 'alliance' })}
</>
)}
{g.phase === 1 && !g.nexus && !g.spiceWindow && (