From 29a8f547bbf627fa5850968b4a64cc191f51b821 Mon Sep 17 00:00:00 2001 From: WBHarry Date: Sat, 27 Jun 2026 15:14:13 +0200 Subject: [PATCH] Fixed so that damageParts without an applyTo field is assumed to be hitPoints --- module/data/action/baseAction.mjs | 8 ++++++++ module/data/actor/character.mjs | 1 + 2 files changed, 9 insertions(+) diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index 27383b7a..80061f64 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -447,7 +447,15 @@ export default class DHBaseAction extends ActionMixin(foundry.abstract.DataModel static migrateData(source) { if (source.damage?.parts && Array.isArray(source.damage.parts)) { + let hitPointsExists = source.damage.parts.some(x => x.applyTo === 'hitPoints'); source.damage.parts = source.damage.parts.reduce((acc, part) => { + if (!part.applyTo && hitPointsExists) return acc; + + if (!part.applyTo) { + hitPointsExists = true; + part.applyTo = 'hitPoints'; + } + acc[part.applyTo] = part; return acc; }, {}); diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index 3b12da6f..b39c64aa 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -107,6 +107,7 @@ export default class DhCharacter extends DhCreature { parts: { hitPoints: { type: ['physical'], + applyTo: 'hitPoints', value: { custom: { enabled: true,