From 3cd35b4a726e762a726053b74c63ce4754e5271a Mon Sep 17 00:00:00 2001 From: LeRatierBretonnier Date: Sun, 29 Mar 2026 21:41:46 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20migration=20obsol=C3=A8te=20=E2=80=94=20?= =?UTF-8?q?utilise=20=5Fsource.items=20pour=20d=C3=A9tecter=20items=20non-?= =?UTF-8?q?initialis=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- fvtt-celestopol.mjs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fvtt-celestopol.mjs b/fvtt-celestopol.mjs index 2d15920..c80c55c 100644 --- a/fvtt-celestopol.mjs +++ b/fvtt-celestopol.mjs @@ -137,16 +137,17 @@ Hooks.once("ready", () => { async function _migrateObsoleteItems() { const validTypes = new Set(["anomaly", "aspect", "equipment", "weapon", "armure"]) for (const actor of game.actors) { - const toDelete = actor.items + // Utilise _source.items pour trouver les items qui n'ont pas pu s'initialiser + const toDelete = (actor._source?.items ?? []) .filter(i => !validTypes.has(i.type)) - .map(i => i.id) + .map(i => i._id) if (toDelete.length) { console.warn(`${SYSTEM_ID} | Migration: suppression de ${toDelete.length} item(s) obsolète(s) sur ${actor.name}`, toDelete) await actor.deleteEmbeddedDocuments("Item", toDelete) } } // Items globaux (hors acteur) - const globalToDelete = game.items + const globalToDelete = game.items.contents .filter(i => !validTypes.has(i.type)) .map(i => i.id) if (globalToDelete.length) {