diff --git a/module/applications/dialogs/actionSelectionDialog.mjs b/module/applications/dialogs/actionSelectionDialog.mjs index 6322ed63..995c4894 100644 --- a/module/applications/dialogs/actionSelectionDialog.mjs +++ b/module/applications/dialogs/actionSelectionDialog.mjs @@ -57,7 +57,7 @@ export default class ActionSelectionDialog extends HandlebarsApplicationMixin(Ap /** @inheritDoc */ async _prepareContext(options) { - const actions = this.#item.system.actions.map(action => ({ + const actions = this.#item.system.actionsList.map(action => ({ ...action.toObject(), id: action.id, img: action.baseAction ? action.parent.parent.img : action.img @@ -72,7 +72,7 @@ export default class ActionSelectionDialog extends HandlebarsApplicationMixin(Ap static async #onChooseAction(event, button) { const { actionId } = button.dataset; - this.action = this.item.system.actions.find(a => a._id === actionId); + this.action = this.item.system.actionsList.find(a => a._id === actionId); Object.defineProperty(this.event, 'shiftKey', { get() { return event.shiftKey; diff --git a/module/applications/dialogs/d20RollDialog.mjs b/module/applications/dialogs/d20RollDialog.mjs index f8924d6c..067aa473 100644 --- a/module/applications/dialogs/d20RollDialog.mjs +++ b/module/applications/dialogs/d20RollDialog.mjs @@ -17,7 +17,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio this.action = config.data.attack?._id == config.source.action ? config.data.attack - : this.item.system.actions?.find(a => a.id === config.source.action); + : this.item.system.actionsList?.find(a => a.id === config.source.action); } } diff --git a/module/data/chat-message/actorRoll.mjs b/module/data/chat-message/actorRoll.mjs index 02141c6b..eaa1cdc2 100644 --- a/module/data/chat-message/actorRoll.mjs +++ b/module/data/chat-message/actorRoll.mjs @@ -84,7 +84,7 @@ export default class DHActorRoll extends foundry.abstract.TypeDataModel { ]; default: const item = actionActor.items.get(this.source.item); - return item ? item.system.actions?.find(a => a.id === this.source.action) : null; + return item ? item.system.actionsList?.find(a => a.id === this.source.action) : null; } } diff --git a/module/data/item/base.mjs b/module/data/item/base.mjs index cc198dc4..f6c794f1 100644 --- a/module/data/item/base.mjs +++ b/module/data/item/base.mjs @@ -109,7 +109,9 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel { get actionsList() { // No actions on non-characters - if (this.actor && this.actor.type !== 'character') return []; + if (this.metadata.isInventoryItem && this.actor && this.actor.type !== 'character') { + return []; + } return this.actions; }