Skip to content

@my-swu/simulator-client


@my-swu/simulator-client / GameEvent

Type Alias: GameEvent ​

GameEvent = "setupCompleted" | { playerJoined: { seat: Seat; }; } | { playerDeckSubmitted: { seat: Seat; }; } | { playerReady: { seat: Seat; }; } | { setupStarted: { initiativeChooser: Seat; }; } | { initiativeAssigned: { controller: Seat; }; } | { openingHandDrawn: { count: number; seat: Seat; }; } | { mulliganResolved: { seat: Seat; tookMulligan: boolean; }; } | { openingResourcesChosen: { count: number; seat: Seat; }; } | { cardPlayed: { arena: CardArena; cardId: number; playedWithSmuggle: boolean; seat: Seat; unitId: number; }; } | { eventPlayed: { cardId: number; inputProvenance?: EventPlayInputProvenance | null; playedWithSmuggle: boolean; seat: Seat; text?: EffectTextRefsView | null; }; } | { upgradePlayed: { attachedUnitId: AttachHostSchema; cardId: number; playedWithSmuggle: boolean; seat: Seat; upgradeId: number; }; } | { leaderDeployed: { arena: CardArena; cardId: number; seat: Seat; unitId: number; }; } | { leaderDeployedAsPilot: { attachedUnitId: number; cardId: number; seat: Seat; upgradeId: number; }; } | { attackDeclared: { attackerCardId: number; attackerId: number; seat: Seat; target: AttackTarget; targetCardId: number; }; } | { unitDamaged: { amount: number; isCombat?: boolean; unitId: number; }; } | { unitHealed: { amount: number; unitId: number; }; } | { shieldAdded: { amount: number; unitId: number; }; } | { shieldRemoved: { amount: number; unitId: number; }; } | { baseDamaged: { amount: number; isCombat?: boolean; seat: Seat; }; } | { baseHealed: { amount: number; seat: Seat; }; } | { baseHealPrevented: { amount: number; preventedByCardId?: number | null; preventedByUnitId?: number | null; seat: Seat; }; } | { unitExhausted: { unitId: number; }; } | { unitReadied: { unitId: number; }; } | { cardsRevealed: { cardIds: number[]; seat: Seat; }; } | { cardsChosenFromDiscard: { cardIds: number[]; seat: Seat; }; } | { namedCardChosen: { name: string; seat: Seat; }; } | { namedTraitChosen: { seat: Seat; trait_name: string; }; } | { chosenAspect: { aspect: string; seat: Seat; }; } | { cardsDiscardedFromHand: { cardIds: number[]; random: boolean; seat: Seat; }; } | { tokenUnitCreated: { arena: CardArena; cardId: number; seat: Seat; unitId: number; }; } | { creditTokensCreated: { amount: number; seat: Seat; }; } | { forceTokenCreated: { seat: Seat; }; } | { actionAbilityUsed: { abilityLabel: string; seat: Seat; source: ActionAbilitySource; sourceCardId?: number | null; targets?: AbilityTarget[]; text?: EffectTextRefsView | null; }; } | { triggeredAbilityResolved: { abilityLabel: string; seat: Seat; sourceCardId: number; sourceUnitId?: number | null; text?: EffectTextRefsView | null; window: AbilityWindow; }; } | { forceUsed: { seat: Seat; }; } | { experienceTokensAdded: { amount: number; unitId: number; }; } | { advantageTokensAdded: { amount: number; unitId: number; }; } | { weaknessTokensAdded: { amount: number; unitId: number; }; } | { unitCaptured: { captorUnitId: number; capturedUnitId: number; cardId: number; }; } | { capturedUnitRescued: { arena: CardArena; cardId: number; guardingBase?: Seat | null; guardingUnitId: number; rescuedUnitId: number; seat: Seat; }; } | { unitReturnedToHand: { cardId: number; seat: Seat; unitId: number; }; } | { unitReturnedToDeck: { cardId: number; placement: DeckPlacement; seat: Seat; unitId: number; }; } | { unitDefeated: { cardId: number; defeatCause: UnitDefeatCause; seat: Seat; unitId: number; }; } | { leaderReturnedToBase: { cardId: number; seat: Seat; }; } | { upgradeDefeated: { attachedUnitId: AttachHostSchema; cardId: number; seat: Seat; upgradeId: number; }; } | { actionPhaseStarted: { activePlayer: Seat; roundNumber: number; }; } | { initiativeTaken: { seat: Seat; }; } | { counterTaken: { counter: TwinSunsCounter; seat: Seat; }; } | { counterReturned: { counter: TwinSunsCounter; }; } | { turnPassed: { seat: Seat; source: TurnPassSource; }; } | { regroupStarted: { roundNumber: number; }; } | { cardsDrawn: { count: number; seat: Seat; source: CardDrawSource; }; } | { cardsDiscardedFromDeck: { cardIds: number[]; seat: Seat; }; } | { emptyDeckDamage: { amount: number; seat: Seat; }; } | { regroupResourceChosen: { resourced: boolean; seat: Seat; }; } | { cardsReadied: { count: number; seat: Seat; }; } | { sideboardUpdated: { mainDeckCount: number; seat: Seat; sideboardCount: number; }; } | { nextGameReady: { seat: Seat; }; } | { nextGameUnready: { seat: Seat; }; } | { nextGameStarted: { gameNumber: number; }; } | { seriesExtensionRequested: { bestOfGames: number; seat: Seat; }; } | { seriesExtensionDeclined: { seat: Seat; }; } | { seriesExtended: { bestOfGames: number; }; } | { rematchRequested: { seat: Seat; }; } | { rematchDeclined: { seat: Seat; }; } | { trilogyDeckBanned: { opponentDeckIndex: number; seat: Seat; }; } | { trilogyDeckSelected: { deckIndex: number; seat: Seat; }; } | { matchEnded: { reason: MatchEndReason; winner?: Seat | null; }; } | { playerEliminated: { reason: MatchEndReason; seat: Seat; }; } | { undoApplied: { seat: Seat; undoneSeat: Seat; }; } | { undoRequested: { reasons: UndoRequestReason[]; requestId: string; seat: Seat; undoneSeat: Seat; }; } | { undoApproved: { requestId: string; seat: Seat; }; } | { undoDeclined: { requestId: string; seat: Seat; }; } | { undoCancelled: { reason: UndoCancelReason; requestId: string; seat: Seat; }; }

Defined in: packages/ts-sdk/src/generated/types/common.ts:1966

Example:

ts
import type { GameEvent } from '@my-swu/simulator-client'

const playerReadyEvent = { playerReady: { seat: 'one' } } satisfies GameEvent

console.log(playerReadyEvent)

Released under the MIT License.