diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index 308faee7..fc8a2c43 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -134,6 +134,7 @@ export default class CharacterSheet extends DHBaseActorSheet { }); htmlElement.querySelectorAll('.inventory-item-quantity').forEach(element => { element.addEventListener('change', this.updateItemQuantity.bind(this)); + element.addEventListener('click', e => e.stopPropagation()); }); // Add listener for armor marks input @@ -679,7 +680,7 @@ export default class CharacterSheet extends DHBaseActorSheet { }) }); - if(result) game.system.api.fields.ActionFields.CostField.execute.call(this, result); + if (result) game.system.api.fields.ActionFields.CostField.execute.call(this, result); } //TODO: redo toggleEquipItem method diff --git a/module/data/item/consumable.mjs b/module/data/item/consumable.mjs index dad6a95c..f74f9975 100644 --- a/module/data/item/consumable.mjs +++ b/module/data/item/consumable.mjs @@ -28,4 +28,13 @@ export default class DHConsumable extends BaseDataItem { /**@override */ static DEFAULT_ICON = 'systems/daggerheart/assets/icons/documents/items/round-potion.svg'; + async _preUpdate(changes, options, userId) { + const allowed = await super._preUpdate(changes, options, userId); + if (allowed === false) return; + + if (changes.system?.quantity !== undefined && Number(changes.system.quantity) === 0) { + this.parent.delete(); + return; + } + } } diff --git a/templates/sheets/global/partials/inventory-item-V2.hbs b/templates/sheets/global/partials/inventory-item-V2.hbs index b456c17d..a4ecec3a 100644 --- a/templates/sheets/global/partials/inventory-item-V2.hbs +++ b/templates/sheets/global/partials/inventory-item-V2.hbs @@ -65,7 +65,7 @@ Parameters: {{#if (and (not hideResources) (eq item.system.resource.type 'simple'))}} {{> "systems/daggerheart/templates/sheets/global/partials/item-resource.hbs"}} {{/if}} - {{#if (and (not hideResources) item.system.quantity)}} + {{#if (and (not hideResources) (gte item.system.quantity 0))}}