From 785ef2921d098ad9211f0a2ea6af8139179b848e Mon Sep 17 00:00:00 2001 From: Wickedness Date: Sun, 5 Jul 2026 14:44:31 +0900 Subject: [PATCH] Normalize campaign reward snapshots --- scripts/verify-campaign-save-normalization.mjs | 6 +++--- src/game/state/campaignState.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/verify-campaign-save-normalization.mjs b/scripts/verify-campaign-save-normalization.mjs index 41e90fd..90d071b 100644 --- a/scripts/verify-campaign-save-normalization.mjs +++ b/scripts/verify-campaign-save-normalization.mjs @@ -644,9 +644,9 @@ try { mvp: { unitId: 'liu-bei', name: 'Liu Bei', damageDealt: '1000000', defeats: '2' }, itemRewards: ['Bean', 'Bean', 'Bean -2', 'Bean +0', 10, 'x'.repeat(97)], campaignRewards: { - supplies: [' Bean ', 'Bean', 20, 'x'.repeat(97)], - equipment: [' Iron Sword ', 'Iron Sword'], - reputation: ['Village Thanks', ' Village Thanks '], + supplies: [' Bean ', 'Bean', 'Bean -2', 'Bean +0', 20, 'x'.repeat(97)], + equipment: [' Iron Sword ', 'Iron Sword', 'Iron Sword -2'], + reputation: ['Village Thanks', ' Village Thanks ', 'Village Thanks +0'], recruits: [ { unitId: ' guan-yu ', name: ' Guan Yu ' }, { unitId: 'guan-yu', name: 'Duplicate Guan Yu' }, diff --git a/src/game/state/campaignState.ts b/src/game/state/campaignState.ts index 9ad31f5..07696e6 100644 --- a/src/game/state/campaignState.ts +++ b/src/game/state/campaignState.ts @@ -1681,9 +1681,9 @@ function cloneCampaignRewardSnapshot(rewards?: CampaignRewardSnapshot, battleId? const rewardRecord = recordOrEmpty(rewards); const note = typeof rewardRecord.note === 'string' ? rewardRecord.note.trim() : ''; return { - supplies: uniqueStrings(rewardRecord.supplies), - equipment: uniqueStrings(rewardRecord.equipment), - reputation: uniqueStrings(rewardRecord.reputation), + supplies: normalizeRewardStrings(rewardRecord.supplies), + equipment: normalizeRewardStrings(rewardRecord.equipment), + reputation: normalizeRewardStrings(rewardRecord.reputation), recruits: uniqueByKey( arrayOrEmpty(rewardRecord.recruits) .filter(isPlainObject)