feat: add new war traits for various unit types

- Implemented '궁병' trait with bonuses for archer units, including reduced recruitment costs and increased evasion.
- Added '기병' trait providing cavalry units with damage bonuses and reduced recruitment costs.
- Introduced '돌격' trait enhancing attack phases and damage against equal or weaker unit types.
- Created '무쌍' trait that increases damage and reduces damage taken based on the number of victories.
- Developed '반계' trait to reduce enemy strategy success rates and reflect damage back.
- Added '보병' trait with reduced recruitment costs and damage penalties for allies during attacks.
- Implemented '신산' trait enhancing magic success rates for various strategies.
- Created '신중' trait guaranteeing strategy success.
- Added '위압' trait to activate pressure effects on the first phase of battle.
- Implemented '저격' trait allowing for a chance to activate a sniping effect against new opponents.
- Developed '집중' trait to increase damage on successful strategies.
- Created '척사' trait providing damage bonuses against regional and city units while reducing ally damage.
- Implemented '필살' trait enhancing critical hit chances and disabling enemy evasion on critical hits.
- Added '환술' trait to boost magic success rates and damage on successful magic attacks.
This commit is contained in:
2026-01-05 16:43:28 +00:00
parent cf93c28aff
commit 41339176ee
36 changed files with 1673 additions and 4 deletions
@@ -0,0 +1,13 @@
import { createStatItemModule } from './base.js';
import type { ItemModule } from './types.js';
export const itemModule: ItemModule = createStatItemModule({
key: 'che_명마_01_노기',
rawName: '노기',
slot: 'horse',
statName: 'leadership',
statValue: 1,
cost: 1000,
buyable: true,
reqSecu: 1000,
});
+2
View File
@@ -27,6 +27,7 @@ export const ITEM_KEYS = [
'che_무기_09_동호비궁',
'che_서적_08_전론',
'che_보물_도기',
'che_명마_01_노기',
] as const;
export type ItemKey = (typeof ITEM_KEYS)[number];
@@ -42,6 +43,7 @@ const defaultImporters: Record<ItemKey, ItemImporter> = {
che_무기_09_동호비궁: async () => import('./che_무기_09_동호비궁.js'),
che_서적_08_전론: async () => import('./che_서적_08_전론.js'),
che_보물_도기: async () => import('./che_보물_도기.js'),
che_명마_01_노기: async () => import('./che_명마_01_노기.js'),
};
export const isItemKey = (value: string): value is ItemKey => ITEM_KEYS.includes(value as ItemKey);