From 9d0b9183ee1e6ba1f304dd005a976913f138d039 Mon Sep 17 00:00:00 2001 From: Dapoolp Date: Sat, 12 Jul 2025 12:35:20 +0200 Subject: [PATCH] dmg type fallback --- module/data/action/actionDice.mjs | 3 ++- module/data/action/baseAction.mjs | 11 ++--------- module/data/action/damageAction.mjs | 2 ++ 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/module/data/action/actionDice.mjs b/module/data/action/actionDice.mjs index d61a1206..7c807cd4 100644 --- a/module/data/action/actionDice.mjs +++ b/module/data/action/actionDice.mjs @@ -114,7 +114,8 @@ export class DHDamageData extends foundry.abstract.DataModel { required: true }), { - label: 'Type' + label: 'Type', + initial: 'physical', } ), resultBased: new fields.BooleanField({ diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index e2eafbf2..8fb15f50 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -179,16 +179,9 @@ export default class DHBaseAction extends foundry.abstract.DataModel { getRollData(data = {}) { const actorData = this.actor.getRollData(false); - // Remove when included directly in Actor getRollData - actorData.prof = actorData.proficiency?.total ?? 1; - actorData.cast = actorData.spellcast?.total ?? 1; + // Add Roll results to RollDatas actorData.result = data.roll?.total ?? 1; - /* actorData.scale = data.costs?.length - ? data.costs.reduce((a, c) => { - a[c.type] = c.value; - return a; - }, {}) - : 1; */ + actorData.scale = data.costs?.length // Right now only return the first scalable cost. ? (data.costs.find(c => c.scalable)?.total ?? 1) : 1; diff --git a/module/data/action/damageAction.mjs b/module/data/action/damageAction.mjs index 05c0bd3b..3e840e60 100644 --- a/module/data/action/damageAction.mjs +++ b/module/data/action/damageAction.mjs @@ -13,6 +13,8 @@ export default class DHDamageAction extends DHBaseAction { let formula = this.damage.parts.map(p => this.getFormulaValue(p, data).getFormula(this.actor)).join(' + '), damageTypes = [...new Set(this.damage.parts.reduce((a,c) => a.concat([...c.type]), []))]; + damageTypes = !damageTypes.length ? ['physical'] : damageTypes; + if (!formula || formula == '') return; let roll = { formula: formula, total: formula }, bonusDamage = [];