Fixed so that reload button is only shown in chat messages if the underlying item uses reload

This commit is contained in:
WBHarry 2026-07-21 22:40:41 +02:00
parent 26bcc2dddc
commit cb0d22a9a0
3 changed files with 15 additions and 12 deletions

View file

@ -76,10 +76,14 @@ export default class DHActorRoll extends foundry.abstract.TypeDataModel {
return fromUuidSync(this.source.actor);
}
get actionItem() {
get item() {
const actionActor = this.actionActor;
if (!actionActor || !this.source.item) return null;
return actionActor.items.get(this.source.item);
}
get actionItem() {
switch (this.source.originItem.type) {
case CONFIG.DH.ITEM.originItemType.restMove:
const restMoves = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).restMoves;
@ -87,11 +91,14 @@ export default class DHActorRoll extends foundry.abstract.TypeDataModel {
this.source.originItem.actionIndex
];
default:
const item = actionActor.items.get(this.source.item);
return item ? item.system.actionsList?.find(a => a.id === this.source.action) : null;
return this.item?.system.actionsList?.find(a => a.id === this.source.action);
}
}
get hasReload() {
return this.item?.system.hasReload;
}
get action() {
const { actionActor, actionItem: itemAction } = this;
if (!this.source.action) return null;

View file

@ -1,5 +1,5 @@
<div class="roll-buttons">
{{#if (eq automationSettings.reload 'button')}}
{{#if (and parent.system.hasReload (eq automationSettings.reload 'button'))}}
<button class="roll-reload-check" {{#if needsReload}}disabled{{/if}}>{{localize "DAGGERHEART.ACTIONS.Reload.checkReload"}}</button>
{{/if}}
{{#if areas.length}}<button class="action-areas end-button"><i class="fa-solid fa-crosshairs"></i></button>{{/if}}

View file

@ -1,14 +1,10 @@
<div class="chat-roll">
<div class="roll-part-title"><span>{{title}}</span></div>
{{#if (eq action.type 'attack')}}
{{#if needsReload}}
<div class="roll-reload-container">
{{#if needsReload}}
<p class='reload-warning'>{{localize "DAGGERHEART.ACTIONS.Reload.reloadRequired"}}</p>
{{/if}}
</div>
{{/if}}
{{#if (and (eq action.type 'attack') parent.system.needsReload)}}
<div class="roll-reload-container">
<p class='reload-warning'>{{localize "DAGGERHEART.ACTIONS.Reload.reloadRequired"}}</p>
</div>
{{/if}}
{{#if actionDescription}}{{> 'systems/daggerheart/templates/ui/chat/parts/description-part.hbs'}}{{/if}}