Fix damage & healing roll

This commit is contained in:
Dapoolp 2025-08-01 19:49:59 +02:00
parent 57f19c41cd
commit a25dbb462c
19 changed files with 200 additions and 60 deletions

View file

@ -6,19 +6,20 @@ export default class DamageRoll extends DHRoll {
super(formula, data, options);
}
static messageType = 'damageRoll';
static messageType = 'dualityRoll';
static DefaultDialog = DamageDialog;
static async buildEvaluate(roll, config = {}, message = {}) {
if (config.evaluate !== false) {
// if (config.dialog.configure === false) roll.constructFormula(config);
console.log(roll,config)
if (config.evaluate !== false)
for (const roll of config.roll) await roll.roll.evaluate();
}
roll._evaluated = true;
const parts = config.roll.map(r => this.postEvaluate(r));
config.roll = this.unifyDamageRoll(parts);
config.damage = this.unifyDamageRoll(parts);
config.targetSelection = config.targets?.length
}
static postEvaluate(roll, config = {}) {
@ -32,14 +33,6 @@ export default class DamageRoll extends DHRoll {
};
}
static async buildPost(roll, config, message) {
await super.buildPost(roll, config, message);
if (config.source?.message) {
const chatMessage = ui.chat.collection.get(config.source.message);
chatMessage.update({ 'system.damage': config });
}
}
static unifyDamageRoll(rolls) {
const unified = {};
rolls.forEach(r => {