Add reserve drill assignment API

This commit is contained in:
2026-07-09 13:38:20 +09:00
parent 053536fd20
commit 02578e2f28
2 changed files with 42 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ try {
normalizeCampaignSortieItemAssignments,
resetCampaignState,
setCampaignState,
setCampaignReserveTrainingAssignment,
setFirstBattleReport
} = await server.ssrLoadModule('/src/game/state/campaignState.ts');
const { battleScenarios } = await server.ssrLoadModule('/src/game/data/battles.ts');
@@ -134,6 +135,26 @@ try {
cappedReserveDrills['unit-96'] === undefined,
`Expected reserve drill assignments without a roster filter to stay capped: ${JSON.stringify(cappedReserveDrills)}`
);
storage.clear();
storage.set(
campaignStorageKey,
JSON.stringify({
version: 1,
updatedAt: '2026-07-03T11:30:00.000Z',
step: 'third-camp',
roster: [{ id: 'liu-bei', name: 'Liu Bei', faction: 'ally' }]
})
);
loadCampaignState();
const assignedReserveDrill = setCampaignReserveTrainingAssignment(' liu-bei ', 'class-practice');
const ignoredReserveDrill = setCampaignReserveTrainingAssignment('ghost-unit', 'bond-practice');
const clearedReserveDrill = setCampaignReserveTrainingAssignment('liu-bei');
assert(
assignedReserveDrill.reserveTrainingAssignments['liu-bei'] === 'class-practice' &&
ignoredReserveDrill.reserveTrainingAssignments['ghost-unit'] === undefined &&
clearedReserveDrill.reserveTrainingAssignments['liu-bei'] === undefined,
`Expected reserve drill assignment API to trim, filter, and clear per-officer focus ids: ${JSON.stringify({ assignedReserveDrill, ignoredReserveDrill, clearedReserveDrill })}`
);
resetCampaignState();
const firstScenario = battleScenarios['first-battle-zhuo-commandery'];