Change the critical damage max calculation to avoid setting the rolled portion to maximum all the time.

This commit is contained in:
Chris Ryan 2025-08-13 16:25:33 +10:00
parent 18f3c47635
commit ae0650d3d4

View file

@ -137,9 +137,15 @@ export default class DamageRoll extends DHRoll {
} }
if (config.isCritical && part.applyTo === CONFIG.DH.GENERAL.healingTypes.hitPoints.id) { if (config.isCritical && part.applyTo === CONFIG.DH.GENERAL.healingTypes.hitPoints.id) {
const tmpRoll = Roll.fromTerms(part.roll.terms)._evaluateSync({ maximize: true }), let total = 0;
criticalBonus = tmpRoll.total - this.constructor.calculateTotalModifiers(tmpRoll); part.roll.terms.forEach(term => {
part.roll.terms.push(...this.formatModifier(criticalBonus)); if (term._faces) {
total += term._faces * term._number;
}
});
if (total > 0) {
part.roll.terms.push(...this.formatModifier(total));
}
} }
/* To Remove When Reaction System */ /* To Remove When Reaction System */