diff --git a/module/applications/sheets/actors/adversary.mjs b/module/applications/sheets/actors/adversary.mjs index 67f57781..0b01ebee 100644 --- a/module/applications/sheets/actors/adversary.mjs +++ b/module/applications/sheets/actors/adversary.mjs @@ -10,6 +10,7 @@ export default class AdversarySheet extends DHBaseActorSheet { actions: { reactionRoll: AdversarySheet.#reactionRoll, useItem: this.useItem, + useAction: this.useItem, toChat: this.toChat }, window: { diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index e70774f5..ae7ffbf9 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -24,6 +24,7 @@ export default class CharacterSheet extends DHBaseActorSheet { levelManagement: CharacterSheet.#levelManagement, toggleEquipItem: CharacterSheet.#toggleEquipItem, useItem: this.useItem, //TODO Fix this + useAction: this.useAction, toChat: this.toChat }, window: { @@ -620,6 +621,20 @@ export default class CharacterSheet extends DHBaseActorSheet { } } + /** + * Use an action + * @type {ApplicationClickAction} + */ + static async useAction(event, button) { + const item = this.getItem(button); + if (!item) return; + + const action = item.system.actions.find(x => x.id === button.dataset.actionId); + if (!action) return; + + action.use(event); + } + /** * Send item to Chat * @type {ApplicationClickAction} diff --git a/module/applications/sheets/actors/environment.mjs b/module/applications/sheets/actors/environment.mjs index 188d24b4..05958cf5 100644 --- a/module/applications/sheets/actors/environment.mjs +++ b/module/applications/sheets/actors/environment.mjs @@ -11,6 +11,7 @@ export default class DhpEnvironment extends DHBaseActorSheet { }, actions: { useItem: this.useItem, + useAction: this.useItem, toChat: this.toChat }, dragDrop: [{ dragSelector: '.action-section .inventory-item', dropSelector: null }] diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less index 03772bfb..7466ae8b 100755 --- a/styles/less/global/elements.less +++ b/styles/less/global/elements.less @@ -319,6 +319,17 @@ transform: translateY(-20px); transform-origin: top; } + + .item-buttons { + grid-column: span 3; + display: flex; + gap: 8px; + flex-wrap: wrap; + + button { + white-space: nowrap; + } + } } .application.setting.dh-style { diff --git a/templates/sheets/global/partials/inventory-fieldset-items.hbs b/templates/sheets/global/partials/inventory-fieldset-items.hbs index 92d3a8a6..65c52736 100644 --- a/templates/sheets/global/partials/inventory-fieldset-items.hbs +++ b/templates/sheets/global/partials/inventory-fieldset-items.hbs @@ -17,7 +17,7 @@ {{/each}} {{else}} {{#each values}} - {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-item.hbs' item=this type=../type hideControls=../hideControls }} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-item.hbs' item=this type=../type hideControls=../hideControls featureType=true }} {{/each}} {{#each adversaries as |adversary|}} diff --git a/templates/sheets/global/partials/inventory-item.hbs b/templates/sheets/global/partials/inventory-item.hbs index 135c3e3c..eae3dd5f 100644 --- a/templates/sheets/global/partials/inventory-item.hbs +++ b/templates/sheets/global/partials/inventory-item.hbs @@ -171,4 +171,12 @@ {{/unless}}
{{#unless isSidebar}}{{{item.system.description}}}{{/unless}}
+ + {{#if featureType}} +
+ {{#each item.system.actions as | action |}} + + {{/each}} +
+ {{/if}} \ No newline at end of file