Added an automation setting for chat command resources

This commit is contained in:
WBHarry 2026-01-27 20:22:45 +01:00
parent 6321c7c508
commit 1e62131a7c
5 changed files with 19 additions and 5 deletions

View file

@ -309,7 +309,7 @@ Hooks.on('chatMessage', (_, message) => {
? CONFIG.DH.ACTIONS.advantageState.disadvantage.value
: undefined;
const difficulty = rollCommand.difficulty;
const grantResources = Boolean(rollCommand.grantResources);
const grantResources = rollCommand.grantResources;
const target = getCommandTarget({ allowNull: true });
const title =

View file

@ -2466,6 +2466,10 @@
"gm": { "label": "GM" },
"players": { "label": "Players" }
},
"chatCommandAutomation": {
"label": "Chat Command Resource Automation",
"hint": "Default chat commands to grant resources such as hope and fear when possible"
},
"countdownAutomation": {
"label": "Countdown Automation",
"hint": "Automatically progress countdowns based on their progression settings"

View file

@ -18,6 +18,11 @@ export default class DhAutomation extends foundry.abstract.DataModel {
label: 'DAGGERHEART.SETTINGS.Automation.FIELDS.hopeFear.players.label'
})
}),
chatCommandAutomation: new fields.BooleanField({
required: true,
initial: false,
label: 'DAGGERHEART.SETTINGS.Automation.FIELDS.chatCommandAutomation.label'
}),
countdownAutomation: new fields.BooleanField({
required: true,
initial: true,

View file

@ -86,6 +86,9 @@ export const enrichedDualityRoll = async (
{ reaction, traitValue, target, difficulty, title, label, advantage, grantResources, customConfig },
event
) => {
const { chatCommandAutomation } = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Automation);
const shouldGrantResources = grantResources === undefined ? chatCommandAutomation : grantResources;
const config = {
event: event ?? {},
title: title,
@ -94,12 +97,12 @@ export const enrichedDualityRoll = async (
roll: {
trait: traitValue && target ? traitValue : null,
difficulty: difficulty,
advantage,
// type: reaction ? 'reaction' : null //not needed really but keeping it for troubleshooting
advantage
// type: reaction ? 'reaction' : null //not needed really but keeping it for troubleshooting
},
skips: {
resources: !grantResources,
triggers: !grantResources
resources: !shouldGrantResources,
triggers: !shouldGrantResources
},
type: 'trait',
hasRoll: true,

View file

@ -13,6 +13,8 @@
{{formGroup settingFields.schema.fields.summaryMessages.fields.damage value=settingFields._source.summaryMessages.damage localize=true}}
{{formGroup settingFields.schema.fields.summaryMessages.fields.effects value=settingFields._source.summaryMessages.effects localize=true}}
</div>
{{formGroup settingFields.schema.fields.chatCommandAutomation value=settingFields._source.chatCommandAutomation localize=true}}
{{formGroup settingFields.schema.fields.countdownAutomation value=settingFields._source.countdownAutomation localize=true}}
{{formGroup settingFields.schema.fields.actionPoints value=settingFields._source.actionPoints localize=true}}
{{formGroup settingFields.schema.fields.hordeDamage value=settingFields._source.hordeDamage localize=true}}