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