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:
@@ -137,16 +137,17 @@ Hooks.once("ready", () => {
|
|||||||
async function _migrateObsoleteItems() {
|
async function _migrateObsoleteItems() {
|
||||||
const validTypes = new Set(["anomaly", "aspect", "equipment", "weapon", "armure"])
|
const validTypes = new Set(["anomaly", "aspect", "equipment", "weapon", "armure"])
|
||||||
for (const actor of game.actors) {
|
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))
|
.filter(i => !validTypes.has(i.type))
|
||||||
.map(i => i.id)
|
.map(i => i._id)
|
||||||
if (toDelete.length) {
|
if (toDelete.length) {
|
||||||
console.warn(`${SYSTEM_ID} | Migration: suppression de ${toDelete.length} item(s) obsolète(s) sur ${actor.name}`, toDelete)
|
console.warn(`${SYSTEM_ID} | Migration: suppression de ${toDelete.length} item(s) obsolète(s) sur ${actor.name}`, toDelete)
|
||||||
await actor.deleteEmbeddedDocuments("Item", toDelete)
|
await actor.deleteEmbeddedDocuments("Item", toDelete)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Items globaux (hors acteur)
|
// Items globaux (hors acteur)
|
||||||
const globalToDelete = game.items
|
const globalToDelete = game.items.contents
|
||||||
.filter(i => !validTypes.has(i.type))
|
.filter(i => !validTypes.has(i.type))
|
||||||
.map(i => i.id)
|
.map(i => i.id)
|
||||||
if (globalToDelete.length) {
|
if (globalToDelete.length) {
|
||||||
|
|||||||
Reference in New Issue
Block a user