Refactor player and room to support adding effects.

This commit is contained in:
2021-05-25 16:02:06 -07:00
parent b3058097b4
commit ccd4974266
13 changed files with 198 additions and 79 deletions

29
types.ts Normal file
View File

@ -0,0 +1,29 @@
export * from "./data/rooms.ts";
export interface Item {
name: string;
}
export interface Effect<T> {
name: string;
properties: T;
source: "player" | "scene";
}
export interface VesselProperties {
items?: Item[];
}
export interface SceneProperties extends VesselProperties {
description?: string;
shortDescription?: string;
}
export interface Conditions<T> {
effects: Effect<T>[];
}
export interface GameData<T> {
conditions: Conditions<T>;
properties: SceneProperties;
}