Messages d'informations sur drag&drop de sorts
Release Creation / build (release) Successful in 1m54s

This commit is contained in:
2026-05-01 19:00:37 +02:00
parent 9fb11bc587
commit 0e573219fd
37 changed files with 98 additions and 1 deletions
@@ -286,7 +286,56 @@ export default class HeritiersActorSheet extends HandlebarsApplicationMixin(foun
}
const itemData = item.toObject ? item.toObject() : item
return this.actor.createEmbeddedDocuments("Item", [itemData])
const createdItems = await this.actor.createEmbeddedDocuments("Item", [itemData])
for (const createdItem of createdItems) {
this.#notifyDroppedItemVisibility(createdItem)
}
return createdItems
}
/**
* Notify the user when a dropped magic item will not be visible in the Magie tab.
* @param {Item} item
*/
#notifyDroppedItemVisibility(item) {
if (!item) return
const magieActivee = this.actor.system?.biodata?.magie !== false
if ((item.type === "sort" || this.#isMagicCompetence(item)) && !magieActivee) {
ui.notifications.info("Élément de magie ajouté, mais l'onglet Magie reste masqué tant que « Fiche de Magie ? » n'est pas activé dans la fiche.")
}
if (item.type !== "sort") return
const competenceName = item.system?.competence?.trim()
if (!competenceName) {
ui.notifications.warn("Sort ajouté, mais il n'apparaîtra pas dans l'onglet Magie tant que sa compétence de magie n'est pas renseignée.")
return
}
const competence = this.actor.items.find(actorItem =>
actorItem.type === "competence"
&& actorItem.system?.profil === "magie"
&& actorItem.name === competenceName)
if (!competence) {
ui.notifications.warn(`Sort ajouté, mais il n'apparaîtra pas dans l'onglet Magie tant que la compétence magique « ${competenceName} » n'existe pas sur l'acteur.`)
return
}
if (competenceName === "Magie du Clan" && !["soufflecombat", "soufflemouvement", "souffleesprit"].includes(item.system?.souffle)) {
ui.notifications.warn("Sort ajouté, mais il n'apparaîtra pas dans l'onglet Magie tant que son souffle n'est pas renseigné dans sa fiche.")
}
}
/**
* @param {Item} item
* @returns {boolean}
*/
#isMagicCompetence(item) {
return item?.type === "competence" && item.system?.profil === "magie"
}
/**