You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.4 KiB
66 lines
1.4 KiB
import {GameState} from "./GameState";
|
|
|
|
export enum ElementalType {
|
|
Fire = "fire",
|
|
Water = "water",
|
|
Lightning = "lightning",
|
|
Ice = "ice",
|
|
Earth = "earth",
|
|
Wind = "wind",
|
|
Light = "light",
|
|
Dark = "dark",
|
|
Physical = "physical",
|
|
Nonelemental = "non-elemental",
|
|
Healing = "healing",
|
|
}
|
|
|
|
export enum Affinity {
|
|
Absorbs = "absorbs",
|
|
Immune = "immune",
|
|
Resistant = "resistant",
|
|
Normal = "normal",
|
|
Vulnerable = "vulnerable",
|
|
}
|
|
|
|
export enum NumberSign {
|
|
Positive = "+",
|
|
Negative = "-",
|
|
}
|
|
|
|
export enum MeteredResource {
|
|
Experience = "EXP",
|
|
Health = "HP",
|
|
Magic = "MP",
|
|
Items = "IP",
|
|
Zero = "ZP",
|
|
Blood = "BP",
|
|
Turns = "TP",
|
|
Segments = "Segments",
|
|
}
|
|
export enum UnmeteredResource {
|
|
Fabula = "FP",
|
|
Ultima = "UP",
|
|
Special = "SP",
|
|
Level = "Level",
|
|
Materials = "Materials",
|
|
Zenit = "Zenit",
|
|
}
|
|
|
|
export type Resource = MeteredResource|UnmeteredResource
|
|
|
|
export const Target = Symbol("target");
|
|
export const Source = Symbol("source");
|
|
|
|
export type Operands = Set<string|typeof Target|typeof Source>
|
|
|
|
export interface ParseContext {
|
|
readonly source: readonly string[]
|
|
readonly target: readonly string[]
|
|
readonly game: GameState
|
|
}
|
|
|
|
export interface MarkdownContext extends ParseContext {}
|
|
|
|
export interface MarkdownOutput extends MarkdownContext {
|
|
readonly output: string
|
|
} |