From 4c51bb589996b4b643c5b9aac11781a26946e780 Mon Sep 17 00:00:00 2001 From: WBHarry Date: Sat, 31 Jan 2026 15:08:07 +0100 Subject: [PATCH] 1613-Rolltable-delete-formula-buttons --- module/applications/sheets/rollTables/rollTable.mjs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/module/applications/sheets/rollTables/rollTable.mjs b/module/applications/sheets/rollTables/rollTable.mjs index 9ead6814..edb0a734 100644 --- a/module/applications/sheets/rollTables/rollTable.mjs +++ b/module/applications/sheets/rollTables/rollTable.mjs @@ -108,14 +108,16 @@ export default class DhRollTableSheet extends foundry.applications.sheets.RollTa getSystemFlagUpdate() { const deleteUpdate = Object.keys(this.document._source.flags.daggerheart?.altFormula ?? {}).reduce( (acc, formulaKey) => { - if (!this.daggerheartFlag.altFormula[formulaKey]) acc.altFormula[`-=${formulaKey}`] = null; + if (!this.daggerheartFlag.altFormula[formulaKey]) + acc.altFormula[formulaKey] = foundry.data.operators.ForcedDeletion.create(); return acc; }, { altFormula: {} } ); - return { ['flags.daggerheart']: foundry.utils.mergeObject(this.daggerheartFlag.toObject(), deleteUpdate) }; + const flagData = this.daggerheartFlag.toObject(); + return { ...flagData, altFormula: { ...flagData.altFormula, ...deleteUpdate.altFormula } }; } static async #addFormula() { @@ -127,7 +129,7 @@ export default class DhRollTableSheet extends foundry.applications.sheets.RollTa static async #removeFormula(_event, target) { await this.daggerheartFlag.updateSource({ - [`altFormula.-=${target.dataset.key}`]: null + [`altFormula.${target.dataset.key}`]: foundry.data.operators.ForcedDeletion.create() }); this.render({ internalRefresh: true }); }