Moved the damageFormula function to damageAction

This commit is contained in:
WBHarry 2025-12-06 15:15:52 +01:00
parent 51135b6a67
commit e9752f5461
3 changed files with 14 additions and 17 deletions

View file

@ -2,4 +2,17 @@ import DHBaseAction from './baseAction.mjs';
export default class DHDamageAction extends DHBaseAction {
static extraSchemas = [...super.extraSchemas, 'damage', 'target', 'effects'];
/**
* Return a display ready damage formula string
* @returns Formula string
*/
getDamageFormula() {
const strings = [];
for (const { value } of this.damage.parts) {
strings.push(Roll.replaceFormulaData(value.getFormula(), this.actor?.getRollData() ?? {}));
}
return strings.join(' + ');
}
}

View file

@ -161,22 +161,6 @@ export default class DamageField extends fields.SchemaField {
return formulaValue;
}
/**
* Return a display ready damage formula string
* Must be called within Action context or similar.
* @param {Array<object>} parts Damage Parts
* @param {object} data Action getRollData
* @returns Formula string
*/
static getFormulaString(parts) {
const strings = [];
for (const { value } of parts) {
strings.push(Roll.replaceFormulaData(value.getFormula(), this.actor?.getRollData() ?? {}));
}
return strings.join(' + ');
}
/**
* Prepare formulas for Damage Roll
* Must be called within Action context or similar.

View file

@ -36,7 +36,7 @@ export default class RegisterHandlebarsHelpers {
}
static damageFormula(attack) {
return game.system.api.fields.ActionFields.DamageField.getFormulaString.bind(attack)(attack.damage.parts);
return attack.getDamageFormula();
}
static formulaValue(formula, item) {