import { PowerEffect } from './basePowers.js'; export class HealingEffect extends PowerEffect { get name() { return 'Healing'; } get icon() { return 'icons/magic/life/heart-cross-strong-flame-purple-orange.webp'; } get duration() { return 0; } get isTargeted() { return true; } get usePrimaryEffect() { return false; } get isDamaging() { return false; } get basePowerPoints() { return 3; } get hasAoe() { return true; } get modifiers() { const mods = super.modifiers; mods.push( { name: 'Area of Effect', id: 'aoe', type: 'select', default: 'none', choices: { none: 'None', mbt: '⭐ Medium Blast Template', lbt: '⭐ Large Blast Template', }, effects: { none: null, mbt: null, lbt: null }, values: { none: 0, mbt: 2, lbt: 3 }, epic: false, }, { name: 'Neutralize Poison or Disease', value: 1, id: 'poison', epic: false, type: 'checkbox', effect: false, }, { name: 'Crippling Injuries', value: 15, id: 'crippling', epic: false, type: 'checkbox', effect: false, }, { name: 'Greater Healing', value: 10, id: 'greater', epic: false, type: 'checkbox', effect: false, }, ); return mods; } get description() { const size = this.data.aoe !== 'none' ? `all allies within a ${this.data.aoe.toUpperCase()} centered on the caster` : 'a single subject'; let text = super.description + `
Heal ${size} of ${this.data.raise ? '2 Wounds' : '1 Wound'} ${this.data.greater ? 'of any age' : 'sustained in the last hour'}. `; if (this.data.crippling) { text += `This casting is the only one possible for this Crippling Injury by this caster, and preparation took an hour. If successful, the subject is Exhausted for 24 hours. `; } if (this.data.poison) { text += `Negate any poison or disease, taking into account the affects of any penalty from the poison or disease on the arcane skill roll.`; } text += '
'; return text; } }