mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
* Action Refactor Part #1 * Fixed Weapon/Armor features. Fixed Feature actions * f * Action Refactor Part #2 * Fixes * Remove ActionsField from Companion * Fixes * Localization fix * BaseDataItem hasActions false --------- Co-authored-by: WBHarry <williambjrklund@gmail.com>
48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
import DHBaseAction from './baseAction.mjs';
|
|
|
|
export default class DHHealingAction extends DHBaseAction {
|
|
static extraSchemas = [...super.extraSchemas, 'target', 'effects', 'healing', 'roll'];
|
|
|
|
static getRollType(parent) {
|
|
return 'spellcast';
|
|
}
|
|
|
|
getFormulaValue(data) {
|
|
let formulaValue = this.healing.value;
|
|
if (this.hasRoll && this.healing.resultBased && data.system.roll.result.duality === -1)
|
|
return this.healing.valueAlt;
|
|
return formulaValue;
|
|
}
|
|
|
|
async rollHealing(event, data) {
|
|
const systemData = data.system ?? data;
|
|
let formulas = [
|
|
{
|
|
formula: this.getFormulaValue(data).getFormula(this.actor),
|
|
applyTo: this.healing.applyTo
|
|
}
|
|
];
|
|
|
|
const config = {
|
|
title: game.i18n.format('DAGGERHEART.UI.Chat.healingRoll.title', {
|
|
healing: game.i18n.localize(CONFIG.DH.GENERAL.healingTypes[this.healing.applyTo].label)
|
|
}),
|
|
roll: formulas,
|
|
targets: (data.system?.targets ?? data.targets).filter(t => t.hit),
|
|
messageType: 'healing',
|
|
source: systemData.source,
|
|
data: this.getRollData(),
|
|
event
|
|
};
|
|
|
|
return CONFIG.Dice.daggerheart.DamageRoll.build(config);
|
|
}
|
|
|
|
get chatTemplate() {
|
|
return 'systems/daggerheart/templates/ui/chat/healing-roll.hbs';
|
|
}
|
|
|
|
get modifiers() {
|
|
return [];
|
|
}
|
|
}
|