55 lines
1008 B
TypeScript
55 lines
1008 B
TypeScript
export interface GameObject {
|
|
_id: string;
|
|
}
|
|
|
|
export interface PlayingTurn {
|
|
currentTeam: string;
|
|
cardsLocked: string[];
|
|
lockedEffects: string[];
|
|
tokens: Effect[];
|
|
damage: number;
|
|
gold: number;
|
|
}
|
|
|
|
export interface Game extends GameObject {
|
|
fireGems: Container;
|
|
market: Container;
|
|
marketStack: Container;
|
|
teams: Team[];
|
|
currentTurn: PlayingTurn;
|
|
started: boolean;
|
|
owner: User;
|
|
}
|
|
|
|
export interface Team extends GameObject {
|
|
players: Player[];
|
|
health: number;
|
|
}
|
|
|
|
export interface Player extends GameObject {
|
|
board: Container;
|
|
discard: Container;
|
|
hand: Container;
|
|
stack: Container;
|
|
user: User;
|
|
discardMarkers: number;
|
|
fuckUMarkers: number;
|
|
}
|
|
|
|
export interface User extends GameObject {
|
|
userId: string;
|
|
avatar: string;
|
|
username: string;
|
|
}
|
|
|
|
export interface Container extends GameObject {
|
|
cards: Card[];
|
|
shuffling?: boolean;
|
|
}
|
|
|
|
export interface Effect extends GameObject {}
|
|
export interface Card extends GameObject {
|
|
cardId: number;
|
|
effects: Effect[];
|
|
}
|