feat: add signature officer tactics

This commit is contained in:
2026-07-13 07:36:39 +09:00
parent 26a4d78185
commit cd1abbe815
11 changed files with 535 additions and 44 deletions

View File

@@ -1,4 +1,4 @@
import { getUnitStrategyCoverage, getUnitStrategyNames } from './battleUsables';
import { getUnitSignatureStrategy, getUnitStrategyCoverage, getUnitStrategyNames } from './battleUsables';
import type { UnitClassKey } from './battleRules';
import type { UnitData } from './scenario';
import type { SortieFormationAssignments, SortieFormationRole } from './sortieDeployment';
@@ -471,6 +471,7 @@ function createPlan(
const unitReasons = Object.fromEntries(selectedUnitIds.map((unitId) => {
const candidate = candidateById.get(unitId);
const authoredReason = recommendedById.get(unitId)?.reason;
const signature = getUnitSignatureStrategy(unitId);
const reason = required.has(unitId)
? '이번 전투의 필수 출전 무장입니다.'
: authoredReason
@@ -480,7 +481,7 @@ function createPlan(
: planId === 'resonance'
? '공명 관계와 추격 연결 가능성을 높입니다.'
: `지형 적성 ${candidate?.terrainScore ?? 100}과 전법 범위를 보강합니다.`;
return [unitId, reason];
return [unitId, `${reason}${signature ? ` · 고유 ${signature.name}` : ''}`];
}));
return {
id: planId,