feat: resume exploration exactly and harden campaign saves

This commit is contained in:
2026-07-28 17:39:20 +09:00
parent a08d251098
commit 8a6c8c2cd7
24 changed files with 8958 additions and 413 deletions

View File

@@ -128,6 +128,7 @@ try {
delete legacySave.acknowledgedVictoryRewardCategories;
delete legacySave.dismissedVictoryRewardNoticeBattleIds;
values.set(campaignStorageKey, JSON.stringify(legacySave));
values.set(`${campaignStorageKey}:slot-${legacySave.activeSaveSlot}`, JSON.stringify(legacySave));
const migratedLegacySave = loadCampaignState();
assert(
migratedLegacySave.acknowledgedVictoryRewardBattleIds.includes(scenario.id) &&
@@ -150,6 +151,7 @@ try {
'unknown-battle'
];
values.set(campaignStorageKey, JSON.stringify(partialSave));
values.set(`${campaignStorageKey}:slot-${partialSave.activeSaveSlot}`, JSON.stringify(partialSave));
const normalizedPartialSave = loadCampaignState();
assert(
JSON.stringify(normalizedPartialSave.acknowledgedVictoryRewardCategories) === JSON.stringify({ [scenario.id]: ['equipment'] }) &&