feat: add new general actions for border return, gifting, disbanding, founding nations, and fierce training

- Implemented '접경귀환' action for returning to a home city within 3 spaces.
- Added '증여' action for transferring resources between generals with constraints.
- Created '해산' action to disband a faction, resetting generals and cities.
- Developed '건국' action for founding a new nation with specified attributes.
- Introduced '맹훈련' action for training generals, enhancing their stats.
- Added tests for the new actions to ensure functionality and constraints are respected.
This commit is contained in:
2026-02-07 06:10:28 +00:00
parent ded90dfb08
commit 952c0d28c6
20 changed files with 2552 additions and 0 deletions
@@ -1,6 +1,16 @@
import type { GeneralActionModule } from '@sammo-ts/logic/triggers/general-action.js';
import type { WarActionModule } from '@sammo-ts/logic/war/actions.js';
export interface TurnCommandItemCatalogEntry {
slot: 'horse' | 'weapon' | 'book' | 'item';
name: string;
rawName: string;
cost: number | null;
reqSecu: number;
buyable: boolean;
unique: boolean;
}
export interface TurnCommandEnv {
develCost: number;
minAvailableRecruitPop?: number;
@@ -25,6 +35,7 @@ export interface TurnCommandEnv {
baseGold: number;
baseRice: number;
maxResourceActionAmount: number;
itemCatalog?: Record<string, TurnCommandItemCatalogEntry>;
generalActionModules?: Array<GeneralActionModule>;
warActionModules?: Array<WarActionModule>;
}