Added visible modifier to GroupRoll leader result

This commit is contained in:
WBHarry 2025-11-08 21:58:29 +01:00
parent c3bd9f15a5
commit 56d0776811
3 changed files with 18 additions and 7 deletions

View file

@ -225,8 +225,9 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
})
});
const renderData = { system: foundry.utils.deepClone(message.system) };
foundry.utils.setProperty(renderData.system, `${path}.result`, result.roll);
const newMessageData = foundry.utils.deepClone(message.system);
foundry.utils.setProperty(newMessageData, `${path}.result`, result.roll);
const renderData = { system: new game.system.api.models.chatMessages.config.groupRoll(newMessageData) };
const updatedContent = await foundry.applications.handlebars.renderTemplate(
'systems/daggerheart/templates/ui/chat/groupRoll.hbs',
@ -280,8 +281,9 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
})
});
const renderData = { system: foundry.utils.deepClone(message.system) };
foundry.utils.setProperty(renderData.system, `${path}.result`, { ...result.roll, rerolled: true });
const newMessageData = foundry.utils.deepClone(message.system);
foundry.utils.setProperty(newMessageData, `${path}.result`, { ...result.roll, rerolled: true });
const renderData = { system: new game.system.api.models.chatMessages.config.groupRoll(newMessageData) };
const updatedContent = await foundry.applications.handlebars.renderTemplate(
'systems/daggerheart/templates/ui/chat/groupRoll.hbs',
@ -312,8 +314,9 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
return ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.noActorOwnership'));
}
const renderData = { system: foundry.utils.deepClone(message.system) };
foundry.utils.setProperty(renderData.system, `${path}.manualSuccess`, Boolean(success));
const newMessageData = foundry.utils.deepClone(message.system);
foundry.utils.setProperty(newMessageData, `${path}.manualSuccess`, Boolean(success));
const renderData = { system: new game.system.api.models.chatMessages.config.groupRoll(newMessageData) };
const updatedContent = await foundry.applications.handlebars.renderTemplate(
'systems/daggerheart/templates/ui/chat/groupRoll.hbs',

View file

@ -9,6 +9,14 @@ export default class DHGroupRoll extends foundry.abstract.TypeDataModel {
members: new fields.ArrayField(new fields.EmbeddedDataField(GroupRollMemberField))
};
}
get totalModifier() {
return this.members.reduce((acc, m) => {
if (m.manualSuccess === null) return acc;
return acc + (m.manualSuccess ? 1 : -1);
}, 0);
}
}
class GroupRollMemberField extends foundry.abstract.DataModel {

View file

@ -53,7 +53,7 @@
{{localize "DAGGERHEART.UI.Chat.dualityRoll.abilityCheckTitle" ability=(localize (concat "DAGGERHEART.CONFIG.Traits." system.leader.trait ".name"))}}
</h4>
<span class="main-roll-content">
<span class="main-value">{{system.leader.result.total}}</span>
<span class="main-value">{{system.leader.result.total}}{{#unless (isNullish system.totalModifier)}} {{#if (gte system.totalModifier 0)}}+{{else}}-{{/if}} {{positive system.totalModifier}}{{/unless}}</span>
<span class="main-text">{{localize "DAGGERHEART.GENERAL.withThing" thing=system.leader.result.result.label}}</span>
</span>
</div>