Use dynamic required sortie labels

This commit is contained in:
2026-07-05 17:00:06 +09:00
parent 43689de0c7
commit 3bfeaaf93e

View File

@@ -13695,9 +13695,15 @@ export class CampScene extends Phaser.Scene {
const hasBattle = Boolean(this.nextSortieScenario());
const requiredUnitIds = [...this.requiredSortieUnitIdsFor()].filter((id) => sortieAllies.some((unit) => unit.id === id));
const requiredUnits = requiredUnitIds.map((id) => sortieAllies.find((unit) => unit.id === id)).filter(Boolean) as UnitData[];
const requiredLabel = hasBattle
? requiredUnits.length > 0 && !requiredUnitIds.includes('liu-bei') ? '필수 무장 확인' : '유비 생존'
: requiredUnits.length > 0 && !requiredUnitIds.includes('liu-bei') ? '필수 동행 확인' : '유비 참석';
const requiredNames = requiredUnits.map((unit) => unit.name);
const requiredLabelName = requiredNames.length === 0
? hasBattle ? '필수 무장' : '필수 동행'
: requiredNames.length === 1
? requiredNames[0]
: requiredNames.length === 2
? `${requiredNames[0]}·${requiredNames[1]}`
: `${requiredNames[0]}${requiredNames.length - 1}`;
const requiredLabel = `${requiredLabelName} ${hasBattle ? '생존' : '참석'}`;
const requiredComplete = requiredUnits.length > 0 ? requiredUnits.every((unit) => unit.hp > 0) : true;
const requiredDetail = requiredUnits.length > 0
? requiredUnits.map((unit) => `${unit.name} ${unit.hp}/${unit.maxHp}`).join(', ')