Expose reserve drill assignments in debug state
This commit is contained in:
@@ -9634,6 +9634,9 @@ function assertSortieTacticalRoster(state, requiredUnitIds) {
|
|||||||
!state.sortieFocusedUnit.equipmentLine?.includes('Lv') ||
|
!state.sortieFocusedUnit.equipmentLine?.includes('Lv') ||
|
||||||
!state.sortieFocusedUnit.bondLine?.includes('공명') ||
|
!state.sortieFocusedUnit.bondLine?.includes('공명') ||
|
||||||
!state.sortieFocusedUnit.terrainLine?.includes('지형') ||
|
!state.sortieFocusedUnit.terrainLine?.includes('지형') ||
|
||||||
|
typeof state.sortieFocusedUnit.reserveTrainingAssigned !== 'boolean' ||
|
||||||
|
!state.sortieFocusedUnit.reserveTrainingFocusId ||
|
||||||
|
!state.sortieFocusedUnit.reserveTrainingFocusLabel ||
|
||||||
typeof state.sortieFocusedUnit.terrainScore !== 'number' ||
|
typeof state.sortieFocusedUnit.terrainScore !== 'number' ||
|
||||||
!state.sortieFocusedUnit.terrainGrade ||
|
!state.sortieFocusedUnit.terrainGrade ||
|
||||||
!Array.isArray(state.sortieFocusedUnit.equipment) ||
|
!Array.isArray(state.sortieFocusedUnit.equipment) ||
|
||||||
@@ -9645,6 +9648,7 @@ function assertSortieTacticalRoster(state, requiredUnitIds) {
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
!state.reserveTrainingFocus ||
|
!state.reserveTrainingFocus ||
|
||||||
|
typeof state.reserveTrainingAssignments !== 'object' ||
|
||||||
!Array.isArray(state.reserveTrainingFocusOptions) ||
|
!Array.isArray(state.reserveTrainingFocusOptions) ||
|
||||||
state.reserveTrainingFocusOptions.length !== 3 ||
|
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)
|
||||||
|
|||||||
@@ -207,6 +207,9 @@ type SortieFocusedUnitSummary = SortieUnitTacticalSummary & {
|
|||||||
className: string;
|
className: string;
|
||||||
classRole: string;
|
classRole: string;
|
||||||
formationRole: SortieFormationRole;
|
formationRole: SortieFormationRole;
|
||||||
|
reserveTrainingAssigned: boolean;
|
||||||
|
reserveTrainingFocusId: CampaignReserveTrainingFocusId;
|
||||||
|
reserveTrainingFocusLabel: string;
|
||||||
terrainScore: number;
|
terrainScore: number;
|
||||||
terrainGrade: string;
|
terrainGrade: string;
|
||||||
equipment: {
|
equipment: {
|
||||||
@@ -13179,6 +13182,8 @@ export class CampScene extends Phaser.Scene {
|
|||||||
const recommendation = this.sortieRecommendation(unit.id);
|
const recommendation = this.sortieRecommendation(unit.id);
|
||||||
const scenario = this.nextSortieScenario();
|
const scenario = this.nextSortieScenario();
|
||||||
const terrainScore = this.sortieTerrainScore(unit, scenario);
|
const terrainScore = this.sortieTerrainScore(unit, scenario);
|
||||||
|
const assignedReserveTrainingFocus = this.campaign?.reserveTrainingAssignments[unit.id];
|
||||||
|
const reserveTrainingFocus = this.reserveTrainingFocusDefinitionForUnit(unit.id);
|
||||||
return {
|
return {
|
||||||
id: unit.id,
|
id: unit.id,
|
||||||
name: unit.name,
|
name: unit.name,
|
||||||
@@ -13189,6 +13194,9 @@ export class CampScene extends Phaser.Scene {
|
|||||||
className: unit.className,
|
className: unit.className,
|
||||||
classRole: getUnitClass(unit.classKey).role,
|
classRole: getUnitClass(unit.classKey).role,
|
||||||
formationRole: this.sortieFormationRole(unit),
|
formationRole: this.sortieFormationRole(unit),
|
||||||
|
reserveTrainingAssigned: Boolean(assignedReserveTrainingFocus),
|
||||||
|
reserveTrainingFocusId: reserveTrainingFocus.id,
|
||||||
|
reserveTrainingFocusLabel: reserveTrainingFocus.label,
|
||||||
terrainScore,
|
terrainScore,
|
||||||
terrainGrade: this.sortieTerrainGrade(terrainScore),
|
terrainGrade: this.sortieTerrainGrade(terrainScore),
|
||||||
statLine: summary.statLine,
|
statLine: summary.statLine,
|
||||||
@@ -15691,6 +15699,7 @@ export class CampScene extends Phaser.Scene {
|
|||||||
selectedVisitId: this.selectedVisitId,
|
selectedVisitId: this.selectedVisitId,
|
||||||
selectedSortieUnitIds: [...this.selectedSortieUnitIds],
|
selectedSortieUnitIds: [...this.selectedSortieUnitIds],
|
||||||
sortieFormationAssignments: { ...this.sortieFormationAssignments },
|
sortieFormationAssignments: { ...this.sortieFormationAssignments },
|
||||||
|
reserveTrainingAssignments: { ...(this.campaign?.reserveTrainingAssignments ?? {}) },
|
||||||
sortieItemAssignments: this.cloneSortieItemAssignments(this.sortieItemAssignments),
|
sortieItemAssignments: this.cloneSortieItemAssignments(this.sortieItemAssignments),
|
||||||
sortieDeploymentPreview: this.sortieDeploymentPreviewDebug(),
|
sortieDeploymentPreview: this.sortieDeploymentPreviewDebug(),
|
||||||
sortieFocusedUnitId: this.sortieFocusedUnitId,
|
sortieFocusedUnitId: this.sortieFocusedUnitId,
|
||||||
@@ -15747,6 +15756,7 @@ export class CampScene extends Phaser.Scene {
|
|||||||
inventory: this.campaign.inventory,
|
inventory: this.campaign.inventory,
|
||||||
selectedSortieUnitIds: this.campaign.selectedSortieUnitIds,
|
selectedSortieUnitIds: this.campaign.selectedSortieUnitIds,
|
||||||
sortieFormationAssignments: this.campaign.sortieFormationAssignments,
|
sortieFormationAssignments: this.campaign.sortieFormationAssignments,
|
||||||
|
reserveTrainingAssignments: this.campaign.reserveTrainingAssignments,
|
||||||
reserveTrainingFocus: this.campaign.reserveTrainingFocus,
|
reserveTrainingFocus: this.campaign.reserveTrainingFocus,
|
||||||
roster: this.campaign.roster.map((unit) => ({
|
roster: this.campaign.roster.map((unit) => ({
|
||||||
id: unit.id,
|
id: unit.id,
|
||||||
|
|||||||
Reference in New Issue
Block a user