Apply per-officer reserve drill focus

This commit is contained in:
2026-07-09 13:40:54 +09:00
parent 02578e2f28
commit e4f494b7b1
2 changed files with 47 additions and 11 deletions

View File

@@ -184,6 +184,33 @@ try {
completedCampVisits: [],
createdAt: '2026-07-03T09:00:00.000Z'
};
const reserveDrillTemplate = campaignRecruitUnits.find((unit) => unit.id === 'jian-yong');
assert(reserveDrillTemplate, 'Expected Jian Yong recruit template to exist for reserve drill assignment checks');
storage.clear();
storage.set(
campaignStorageKey,
JSON.stringify({
version: 1,
updatedAt: '2026-07-03T12:10:00.000Z',
step: 'first-camp',
roster: [reserveDrillTemplate],
reserveTrainingFocus: 'balanced',
reserveTrainingAssignments: { [reserveDrillTemplate.id]: 'class-practice' }
})
);
loadCampaignState();
setFirstBattleReport(firstBattleReport);
const individualizedReserveTraining = getCampaignState();
const individualizedReserveAward = individualizedReserveTraining.battleHistory[firstScenario.id]?.reserveTraining?.find(
(entry) => entry.unitId === reserveDrillTemplate.id
);
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)}`
);
resetCampaignState();
setFirstBattleReport(firstBattleReport);
setFirstBattleReport(firstBattleReport);
const repeatedSettlement = getCampaignState();