From 8eb4a3c48fd9d431095adb49304bc38cfb5759e9 Mon Sep 17 00:00:00 2001 From: Oliver Akins Date: Sun, 13 Mar 2022 01:45:32 -0600 Subject: [PATCH] Add descriptions to the option objects --- common/src/data/game_options.ts | 13 ++++++++++--- common/src/index.ts | 3 ++- common/src/types/GameOption.ts | 7 +++++++ 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 common/src/types/GameOption.ts diff --git a/common/src/data/game_options.ts b/common/src/data/game_options.ts index bb352f9..84bcd30 100644 --- a/common/src/data/game_options.ts +++ b/common/src/data/game_options.ts @@ -1,33 +1,40 @@ -/** The options that games can support */ -export const gameOptions = [ +import { IGameOption } from "../types/GameOption"; + +/** The options that games can support. */ +export const gameOptions: IGameOption[] = [ { name: `No Secrets`, id: `no-secrets`, active: false, hidden: true, + description: `During the mining phase of each round, all cards remain face up, including the piles that are available for choosing from and the cards each player has chosen, stay visible until the Movement Phase begins.`, }, { name: `Warp Gate Activated`, id: `warp-gate-activated`, active: false, hidden: false, + description: `With this option enabled, when a spaceship enters the Warp Gate space (#54), it is immediately removed from the game, but the Warp Gate remains open. This allows more spaceships to enter the gate before the end of the round, any additional spaceships that enter the Warp Gate before the round ends share in the victory because they escaped from the black hole.`, }, { name: `Chaos Theory`, - id: `Chaos Theory`, + id: `chaos-theory`, active: false, hidden: false, + description: `The first card played during each movement phase is chosen randomly. You still have the opportunity to use your Emergency Stop if you have it available.`, }, { name: `Hardcore`, id: `hardcore`, active: false, hidden: false, + description: `When Hardcore Mode is enabled, you can only use the Emergency Stop one time for the entire game!`, }, { name: `Fate`, id: `fate`, active: false, hidden: true, + description: `Every player must decide on the order that their cards will be played in prior to the first movement happening in the round. Then the cards will be resolved as normal, but with the player not being able to dynamically react. The Emergency Stop is able to be used as normal.`, }, ]; \ No newline at end of file diff --git a/common/src/index.ts b/common/src/index.ts index 94b8081..3c91431 100644 --- a/common/src/index.ts +++ b/common/src/index.ts @@ -11,9 +11,10 @@ // Data Structures export * from "./types/Colour"; + export * from "./types/FuelCard"; export * from "./types/Spaceship"; export * from "./types/PlayerData"; - export * from "./types/FuelCard"; + export * from "./types/GameOption"; // Server-Client Communications export * from "./types/ServerResponse"; diff --git a/common/src/types/GameOption.ts b/common/src/types/GameOption.ts new file mode 100644 index 0000000..ee94642 --- /dev/null +++ b/common/src/types/GameOption.ts @@ -0,0 +1,7 @@ +export interface IGameOption { + name: string; + id: string; + active: boolean; + hidden: boolean; + description: string; +} \ No newline at end of file