From 65e5de5407a0cadf4fab905f38936f29a920f952 Mon Sep 17 00:00:00 2001 From: Wickedness Date: Thu, 9 Jul 2026 13:54:42 +0900 Subject: [PATCH] Cover individualized reserve bond drill settlement --- .../verify-campaign-save-normalization.mjs | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/scripts/verify-campaign-save-normalization.mjs b/scripts/verify-campaign-save-normalization.mjs index 7a09f77..7b0303e 100644 --- a/scripts/verify-campaign-save-normalization.mjs +++ b/scripts/verify-campaign-save-normalization.mjs @@ -195,20 +195,37 @@ try { step: 'first-camp', roster: [reserveDrillTemplate], reserveTrainingFocus: 'balanced', - reserveTrainingAssignments: { [reserveDrillTemplate.id]: 'class-practice' } + reserveTrainingAssignments: { [reserveDrillTemplate.id]: 'bond-practice' } }) ); loadCampaignState(); - setFirstBattleReport(firstBattleReport); + setFirstBattleReport({ + ...firstBattleReport, + bonds: [ + ...firstBattleReport.bonds, + { + id: 'reserve-drill-bond', + unitIds: [reserveDrillTemplate.id, 'liu-bei'], + title: 'Reserve Drill Bond', + level: 1, + exp: 0, + battleExp: 0, + description: 'Reserve drill verification bond' + } + ] + }); const individualizedReserveTraining = getCampaignState(); const individualizedReserveAward = individualizedReserveTraining.battleHistory[firstScenario.id]?.reserveTraining?.find( (entry) => entry.unitId === reserveDrillTemplate.id ); + const individualizedReserveBond = individualizedReserveTraining.bonds.find((bond) => bond.id === 'reserve-drill-bond'); assert( - individualizedReserveAward?.focusId === 'class-practice' && - individualizedReserveAward.expGained === 4 && - individualizedReserveAward.equipmentExpGained === 5, - `Expected per-officer reserve drill assignments to override the global focus during battle settlement: ${JSON.stringify(individualizedReserveTraining)}` + individualizedReserveAward?.focusId === 'bond-practice' && + individualizedReserveAward.expGained === 5 && + individualizedReserveAward.equipmentExpGained === 1 && + individualizedReserveAward.bondExpGained === 4 && + individualizedReserveBond?.exp === 4, + `Expected per-officer reserve drill assignments to override the global focus and apply bond growth during battle settlement: ${JSON.stringify(individualizedReserveTraining)}` ); resetCampaignState(); setFirstBattleReport(firstBattleReport);