Expose reserve drill option state
This commit is contained in:
@@ -9666,7 +9666,9 @@ function assertSortieTacticalRoster(state, requiredUnitIds) {
|
||||
typeof state.rosterCollection?.reserveTrainingBondAssignmentCount !== 'number' ||
|
||||
!Array.isArray(state.reserveTrainingFocusOptions) ||
|
||||
state.reserveTrainingFocusOptions.length !== 3 ||
|
||||
!state.reserveTrainingFocusOptions.some((focus) => focus.id === 'bond-practice' && focus.bondExpGained > 0)
|
||||
!state.reserveTrainingFocusOptions.some((focus) => focus.id === 'bond-practice' && focus.bondExpGained > 0) ||
|
||||
!state.reserveTrainingFocusOptions.some((focus) => focus.selected) ||
|
||||
state.reserveTrainingFocusOptions.some((focus) => typeof focus.selected !== 'boolean' || typeof focus.assignedReserveCount !== 'number')
|
||||
) {
|
||||
throw new Error(`Expected sortie preparation to expose selectable reserve drill focuses: ${JSON.stringify(state.reserveTrainingFocusOptions)}`);
|
||||
}
|
||||
|
||||
@@ -15746,6 +15746,9 @@ export class CampScene extends Phaser.Scene {
|
||||
getDebugState() {
|
||||
const sortieChecklist = this.sortieChecklist();
|
||||
const sortieScenario = this.nextSortieScenario();
|
||||
const reserveTrainingAssignments = this.campaign?.reserveTrainingAssignments ?? {};
|
||||
const reserveTrainingFocus = this.reserveTrainingFocusDefinition();
|
||||
const reserveTrainingUnits = this.reserveTrainingPreviewUnits();
|
||||
return {
|
||||
scene: this.scene.key,
|
||||
activeTab: this.activeTab,
|
||||
@@ -15759,7 +15762,7 @@ export class CampScene extends Phaser.Scene {
|
||||
selectedVisitId: this.selectedVisitId,
|
||||
selectedSortieUnitIds: [...this.selectedSortieUnitIds],
|
||||
sortieFormationAssignments: { ...this.sortieFormationAssignments },
|
||||
reserveTrainingAssignments: { ...(this.campaign?.reserveTrainingAssignments ?? {}) },
|
||||
reserveTrainingAssignments: { ...reserveTrainingAssignments },
|
||||
sortieItemAssignments: this.cloneSortieItemAssignments(this.sortieItemAssignments),
|
||||
sortieDeploymentPreview: this.sortieDeploymentPreviewDebug(),
|
||||
sortieFocusedUnitId: this.sortieFocusedUnitId,
|
||||
@@ -15767,8 +15770,12 @@ export class CampScene extends Phaser.Scene {
|
||||
sortiePlanFeedback: this.sortiePlanFeedback,
|
||||
sortieChecklist,
|
||||
sortieNextAction: this.sortiePrepSubtitle(sortieChecklist),
|
||||
reserveTrainingFocus: this.reserveTrainingFocusDefinition(),
|
||||
reserveTrainingFocusOptions: campaignReserveTrainingFocusDefinitions.map((focus) => ({ ...focus })),
|
||||
reserveTrainingFocus,
|
||||
reserveTrainingFocusOptions: campaignReserveTrainingFocusDefinitions.map((focus) => ({
|
||||
...focus,
|
||||
selected: focus.id === reserveTrainingFocus.id,
|
||||
assignedReserveCount: reserveTrainingUnits.filter((unit) => reserveTrainingAssignments[unit.id] === focus.id).length
|
||||
})),
|
||||
sortieRosterView: this.sortieRosterViewState(this.sortieAllies().length),
|
||||
sortieRoster: this.sortieAllies().map((unit) => {
|
||||
const summary = this.sortieUnitTacticalSummary(unit);
|
||||
|
||||
Reference in New Issue
Block a user