diff --git a/module/actor.js b/module/actor.js index 64ac12be..f62ad86c 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1141,12 +1141,17 @@ export class RdDActor extends Actor { sourceActor.buildSubConteneurObjetList(itemId, itemsList); // Get itemId list let itemMap = {}; - for (let item of itemsList) { - let srcItem = sourceActor.data.items.find(subItem => subItem._id == item.id); - let newItem = await this.createEmbeddedDocuments('Item', [duplicate(srcItem)]); + const itemsDataToCreate = itemsList.map(it => sourceActor.getObjet(it.id)) + .map(it => duplicate(Misc.data(it))) + .map(it => { it.data.contenu = []; return it; }); + let newItems = await this.createEmbeddedDocuments('Item', itemsDataToCreate); + for (let i = 0; i < itemsList.length; i++) { + const srcItem = itemsList[i]; + const newItem = newItems[i]; console.log('New object', newItem, srcItem); - itemMap[srcItem._id] = newItem._id; // Pour garder le lien ancien / nouveau + itemMap[srcItem.id] = newItem._id; // Pour garder le lien ancien / nouveau } + for (let item of itemsList) { // Second boucle pour traiter la remise en conteneurs // gestion conteneur/contenu if (item.conteneurId) { // l'Objet était dans un conteneur