let choice1 = [
    {
        type : "armour",
        name : "Chausses de Mailles"
    },
    {
        type : "armour",
        name : "Cotte de Mailles"
    },
    {
        type : "armour",
        name : "Coiffe de Mailles"
    },
]
let choice2 = [
    {
        type : "armour",
        name : "Chausses de Mailles"
    },
    {
        type : "armour",
        name : "Cotte de Mailles"
    },
    {
        type : "armour",
        name : "Coiffe de Mailles"
    },
    {
        type : "armour",
        name : "Jambières de cuir"
    },
    {
        type : "armour",
        name : "Calotte de cuir"
    },
    {
        type : "armour",
        name : "Veste de cuir"
    },
]
let choice3 = [
    {
        type : "armour",
        name : "Plastron d'acier"
    },
    {
        type : "armour",
        name : "Brassards"
    },
    {
        type : "armour",
        name : "Heaume"
    },
    {
        type : "armour",
        name : "Jambières d'acier"
    },
]

let choice = await foundry.applications.api.DialogV2.wait({
    window : {title : "Choix"},
    content :
    `<p>
    Sélectionnez votre choix
    </p>
    <ol>
    <li>Mailles</li>
    <li>Mailles et Cuir</li>
    <li>Plaques</li>
    </ol>
    `,
    buttons : [
        {
            action : 1,
            label : "Mailles",
            callback : () => {
                return choice1
            }
        },
        {
            action : 2,
            label : "Mailles et Cuir",
            callback : () => {
                return choice2
            }
        },
        {
            action : 3,
            label : "Plaques",
            callback : () => {
                return choice3
            }
        }
    ]
})

let updateObj = this.actor.toObject();
let items = []
for (let c of choice)
{
    let existing
    if (c.type == "skill")
    {
        existing = updateObj.items.find(i => i.name == c.name && i.type == c.type)
        if (existing && c.diff?.system?.advances?.value)
        {
            existing.system.advances.value += c.diff.system.advances.value
        }
    }

    if (!existing)
    {
        let item = await game.wfrp4e.utility.find(c.name, c.type)
        if (item)
        {
            let equip = item.system.tags.has("equippable");
            item = item.toObject()
            if (equip)
            {
                item.system.equipped.value = true;
            }
            items.push(foundry.utils.mergeObject(item, (c.diff || {})))
        }
        else
            ui.notifications.warn(`Impossible de trouver ${c.name}`, {permanent : true})
    }

}
await this.actor.update(updateObj)
this.actor.createEmbeddedDocuments("Item", items);
