che_필살 예시 구현
This commit is contained in:
@@ -1,25 +1,23 @@
|
||||
import type { RandUtil } from "@sammo/crypto";
|
||||
import type { General } from "./General.js";
|
||||
import type { GeneralTriggerCaller } from "./TriggerCaller/GeneralTriggerCaller.js";
|
||||
import type { WarUnitTriggerCaller } from "./TriggerCaller/WarUnitTriggerCaller.js";
|
||||
import type { WarUnit } from "./WarUnit.js";
|
||||
import type * as IMethod from "./IActionMethod.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;
|
||||
|
||||
export interface IAction {
|
||||
getName(): string;
|
||||
getInfo(): string;
|
||||
|
||||
getPreTurnExecuteTriggerList(general: General):GeneralTriggerCaller | undefined;
|
||||
//TODO: turnType, varType이 string이면 안됨. enum에 가까워야함!
|
||||
onCalcDomestic(turnType: string, varType: string, value: number, aux?: unknown[]): number;
|
||||
|
||||
onCalcStat(general: General, statName: string, value: number, aux?: unknown[]): number;
|
||||
onCalcOpposeStat(general: General, statName: string, value: number, aux?: unknown[]): number;
|
||||
onCalcStrategic(turnType: string, varType: string, value: number): number;
|
||||
onCalcNationalIncome(type: string, value: number): number;
|
||||
|
||||
getWarPowerMultiplier(unit: WarUnit): [number, number];
|
||||
getBattleInitSkillTriggerList(unit: WarUnit): WarUnitTriggerCaller | undefined;
|
||||
getBattlePhaseSkillTriggerList(unit: WarUnit): WarUnitTriggerCaller | undefined;
|
||||
|
||||
onArbitraryAction(general: General, rng: RandUtil, actionType: string, phase?: string, aux?: unknown[]): null | string[];
|
||||
getInfo(): string[] | string;
|
||||
}
|
||||
Reference in New Issue
Block a user