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 { 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;