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"}}