From b5ba7e7fbad17c3d5249dd6e5bc29da198a33589 Mon Sep 17 00:00:00 2001 From: Dapoolp Date: Sat, 23 Aug 2025 12:35:38 +0200 Subject: [PATCH] Update action actionType & roll type --- module/applications/dialogs/d20RollDialog.mjs | 10 +++++----- module/applications/sheets/actors/character.mjs | 2 +- module/data/action/baseAction.mjs | 2 +- module/data/fields/action/rollField.mjs | 2 +- module/dice/d20Roll.mjs | 6 ++++-- module/dice/dhRoll.mjs | 2 +- module/dice/dualityRoll.mjs | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/module/applications/dialogs/d20RollDialog.mjs b/module/applications/dialogs/d20RollDialog.mjs index 5afe5943..1f4bf16c 100644 --- a/module/applications/dialogs/d20RollDialog.mjs +++ b/module/applications/dialogs/d20RollDialog.mjs @@ -7,7 +7,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio this.roll = roll; this.config = config; this.config.experiences = []; - this.reactionOverride = config.roll?.type === 'reaction'; + this.reactionOverride = config.actionType === 'reaction'; if (config.source?.action) { this.item = config.data.parent.items.get(config.source.item) ?? config.data.parent; @@ -114,7 +114,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio context.extraFormula = this.config.extraFormula; context.formula = this.roll.constructFormula(this.config); - context.showReaction = !context.rollConfig.type && context.rollType === 'DualityRoll'; + context.showReaction = !context.config.roll?.type && context.rollType === 'DualityRoll'; context.reactionOverride = this.reactionOverride; } return context; @@ -171,11 +171,11 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio static toggleReaction() { if (this.config.roll) { this.reactionOverride = !this.reactionOverride; - this.config.roll.type = this.reactionOverride + this.config.actionType = this.reactionOverride ? CONFIG.DH.ITEM.actionTypes.reaction.id - : this.config.roll.type === CONFIG.DH.ITEM.actionTypes.reaction.id + : this.config.actionType === CONFIG.DH.ITEM.actionTypes.reaction.id ? null - : this.config.roll.type; + : this.config.actionType; this.render(); } } diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index 35d02992..66470c9a 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -661,7 +661,7 @@ export default class CharacterSheet extends DHBaseActorSheet { }) }); - game.system.api.fields.ActionFields.CostField.execute.call(this, result); + if(result) game.system.api.fields.ActionFields.CostField.execute.call(this, result); } //TODO: redo toggleEquipItem method diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index 8af4ec04..f5d0da7c 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -215,7 +215,7 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel actor: this.actor.uuid }, dialog: {}, - type: this.type, + actionType: this.actionType, hasRoll: this.hasRoll, hasDamage: this.hasDamage, hasHealing: this.hasHealing, diff --git a/module/data/fields/action/rollField.mjs b/module/data/fields/action/rollField.mjs index d4b82e5e..daae4a25 100644 --- a/module/data/fields/action/rollField.mjs +++ b/module/data/fields/action/rollField.mjs @@ -144,7 +144,7 @@ export default class RollField extends fields.EmbeddedDataField { const roll = { baseModifiers: this.roll.getModifier(), label: 'Attack', - type: this.actionType, + type: this.roll?.type, difficulty: this.roll?.difficulty, formula: this.roll.getFormula(), advantage: CONFIG.DH.ACTIONS.advantageState[this.roll.advState].value diff --git a/module/dice/d20Roll.mjs b/module/dice/d20Roll.mjs index 3065b121..f0660106 100644 --- a/module/dice/d20Roll.mjs +++ b/module/dice/d20Roll.mjs @@ -128,7 +128,9 @@ export default class D20Roll extends DHRoll { applyBaseBonus() { const modifiers = foundry.utils.deepClone(this.options.roll.baseModifiers) ?? []; - modifiers.push(...this.getBonus(`roll.${this.options.type}`, `${this.options.type?.capitalize()} Bonus`)); + modifiers.push( + ...this.getBonus(`roll.${this.options.actionType}`, `${this.options.actionType?.capitalize()} Bonus`) + ); modifiers.push( ...this.getBonus(`roll.${this.options.roll.type}`, `${this.options.roll.type?.capitalize()} Bonus`) ); @@ -138,7 +140,7 @@ export default class D20Roll extends DHRoll { static postEvaluate(roll, config = {}) { const data = super.postEvaluate(roll, config); - data.type = config.roll?.type; + data.type = config.actionType; data.difficulty = config.roll.difficulty; if (config.targets?.length) { config.targets.forEach(target => { diff --git a/module/dice/dhRoll.mjs b/module/dice/dhRoll.mjs index 288f6d9b..3c32b8c9 100644 --- a/module/dice/dhRoll.mjs +++ b/module/dice/dhRoll.mjs @@ -223,7 +223,7 @@ export const registerRollDiceHooks = () => { if ( !config.source?.actor || (game.user.isGM ? !hopeFearAutomation.gm : !hopeFearAutomation.players) || - config.roll.type === 'reaction' + config.actionType === 'reaction' ) return; diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs index ac1047ab..b3fa16c2 100644 --- a/module/dice/dualityRoll.mjs +++ b/module/dice/dualityRoll.mjs @@ -19,7 +19,7 @@ export default class DualityRoll extends D20Roll { get title() { return game.i18n.localize( - `DAGGERHEART.GENERAL.${this.options?.roll?.type === CONFIG.DH.ITEM.actionTypes.reaction.id ? 'reactionRoll' : 'dualityRoll'}` + `DAGGERHEART.GENERAL.${this.options?.actionType === CONFIG.DH.ITEM.actionTypes.reaction.id ? 'reactionRoll' : 'dualityRoll'}` ); }