From e6dcb0f9a5068e2d970fed048fd3080342053bc2 Mon Sep 17 00:00:00 2001 From: WBHarry Date: Fri, 17 Jul 2026 22:23:53 +0200 Subject: [PATCH] Fixed so that DamageTypes are retained and joined together throughout TagTeamDialog --- module/applications/dialogs/tagTeamDialog.mjs | 11 +++++++++++ module/dice/damageRoll.mjs | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/module/applications/dialogs/tagTeamDialog.mjs b/module/applications/dialogs/tagTeamDialog.mjs index fc5541b5..c54720f4 100644 --- a/module/applications/dialogs/tagTeamDialog.mjs +++ b/module/applications/dialogs/tagTeamDialog.mjs @@ -588,6 +588,7 @@ export default class TagTeamDialog extends HandlebarsApplicationMixin(Applicatio new foundry.dice.terms.OperatorTerm({ operator: '+' }), criticalTerm ]); + newDamage.types[key].options = foundry.utils.deepClone(origDamage.types[key].options); } return newDamage; @@ -650,6 +651,16 @@ export default class TagTeamDialog extends HandlebarsApplicationMixin(Applicatio new foundry.dice.terms.OperatorTerm({ operator: '+' }), ...baseSecondaryRoll.damageRollData.types[key].terms ]); + + /* Joining the roll.options of both rolls */ + const joinedDamageTypes = new Set([ + ...baseMainRoll.damageRollData.types[key].options.damageTypes, + ...baseSecondaryRoll.damageRollData.types[key].options.damageTypes + ]); + mainRoll.damageRollData.types[key].options = { + ...baseMainRoll.damageRollData.types[key].options, + damageTypes: [...joinedDamageTypes] + }; } else { mainRoll.damageRollData.types[key] = damage; } diff --git a/module/dice/damageRoll.mjs b/module/dice/damageRoll.mjs index a191a8b4..8667d89f 100644 --- a/module/dice/damageRoll.mjs +++ b/module/dice/damageRoll.mjs @@ -19,7 +19,7 @@ export default class DamageRoll extends DHRoll { for (const roll of config.roll) { await roll.roll.evaluate(); - roll.roll.options = { damageTypes: roll.damageTypes ?? [] }; + roll.roll.options = { damageTypes: roll.damageTypes ? [...roll.damageTypes] : [] }; if (!config.damage?.types) config.damage = { types: {} }; config.damage.types[roll.applyTo] = roll.roll;