Files
Dune/game/bot-nexus-guild-betrayal.ts

16 lines
695 B
TypeScript

import type { Action, GameView } from './engine';
/** Public acknowledgement never depends on a hidden card or another seat's
* resources. Only the server's own-seat offer authorizes taking the payment. */
export function botNexusGuildBetrayalActions(game: GameView): Action[] {
const reaction = game.guildBetrayalReaction;
if (game.status !== 'playing' || !reaction?.event ||
!reaction.canPass || reaction.hasPassed) return [];
const own = game.players.find((player) => player.id === game.me);
if (!(own?.bot ?? own?.autopilot)) return [];
return [{
type: reaction.canUse && !reaction.blocked ? 'guildBetrayalUse' : 'guildBetrayalPass',
event: reaction.event,
}];
}