diff --git a/source/module/actors/M5Character.ts b/source/module/actors/M5Character.ts
index bed7d9a..e067c62 100644
--- a/source/module/actors/M5Character.ts
+++ b/source/module/actors/M5Character.ts
@@ -171,7 +171,15 @@ export class M5Character extends Actor {
if (item.system.magic) {
label += "*";
}
+ let rollable = false;
+ // console.log(item.system.rolls.formulas.map((p) => p.enabled));
+ for (let key in item.system.rolls.formulas) {
+ rollable = item.system.rolls.formulas[key].enabled;
+ if (rollable) {
+ break;
+ }
+ }
ret.gear.items[item.id] = {
label: label,
magic: item.system.magic,
@@ -179,6 +187,8 @@ export class M5Character extends Actor {
equipped: item.system?.equipped,
value: item.system.value || 0,
currency: item.system.currency || "",
+ quantity: item.system.quantity || 0,
+ rollExist: rollable,
};
});
}
diff --git a/source/module/sheets/M5CharacterSheet.ts b/source/module/sheets/M5CharacterSheet.ts
index d847e42..e98a1ae 100644
--- a/source/module/sheets/M5CharacterSheet.ts
+++ b/source/module/sheets/M5CharacterSheet.ts
@@ -97,6 +97,60 @@ export default class M5CharacterSheet extends ActorSheet {
item.sheet.render(true);
});
+ html.find(".quantity-increase").on("click", async (event) => {
+ let row = event.target.parentElement;
+ let itemId = row.dataset["item"];
+ while (!itemId) {
+ row = row.parentElement;
+ if (!row) return;
+ itemId = row.dataset["item"];
+ }
+
+ const context = this.actor as any;
+ const item = context.items.get(itemId);
+ if (!item.system.quantity) {
+ item.system.quantity = 0;
+ }
+ item.system.quantity += 1;
+ this.render();
+ });
+
+ html.find(".quantity-decrease").on("click", async (event) => {
+ let row = event.target.parentElement;
+ let itemId = row.dataset["item"];
+ while (!itemId) {
+ row = row.parentElement;
+ if (!row) return;
+ itemId = row.dataset["item"];
+ }
+
+ const context = this.actor as any;
+ const item = context.items.get(itemId);
+ if (item.system.quantity > 0) {
+ item.system.quantity -= 1;
+ }
+ this.render();
+ });
+
+ html.find(".roll-consumable-item").on("click", async (event) => {
+ let row = event.target.parentElement;
+ let itemId = row.dataset["item"];
+ while (!itemId) {
+ row = row.parentElement;
+ if (!row) return;
+ itemId = row.dataset["item"];
+ }
+
+ const context = this.actor as any;
+ const item = context.items.get(itemId);
+ if (item.system.quantity > 0) {
+ item.system.quantity -= 1;
+ }
+
+ await item.roll();
+ this.render();
+ });
+
html.find(".item-delete").on("click", async (event) => {
let row = event.target.parentElement;
let itemId = row.dataset["item"];
diff --git a/templates/sheets/character/gear.hbs b/templates/sheets/character/gear.hbs
index c4597e7..e2dc767 100644
--- a/templates/sheets/character/gear.hbs
+++ b/templates/sheets/character/gear.hbs
@@ -123,8 +123,10 @@
{{localize "TYPES.Item.item"}}
+ {{localize "midgard5.item-quantity"}}
{{localize "midgard5.item-value"}}
+