mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-04-21 15:03:37 +02:00
Refine logic for use action when hovering over item icon
This commit is contained in:
parent
6533b3edee
commit
0471bbc7d0
5 changed files with 20 additions and 3 deletions
|
|
@ -148,6 +148,12 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel
|
||||||
: null;
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns true if the action is usable */
|
||||||
|
get usable() {
|
||||||
|
const actor = this.actor;
|
||||||
|
return this.isOwner && actor?.type === 'character';
|
||||||
|
}
|
||||||
|
|
||||||
static getRollType(parent) {
|
static getRollType(parent) {
|
||||||
return 'trait';
|
return 'trait';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,8 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
get actionsList() {
|
get actionsList() {
|
||||||
|
// No actions on non-characters
|
||||||
|
if (this.actor && this.actor.type !== 'character') return [];
|
||||||
return this.actions;
|
return this.actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,9 @@ export default class DHWeapon extends AttachableItem {
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
||||||
get actionsList() {
|
get actionsList() {
|
||||||
return [this.attack, ...this.actions];
|
// No actions on non-characters
|
||||||
|
if (this.actor && this.actor.type !== 'character') return [];
|
||||||
|
return [this.attack, ...super.actionsList];
|
||||||
}
|
}
|
||||||
|
|
||||||
get customActions() {
|
get customActions() {
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,13 @@ export default class DHItem extends foundry.documents.Item {
|
||||||
return this.system.metadata.isInventoryItem ?? false;
|
return this.system.metadata.isInventoryItem ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns true if the item can be used */
|
||||||
|
get usable() {
|
||||||
|
const actor = this.actor;
|
||||||
|
const actionsList = this.system.actionsList;
|
||||||
|
return this.isOwner && actor?.type === 'character' && (actionsList?.size || actionsList?.length);
|
||||||
|
}
|
||||||
|
|
||||||
/** @inheritdoc */
|
/** @inheritdoc */
|
||||||
static async createDialog(data = {}, createOptions = {}, options = {}) {
|
static async createDialog(data = {}, createOptions = {}, options = {}) {
|
||||||
const { folders, types, template, context = {}, ...dialogOptions } = options;
|
const { folders, types, template, context = {}, ...dialogOptions } = options;
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,11 @@ Parameters:
|
||||||
>
|
>
|
||||||
<div class="inventory-item-header {{#if hideContextMenu}}padded{{/if}}" {{#unless noExtensible}}data-action="toggleExtended" {{/unless}}>
|
<div class="inventory-item-header {{#if hideContextMenu}}padded{{/if}}" {{#unless noExtensible}}data-action="toggleExtended" {{/unless}}>
|
||||||
{{!-- Image --}}
|
{{!-- Image --}}
|
||||||
<div class="img-portait" data-action='{{ifThen (or (hasProperty item "use") (eq type "attack")) "useItem" (ifThen
|
<div class="img-portait" data-action='{{ifThen item.usable "useItem" (ifThen
|
||||||
(hasProperty item "toChat" ) "toChat" "editDoc" ) }}' {{#unless hideTooltip}} {{#if (eq type 'attack' )}}
|
(hasProperty item "toChat" ) "toChat" "editDoc" ) }}' {{#unless hideTooltip}} {{#if (eq type 'attack' )}}
|
||||||
data-tooltip="#attack#{{item.actor.uuid}}" {{else}} data-tooltip="#item#{{item.uuid}}" {{/if}} {{/unless}} draggable="true">
|
data-tooltip="#attack#{{item.actor.uuid}}" {{else}} data-tooltip="#item#{{item.uuid}}" {{/if}} {{/unless}} draggable="true">
|
||||||
<img src="{{item.img}}" class="item-img {{#if isActor}}actor-img{{/if}}" />
|
<img src="{{item.img}}" class="item-img {{#if isActor}}actor-img{{/if}}" />
|
||||||
{{#if (or item.system.actionsList.size item.system.actionsList.length item.actionType)}}
|
{{#if item.usable}}
|
||||||
{{#if @root.isNPC}}
|
{{#if @root.isNPC}}
|
||||||
<img class="roll-img d20" src="systems/daggerheart/assets/icons/dice/default/d20.svg" alt="d20">
|
<img class="roll-img d20" src="systems/daggerheart/assets/icons/dice/default/d20.svg" alt="d20">
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue