feat: add signature officer tactics
This commit is contained in:
@@ -12,7 +12,12 @@ import {
|
||||
type EquipmentSlot,
|
||||
type ItemDefinition
|
||||
} from '../data/battleItems';
|
||||
import { compareUnitStrategyCoverage, getUnitStrategyCoverage, getUnitStrategyNames } from '../data/battleUsables';
|
||||
import {
|
||||
compareUnitStrategyCoverage,
|
||||
getUnitSignatureStrategy,
|
||||
getUnitStrategyCoverage,
|
||||
getUnitStrategyNames
|
||||
} from '../data/battleUsables';
|
||||
import { getUnitClass, terrainRules, type TerrainType, type UnitClassKey } from '../data/battleRules';
|
||||
import { defaultBattleScenario, getBattleScenario, type BattleScenarioDefinition, type BattleScenarioId } from '../data/battles';
|
||||
import { getSortieFlow } from '../data/campaignFlow';
|
||||
@@ -15693,6 +15698,28 @@ export class CampScene extends Phaser.Scene {
|
||||
|
||||
private sortieStrategyLine(unitId: string) {
|
||||
const names = getUnitStrategyNames([unitId]);
|
||||
const signature = getUnitSignatureStrategy(unitId);
|
||||
if (signature) {
|
||||
const effectParts = signature.effect === 'heal'
|
||||
? [`회복${signature.power}`]
|
||||
: signature.effect === 'focus'
|
||||
? [
|
||||
'강화',
|
||||
...(signature.attackBonus ? [`공+${signature.attackBonus}`] : []),
|
||||
...(signature.hitBonus ? [`명+${signature.hitBonus}`] : []),
|
||||
...(signature.duration ? [`${signature.duration}턴`] : [])
|
||||
]
|
||||
: [
|
||||
`피해${signature.power}`,
|
||||
...(signature.accuracyBonus ? [`명+${signature.accuracyBonus}`] : []),
|
||||
...(signature.criticalBonus ? [`치+${signature.criticalBonus}`] : []),
|
||||
...(signature.statusEffect
|
||||
? [`${signature.statusEffect === 'burn' ? '화상' : '혼란'}${signature.statusDuration ?? 1}턴`]
|
||||
: [])
|
||||
];
|
||||
const otherNames = names.filter((name) => name !== signature.name);
|
||||
return `고유 ${signature.name} · ${effectParts.join(' ')} · 사거리${signature.range}${otherNames.length > 0 ? ` · ${otherNames.join('·')}` : ''}`;
|
||||
}
|
||||
return names.length > 0 ? `전법 ${names.join('·')}` : '전법 없음';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user