diff --git a/scripts/verify-flow.mjs b/scripts/verify-flow.mjs index e315c08..4f43bf1 100644 --- a/scripts/verify-flow.mjs +++ b/scripts/verify-flow.mjs @@ -9582,6 +9582,8 @@ function assertSortieTacticalRoster(state, requiredUnitIds) { typeof state.sortieChecklistSummary?.total !== 'number' || typeof state.sortieChecklistSummary?.completeCount !== 'number' || typeof state.sortieChecklistSummary?.complete !== 'boolean' || + typeof state.sortieChecklistSummary?.requiredComplete !== 'boolean' || + typeof state.sortieChecklistSummary?.recommendedComplete !== 'boolean' || typeof state.sortieChecklistSummary?.requiredRemainingCount !== 'number' || typeof state.sortieChecklistSummary?.recommendedRemainingCount !== 'number' || (state.sortieChecklistSummary?.nextIncompleteLabel !== null && typeof state.sortieChecklistSummary?.nextIncompleteLabel !== 'string') || diff --git a/src/game/scenes/CampScene.ts b/src/game/scenes/CampScene.ts index 45358c0..dd08ba8 100644 --- a/src/game/scenes/CampScene.ts +++ b/src/game/scenes/CampScene.ts @@ -13799,13 +13799,17 @@ export class CampScene extends Phaser.Scene { private sortieChecklistSummary(checklist: SortieChecklistItem[]) { const completeCount = checklist.filter((item) => item.complete).length; + const requiredRemainingCount = checklist.filter((item) => !item.complete && item.priority === 'required').length; + const recommendedRemainingCount = checklist.filter((item) => !item.complete && item.priority !== 'required').length; const nextIncomplete = checklist.find((item) => !item.complete); return { total: checklist.length, completeCount, complete: completeCount === checklist.length, - requiredRemainingCount: checklist.filter((item) => !item.complete && item.priority === 'required').length, - recommendedRemainingCount: checklist.filter((item) => !item.complete && item.priority !== 'required').length, + requiredComplete: requiredRemainingCount === 0, + recommendedComplete: recommendedRemainingCount === 0, + requiredRemainingCount, + recommendedRemainingCount, nextIncompleteLabel: nextIncomplete?.label ?? null, nextIncompleteDetail: nextIncomplete?.detail ?? null, nextIncompletePriority: nextIncomplete?.priority ?? null