131 lines
2.6 KiB
JavaScript
131 lines
2.6 KiB
JavaScript
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);
|