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 }); }