From 4ffaebf52b552ee44bc8e7aa804c317052c7e82a Mon Sep 17 00:00:00 2001 From: LeRatierBretonnier Date: Mon, 3 Aug 2026 15:59:47 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20lancer=20les=20armes=20via=20la=20bo?= =?UTF-8?q?=C3=AEte=20de=20dialogue=20avec=20comp=C3=A9tence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajoute un champ compétence au modèle arme, un sélecteur dans la fiche d'arme et ouvre la boîte de dialogue de jet pré-remplie au clic sur l'icône dé (réservé aux acteurs disposant d'aptitudes/compétences). --- .../applications/sheets/base-actor-sheet.mjs | 11 +++++++++ module/models/weapon.mjs | 1 + templates/item/item-weapon-sheet.hbs | 23 +++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/module/applications/sheets/base-actor-sheet.mjs b/module/applications/sheets/base-actor-sheet.mjs index d0eb1e5..c6e1101 100644 --- a/module/applications/sheets/base-actor-sheet.mjs +++ b/module/applications/sheets/base-actor-sheet.mjs @@ -230,6 +230,17 @@ export default class VermineBaseActorSheet extends HandlebarsApplicationMixin(fo const id = target.closest("[data-item-id]")?.dataset?.itemId if (!id) return const item = this.document.items.get(id) + if (!item) return + if (item.type === "weapon" && this.document.system.abilities && this.document.system.skills) { + const { default: RollDialog } = await import("../../system/dialogs/rollDialog.mjs") + const dialog = await RollDialog.create({ + actorId: this.document.id, + rolltype: "skill", + label: item.system.skill + }) + if (dialog) dialog.render(true) + return + } item?.roll() } diff --git a/module/models/weapon.mjs b/module/models/weapon.mjs index 73922f1..6bd5db1 100644 --- a/module/models/weapon.mjs +++ b/module/models/weapon.mjs @@ -14,6 +14,7 @@ export default class VermineWeaponData extends foundry.abstract.TypeDataModel { const reqInt = { required: true, nullable: false, integer: true } return { ...baseItemSchema(), + skill: new fields.StringField({ required: true, nullable: false, initial: "" }), min_range: new fields.NumberField({ ...reqInt, initial: 0, min: 0 }), max_range: new fields.NumberField({ ...reqInt, initial: 0, min: 0 }), damage: new fields.SchemaField({ diff --git a/templates/item/item-weapon-sheet.hbs b/templates/item/item-weapon-sheet.hbs index 705fb3b..660ef4f 100644 --- a/templates/item/item-weapon-sheet.hbs +++ b/templates/item/item-weapon-sheet.hbs @@ -3,6 +3,29 @@
+
+ + +
+ {{> "systems/vermine2047/templates/item/partials/traits.hbs"}}