diff --git a/scripts/verify-flow.mjs b/scripts/verify-flow.mjs index e2e453d..7d6d2d7 100644 --- a/scripts/verify-flow.mjs +++ b/scripts/verify-flow.mjs @@ -9642,6 +9642,13 @@ function assertSortieTacticalRoster(state, requiredUnitIds) { throw new Error(`Expected individualized bond drill count to be visible in reserve training preview: ${JSON.stringify(state.sortiePlan)}`); } + if ( + state.sortiePlan.recommendedClassTotal > 0 && + !state.sortiePlan.recommendationLine.includes(`${state.sortiePlan.recommendedClassSelectedCount}/${state.sortiePlan.recommendedClassTotal}`) + ) { + throw new Error(`Expected recommended class coverage to be visible in sortie recommendation line: ${JSON.stringify(state.sortiePlan)}`); + } + if ( !state.sortieFocusedUnit || !state.sortieFocusedUnit.id || diff --git a/src/game/scenes/CampScene.ts b/src/game/scenes/CampScene.ts index 444581c..48cb092 100644 --- a/src/game/scenes/CampScene.ts +++ b/src/game/scenes/CampScene.ts @@ -13353,6 +13353,9 @@ export class CampScene extends Phaser.Scene { const activeBondCount = this.currentBonds().filter((bond) => bond.unitIds.every((unitId) => selectedIds.has(unitId))).length; const recommendedSelectedCount = recommended.filter((entry) => selectedIds.has(entry.unitId)).length; const recommendedClassSelectedCount = recommendedClasses.length - missingClassRecommendations.length; + const recommendedClassCoverageLine = recommendedClasses.length > 0 + ? `${recommendedClassSelectedCount}/${recommendedClasses.length} ${this.sortieRecommendedClassLine(scenario)}` + : this.sortieRecommendedClassLine(scenario); const roleCounts = selectedUnits.reduce( (counts, unit) => { counts[this.sortieFormationRole(unit)] += 1; @@ -13423,8 +13426,8 @@ export class CampScene extends Phaser.Scene { recommendedClassTotal: recommendedClasses.length, deploymentLine: roleLine, recommendationLine: recommended.length > 0 - ? `추천 무장 ${recommendedSelectedCount}/${recommended.length} · 병종 ${this.sortieRecommendedClassLine(scenario)}` - : `추천 병종 ${this.sortieRecommendedClassLine(scenario)}`, + ? `추천 무장 ${recommendedSelectedCount}/${recommended.length} · 병종 ${recommendedClassCoverageLine}` + : `추천 병종 ${recommendedClassCoverageLine}`, recruitedLine: recruitedUnits.length > 0 ? `합류 무장 ${selectedRecruitedCount}/${recruitedUnits.length} · 대기 ${reserveUnits.length}`