Files
core_ng/@sammo/game_logic/src/IAction.ts
T
2024-03-09 05:58:17 +00:00

42 lines
987 B
TypeScript

import type { ValuesOf } from "@sammo/util";
import type * as IMethod from "./IActionMethod.js";
import type { ItemKeyType } from "./defs.js";
export type * as IMethod from "./IActionMethod.js";
export interface IActionMethod extends
IMethod.TurnExecuteTriggerList,
IMethod.CalcDomestic,
IMethod.CalcStat,
IMethod.CalcStatRange,
IMethod.CalcOpposeStat,
IMethod.CalcStrategic,
IMethod.CalcIncome,
IMethod.WarPowerMultiplier,
IMethod.BattleInitTrigger,
IMethod.BattlePhaseTrigger,
IMethod.ArbitraryAction {
}
export interface IAction extends Partial<IActionMethod> {
readonly name: string;
getName(): string;
getInfo(): string[] | string;
}
export const IActionOrder = [
'nationType',
'officerLevel',
'specialityDomestic',
'specialityWar',
'personlity',
'crewType',
'inheritBuff',
'scenarioEffect',
'horse',
'weapon',
'book',
'item',
];
export type IActionKey = ValuesOf<IAction>;