add healing
This commit is contained in:
parent
3062e1bfcb
commit
b4fd301a4f
@ -56,6 +56,7 @@ export class HavocEffect extends PowerEffect {
|
||||
value: 2,
|
||||
id: 'greater',
|
||||
epic: true,
|
||||
type: 'checkbox',
|
||||
effect: false,
|
||||
},
|
||||
);
|
||||
|
||||
105
src/module/powers/healing.js
Normal file
105
src/module/powers/healing.js
Normal file
@ -0,0 +1,105 @@
|
||||
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 true;
|
||||
}
|
||||
|
||||
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 +
|
||||
`
|
||||
<p>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 += '</p>';
|
||||
return text;
|
||||
}
|
||||
}
|
||||
@ -30,6 +30,7 @@ import { FearEffect } from './fear.js';
|
||||
import { FlyEffect } from './fly.js';
|
||||
import { GrowthShrinkEffect } from './growthShrink.js';
|
||||
import { HavocEffect } from './havoc.js';
|
||||
import { HealingEffect } from './healing.js';
|
||||
|
||||
const PowerClasses = {
|
||||
'arcane-protection': ArcaneProtectionEffect,
|
||||
@ -69,6 +70,7 @@ const PowerClasses = {
|
||||
'growth-shrink': GrowthShrinkEffect,
|
||||
growthshrink: GrowthShrinkEffect,
|
||||
havoc: HavocEffect,
|
||||
healing: HealingEffect,
|
||||
'lower-trait': BoostLowerTraitEffect,
|
||||
shrink: GrowthShrinkEffect,
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user