fix: resume campaign progress safely

This commit is contained in:
2026-07-29 01:13:57 +09:00
parent 90de2a3559
commit 6f2b6e42a4
31 changed files with 9354 additions and 148 deletions

View File

@@ -90,6 +90,38 @@ try {
isValidBattleSaveState(legacyStateWithoutSortieOrder, options),
'Expected legacy battle saves without a sortie order to remain valid.'
);
const generatedBattleSave = {
...validState,
battleResumeGeneration: 7
};
assert(
isValidBattleSaveState(
generatedBattleSave,
options
) &&
parseBattleSaveState(
JSON.stringify(generatedBattleSave),
options
)?.battleResumeGeneration === 7,
'Expected a non-negative battle-resume generation to round-trip.'
);
assert(
!isValidBattleSaveState(
{
...validState,
battleResumeGeneration: -1
},
options
) &&
!isValidBattleSaveState(
{
...validState,
battleResumeGeneration: 1.5
},
options
),
'Expected invalid battle-resume generations to be rejected.'
);
const validPendingBattleEventState = {
...validState,
pendingBattleEvents: [