From 54e1b0c2b20cce2ca49b96d192168fcd5e909c97 Mon Sep 17 00:00:00 2001 From: ARIA Date: Fri, 3 Jul 2026 12:07:46 +0200 Subject: [PATCH] Fix equipment vanishing after save: preserve equipment in loadChatData --- src/core/persistence.js | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/src/core/persistence.js b/src/core/persistence.js index 4168248..d6f6e82 100644 --- a/src/core/persistence.js +++ b/src/core/persistence.js @@ -1040,23 +1040,7 @@ export function loadChatData() { if (!savedData) { // Reset to defaults if no metadata exists, then try to rebuild from message swipe data below. updateExtensionSettings({ - userStats: { - health: 100, - satiety: 100, - energy: 100, - hygiene: 100, - arousal: 0, - mood: '😐', - conditions: 'None', - // Use v2 inventory format for defaults - inventory: { - version: 2, - onPerson: "None", - clothing: "None", - stored: {}, - assets: "None" - } - }, + userStats: cloneSerializable(DEFAULT_USER_STATS), quests: { main: "None", optional: [] @@ -1076,9 +1060,10 @@ export function loadChatData() { clearThoughtBasedExpressionPortraits(); } - // Restore stats + // Restore stats — merge with defaults to preserve properties like `equipment` + // that may not exist in older saves if (savedData?.userStats) { - extensionSettings.userStats = { ...savedData.userStats }; + extensionSettings.userStats = mergeWithDefaults(DEFAULT_USER_STATS, savedData.userStats); } // Restore classic stats