add slumber
This commit is contained in:
parent
140381e1d1
commit
d6581e16d4
@ -50,6 +50,7 @@ import { SanctuaryEffect } from './sanctuary.js';
|
||||
import { ScryingEffect } from './scrying.js';
|
||||
import { ShapeChangeEffect } from './shapeChange.js';
|
||||
import { SlothSpeedEffect } from './slothSpeed.js';
|
||||
import { SlumberEffect } from './slumber.js';
|
||||
|
||||
const PowerClasses = {
|
||||
'arcane-protection': ArcaneProtectionEffect,
|
||||
@ -117,6 +118,7 @@ const PowerClasses = {
|
||||
'sloth-speed': SlothSpeedEffect,
|
||||
sloth: SlothSpeedEffect,
|
||||
speed: SlothSpeedEffect,
|
||||
slumber: SlumberEffect,
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------- */
|
||||
|
||||
73
src/module/powers/slumber.js
Normal file
73
src/module/powers/slumber.js
Normal file
@ -0,0 +1,73 @@
|
||||
import { moduleName } from '../globals.js';
|
||||
import { PowerEffect } from './basePowers.js';
|
||||
|
||||
export class SlumberEffect extends PowerEffect {
|
||||
get name() {
|
||||
return 'Slumber';
|
||||
}
|
||||
|
||||
get icon() {
|
||||
return 'icons/magic/control/sleep-bubble-purple.webp';
|
||||
}
|
||||
|
||||
get duration() {
|
||||
return 600;
|
||||
}
|
||||
|
||||
get isTargeted() {
|
||||
return true;
|
||||
}
|
||||
|
||||
get hasAoe() {
|
||||
return true;
|
||||
}
|
||||
|
||||
get basePowerPoints() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
get modifiers() {
|
||||
const mods = super.modifiers;
|
||||
mods.push({
|
||||
type: 'select',
|
||||
default: 'none',
|
||||
name: 'Area of Effect',
|
||||
id: 'aoe',
|
||||
epic: false,
|
||||
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 },
|
||||
});
|
||||
return mods;
|
||||
}
|
||||
|
||||
get description() {
|
||||
return (
|
||||
super.description +
|
||||
`<p>The subject(s) fall into a deep and restful sleep if they fail a
|
||||
Spirit${this.data.raise ? ' -2' : ''} roll. Very loud noises or attempts
|
||||
to physically wake a sleeper grant another roll.</p>`
|
||||
);
|
||||
}
|
||||
|
||||
get primaryEffectButtons() {
|
||||
const buttons = super.primaryEffectButtons;
|
||||
const mods = [];
|
||||
if (this.data.raise) {
|
||||
mods.push({ label: 'Raise on the arcane roll', value: -2 });
|
||||
}
|
||||
buttons.push({
|
||||
label: `Shake off (Spirit${this.data.raise ? ' -2' : ''})`,
|
||||
type: 'trait',
|
||||
rollType: 'attribute',
|
||||
rollDesc: 'Spirit',
|
||||
flavor: 'Wake up if successful',
|
||||
mods,
|
||||
});
|
||||
return buttons;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user