diff --git a/libs/gi/db/src/Database/DataManagers/ArtifactDataManager.ts b/libs/gi/db/src/Database/DataManagers/ArtifactDataManager.ts index e3c9365ebb..e23413d23c 100644 --- a/libs/gi/db/src/Database/DataManagers/ArtifactDataManager.ts +++ b/libs/gi/db/src/Database/DataManagers/ArtifactDataManager.ts @@ -171,6 +171,7 @@ export class ArtifactDataManager extends DataManager< result.artifacts.import = artifacts.length const idsToRemove = new Set(this.values.map((a) => a.id)) const hasEquipment = artifacts.some((a) => a.location) + const hasLock = artifacts.some((a) => a.lock) artifacts.forEach((a): void => { const art = this.validate(a) if (!art) { @@ -216,7 +217,7 @@ export class ArtifactDataManager extends DataManager< ...art, location: hasEquipment ? art.location : match.location, // Preserve existing lock state for artifacts reported as unlocked or when the scanner doesn't detect locks ("lock": false JSON) - lock: art.lock === false ? match.lock : art.lock, + lock: hasLock ? art.lock : match.lock, } } }