Potions et élémentaires

This commit is contained in:
2026-05-02 08:26:28 +02:00
parent a234ba5d14
commit d6b5891519
248 changed files with 7020 additions and 350 deletions
@@ -45,6 +45,7 @@ export default class MournbladeActorSheet extends HandlebarsApplicationMixin(fou
editItem: MournbladeActorSheet.#onEditItem,
deleteItem: MournbladeActorSheet.#onDeleteItem,
createItem: MournbladeActorSheet.#onCreateItem,
postItem: MournbladeActorSheet.#onPostItem,
equipItem: MournbladeActorSheet.#onEquipItem,
modifyQuantity: MournbladeActorSheet.#onModifyQuantity,
modifySante: MournbladeActorSheet.#onModifySante,
@@ -52,6 +53,10 @@ export default class MournbladeActorSheet extends HandlebarsApplicationMixin(fou
rollAttribut: MournbladeActorSheet.#onRollAttribut,
rollCompetence: MournbladeActorSheet.#onRollCompetence,
rollRune: MournbladeActorSheet.#onRollRune,
rollSortilege: MournbladeActorSheet.#onRollSortilege,
preparePotion: MournbladeActorSheet.#onPreparePotion,
invoquerElementaire: MournbladeActorSheet.#onInvoquerElementaire,
bannirElementaire: MournbladeActorSheet.#onBannirElementaire,
rollArmeOffensif: MournbladeActorSheet.#onRollArmeOffensif,
rollArmeSpecial: MournbladeActorSheet.#onRollArmeSpecial,
rollArmeDegats: MournbladeActorSheet.#onRollArmeDegats,
@@ -238,6 +243,16 @@ export default class MournbladeActorSheet extends HandlebarsApplicationMixin(fou
await this.actor.createEmbeddedDocuments("Item", [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
}
/**
* Handle posting an item to chat
*/
static async #onPostItem(event, target) {
const li = target.closest(".item")
const itemId = li?.dataset.itemId ?? target.dataset.itemId
if (!itemId) return
MournbladeUtility.postItemToChat(this.actor.id, itemId)
}
/**
* Handle equipping an item
* @param {Event} event - The triggering event
@@ -335,6 +350,39 @@ export default class MournbladeActorSheet extends HandlebarsApplicationMixin(fou
await actor.rollRune(runeId)
}
/**
* Handle launching a sortilège (multi-rune spell)
*/
static async #onRollSortilege(event, target) {
event.preventDefault()
await this.document.rollSortilege()
}
/**
* Handle preparing a potion
*/
static async #onPreparePotion(event, target) {
event.preventDefault()
await this.document.preparePotion()
}
/**
* Handle invoking an elemental
*/
static async #onInvoquerElementaire(event, target) {
event.preventDefault()
await this.document.invoquerElementaire()
}
/**
* Handle banishing an elemental invocation
*/
static async #onBannirElementaire(event, target) {
event.preventDefault()
const invocIndex = parseInt(target.dataset.invocIndex ?? "0")
await this.document.bannirElementaire(invocIndex)
}
/**
* Handle rolling an arme offensif
* @param {Event} event - The triggering event