mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-07-22 10:29:54 +02:00
Merge 76aabb235d into 26bcc2dddc
This commit is contained in:
commit
a1f40ead36
11 changed files with 104 additions and 60 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import DamageDialog from '../applications/dialogs/damageDialog.mjs';
|
||||
import { parseRallyDice, triggerChatRollFx } from '../helpers/utils.mjs';
|
||||
import { getCritDamageBonus, parseRallyDice, triggerChatRollFx } from '../helpers/utils.mjs';
|
||||
import DHRoll from './dhRoll.mjs';
|
||||
|
||||
export default class DamageRoll extends DHRoll {
|
||||
|
|
@ -8,7 +8,17 @@ export default class DamageRoll extends DHRoll {
|
|||
}
|
||||
|
||||
get isCritical() {
|
||||
return !!this.options.isCritical;
|
||||
return this.options.isCritical;
|
||||
}
|
||||
|
||||
get modifierTotal() {
|
||||
const criticalDamageBonus = this.isCritical ? getCritDamageBonus(this.terms) : 0;
|
||||
return super.modifierTotal + criticalDamageBonus;
|
||||
}
|
||||
|
||||
get total() {
|
||||
const criticalDamageBonus = this.isCritical ? getCritDamageBonus(this.terms) : 0;
|
||||
return super.total + criticalDamageBonus;
|
||||
}
|
||||
|
||||
static DefaultDialog = DamageDialog;
|
||||
|
|
@ -23,7 +33,7 @@ export default class DamageRoll extends DHRoll {
|
|||
|
||||
const evaluateRoll = async roll => {
|
||||
await roll.roll.evaluate();
|
||||
roll.roll.options = { damageTypes: roll.damageTypes ? [...roll.damageTypes] : [] };
|
||||
roll.roll.options = { ...roll.roll.options, damageTypes: roll.damageTypes ? [...roll.damageTypes] : [] };
|
||||
return roll.roll;
|
||||
}
|
||||
|
||||
|
|
@ -31,8 +41,10 @@ export default class DamageRoll extends DHRoll {
|
|||
|
||||
if (config.damageFormula) {
|
||||
config.damage.main = await evaluateRoll(config.damageFormula);
|
||||
config.damage.main.options = { damageTypes:
|
||||
config.damageFormula.damageTypes ? [...config.damageFormula.damageTypes] : []
|
||||
config.damage.main.options = {
|
||||
...config.damage.main.options,
|
||||
damageTypes:
|
||||
config.damageFormula.damageTypes ? [...config.damageFormula.damageTypes] : []
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -151,7 +163,7 @@ export default class DamageRoll extends DHRoll {
|
|||
if (!formulaData) return null;
|
||||
this.options.isCritical = config.isCritical;
|
||||
|
||||
formulaData.roll = new Roll(Roll.replaceFormulaData(formulaData.formula, config.data));
|
||||
formulaData.roll = new this.constructor(Roll.replaceFormulaData(formulaData.formula, config.data));
|
||||
formulaData.roll.terms = Roll.parse(formulaData.roll.formula, config.data);
|
||||
|
||||
if (formulaData.extraFormula) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue