From 3775f83f4476d7468c05ffd8fb2344f1e0614227 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Thu, 9 Jul 2026 13:50:08 +0900 Subject: [PATCH] Summarize individualized reserve drill count --- scripts/verify-flow.mjs | 1 + src/game/scenes/CampScene.ts | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/verify-flow.mjs b/scripts/verify-flow.mjs index 8a6beae..92982c8 100644 --- a/scripts/verify-flow.mjs +++ b/scripts/verify-flow.mjs @@ -9652,6 +9652,7 @@ function assertSortieTacticalRoster(state, requiredUnitIds) { if ( !state.reserveTrainingFocus || typeof state.reserveTrainingAssignments !== 'object' || + typeof state.rosterCollection?.reserveTrainingAssignmentCount !== 'number' || !Array.isArray(state.reserveTrainingFocusOptions) || state.reserveTrainingFocusOptions.length !== 3 || !state.reserveTrainingFocusOptions.some((focus) => focus.id === 'bond-practice' && focus.bondExpGained > 0) diff --git a/src/game/scenes/CampScene.ts b/src/game/scenes/CampScene.ts index 0f5b0e2..a419ede 100644 --- a/src/game/scenes/CampScene.ts +++ b/src/game/scenes/CampScene.ts @@ -14337,15 +14337,17 @@ export class CampScene extends Phaser.Scene { const selectedIds = new Set(this.selectedSortieUnitIds); const selectedCount = allies.filter((unit) => selectedIds.has(unit.id)).length; const recruitedCount = allies.filter((unit) => !foundingSortieUnitIds.has(unit.id)).length; + const reserveUnits = allies.filter((unit) => !selectedIds.has(unit.id)); const reserveTrainingAwards = this.latestReserveTrainingAwards(); const averageLevel = allies.length > 0 ? Math.round(allies.reduce((sum, unit) => sum + unit.level, 0) / allies.length) : 0; return { total: allies.length, selectedCount, - reserveCount: Math.max(0, allies.length - selectedCount), + reserveCount: reserveUnits.length, recruitedCount, averageLevel, reserveTrainingFocus: this.reserveTrainingFocusDefinition(), + reserveTrainingAssignmentCount: reserveUnits.filter((unit) => this.campaign?.reserveTrainingAssignments[unit.id]).length, reserveTrainingCount: reserveTrainingAwards.length, reserveTrainingExp: reserveTrainingAwards.reduce((sum, entry) => sum + entry.expGained, 0) };