fix: migration obsolète — utilise _source.items pour détecter items non-initialisés

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-03-29 21:41:46 +02:00
parent 0b53b19cf8
commit 3cd35b4a72

View File

@@ -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) {