diff --git a/daggerheart.mjs b/daggerheart.mjs index 4e88c148..f27892e2 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -309,7 +309,7 @@ Hooks.on('chatMessage', (_, message) => { target, difficulty, title, - label: game.i18n.localize('DAGGERHEART.GENERAL.dualityRoll'), + label: 'test', actionType: null, advantage }); diff --git a/module/data/fields/action/rollField.mjs b/module/data/fields/action/rollField.mjs index 63d48990..e2196c1c 100644 --- a/module/data/fields/action/rollField.mjs +++ b/module/data/fields/action/rollField.mjs @@ -87,7 +87,7 @@ export class DHActionRollData extends foundry.abstract.DataModel { if (this.type === CONFIG.DH.GENERAL.rollTypes.attack.id) modifiers.push({ label: 'Bonus to Hit', - value: this.bonus ?? this.parent.actor.system.attack.roll.bonus ?? 0 + value: this.bonus ?? this.parent.actor.system.attack.roll.bonus }); break; default: diff --git a/module/dice/d20Roll.mjs b/module/dice/d20Roll.mjs index 3ddd8027..f679d725 100644 --- a/module/dice/d20Roll.mjs +++ b/module/dice/d20Roll.mjs @@ -35,9 +35,7 @@ export default class D20Roll extends DHRoll { get isCritical() { if (!this.d20._evaluated) return; - - const criticalThreshold = this.options.actionType === 'reaction' ? 20 : this.data.system.criticalThreshold; - return this.d20.total >= criticalThreshold; + return this.d20.total >= this.data.system.criticalThreshold; } get hasAdvantage() { diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs index aaca7400..155d6aa5 100644 --- a/module/dice/dualityRoll.mjs +++ b/module/dice/dualityRoll.mjs @@ -131,13 +131,11 @@ export default class DualityRoll extends D20Roll { return; } - this.terms[0] = new foundry.dice.terms.Die({ - faces: this.data.rules.dualityRoll?.defaultHopeDice ?? 12 - }); + const { defaultHopeDice, defaultFearDice } = this.data.rules.dualityRoll; + + this.terms[0] = new foundry.dice.terms.Die({ faces: defaultHopeDice }); this.terms[1] = new foundry.dice.terms.OperatorTerm({ operator: '+' }); - this.terms[2] = new foundry.dice.terms.Die({ - faces: this.data.rules.dualityRoll?.defaultFearDice ?? 12 - }); + this.terms[2] = new foundry.dice.terms.Die({ faces: defaultFearDice }); } applyAdvantage() { @@ -261,8 +259,6 @@ export default class DualityRoll extends D20Roll { } static async handleTriggers(roll, config) { - if (!config.source?.actor) return; - const updates = []; const dualityUpdates = await game.system.registeredTriggers.runTrigger( CONFIG.DH.TRIGGER.triggers.dualityRoll.id, diff --git a/module/enrichers/DualityRollEnricher.mjs b/module/enrichers/DualityRollEnricher.mjs index 536847f7..1d6404ff 100644 --- a/module/enrichers/DualityRollEnricher.mjs +++ b/module/enrichers/DualityRollEnricher.mjs @@ -86,9 +86,9 @@ export const enrichedDualityRoll = async ( const config = { event: event ?? {}, title: title, - headerTitle: label, roll: { trait: traitValue && target ? traitValue : null, + label: label, difficulty: difficulty, advantage, type: reaction ? 'reaction' : null @@ -101,7 +101,7 @@ export const enrichedDualityRoll = async ( await target.diceRoll(config); } else { // For no target, call DualityRoll directly with basic data - config.data = { experiences: {}, traits: {}, rules: {} }; + config.data = { experiences: {}, traits: {} }; config.source = { actor: null }; await CONFIG.Dice.daggerheart.DualityRoll.build(config); }