summaryrefslogtreecommitdiff
path: root/types.d.ts
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2025-03-02 12:03:00 +0100
committerTor Andersson <tor@ccxvii.net>2025-03-02 12:16:01 +0100
commita4c2b8458d1059c373c4a714bce0b5f68a3ce20f (patch)
tree352d0f51bea9ea86033745d9bd9579385dbaacf0 /types.d.ts
parent905cef05c773df8df8ee33d844dda449df9aeca1 (diff)
downloadland-and-freedom-a4c2b8458d1059c373c4a714bce0b5f68a3ce20f.tar.gz
Some rules.ts changes for new client.
Remove unused properties from view object. Use separate fascist_cards and trash view properties. Remove common selectable_cards property. Use game.fascist when resolving fascist event and test. - prevent saving undo states (no choices here) - color header brown for active player (not their own faction) Use abbreviated player order in view.player_order.
Diffstat (limited to 'types.d.ts')
-rw-r--r--types.d.ts24
1 files changed, 11 insertions, 13 deletions
diff --git a/types.d.ts b/types.d.ts
index 4594775..fc769b6 100644
--- a/types.d.ts
+++ b/types.d.ts
@@ -32,7 +32,6 @@ export interface Game {
turn: number;
year: number;
bag_of_glory: FactionId[];
- blank_markers: number[][];
bonuses: number[];
current_events: CardId[];
discard: Record<FactionId | 'f', number[]>;
@@ -61,7 +60,7 @@ export interface Game {
played_card: CardId | null;
player_order: Player[];
selected_cards: Record<FactionId, CardId[]>;
- selectable_cards: CardId[]; // used for specific events
+ fascist_cards?: CardId[]; // used for specific events
tableaus: Record<FactionId, CardId[]>;
/**
* Used for event effect that allows Anarchist to put an event
@@ -73,18 +72,16 @@ export interface Game {
triggered_track_effects: number[];
used_medallions: number[];
glory_current_year?: Record<FactionId, boolean> | null;
+ fascist: 0 | 1;
}
export interface View {
- engine: Game['engine'];
log: number | string[];
- active: string | string[] | null;
prompt: string | null;
- state: Game['state'];
actions?: any;
victory?: string;
- current: Player | 'Observer';
- current_player_faction: FactionId | null;
+ // current: Player | 'Observer';
+ // current_player_faction: FactionId | null;
selected_cards: number[];
bag_of_glory: Game['bag_of_glory']; // TODO: remove
bag_of_glory_count: number;
@@ -94,20 +91,21 @@ export interface View {
fronts: Game['fronts'];
glory: Game['glory'];
hand: number[];
- discard: number[];
- deck: number[];
- trash: number[];
+ // discard: number[];
+ // deck: number[];
+ fascist_cards?: number[];
+ trash?: number[];
hero_points: Game['hero_points'];
initiative: Game['initiative'];
medallions: Game['medallions'];
played_card: Game['played_card'];
- player_order: Game['player_order'];
- selectable_cards: Game['selectable_cards'];
+ player_order: FactionId[];
tableaus: Game['tableaus'];
tracks: number[];
triggered_track_effects: Game['triggered_track_effects'];
used_medallions: Game['used_medallions'];
year: number;
+ fascist?: number;
}
export type States = {
@@ -263,4 +261,4 @@ export interface PlayerTurnArgs extends EngineNodeArgsBase {
use_momentum?: boolean;
}
-// #endregion \ No newline at end of file
+// #endregion