add locate

This commit is contained in:
Mike Bloy 2024-05-23 15:25:29 -05:00
parent d7f6582d41
commit ef1eb940d0
2 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,61 @@
import { PowerEffect } from './basePowers.js';
export class LocateEffect extends PowerEffect {
get name() {
return 'Locate';
}
get icon() {
return 'icons/tools/navigation/compass-plain-blue.webp';
}
get duration() {
return 0;
}
get isTargeted() {
return false;
}
get isRaisable() {
return true;
}
get basePowerPoints() {
return 5;
}
get modifiers() {
return [
{
name: 'Find the Path',
type: 'checkbox',
value: 1,
id: 'path',
epic: false,
effect: false,
},
];
}
get description() {
let desc =
super.description +
`<p>
If the target has never been seen by the caster, the activation roll is at -2.
Get a sense of general direction and distance to the target, unless blocked by
running water.
`;
if (this.data.raise) {
desc += `The caster also gets an idea of general state of the target (eg
asleep, in a small room, behind a bookshelf).
`;
}
if (this.data.path) {
desc += `The caster gets a supernatural sense of the best way to navigate
to the target's general area.`;
}
desc += '</p>';
return desc;
}
}

View File

@ -35,6 +35,7 @@ import { IllusionEffect } from './illusion.js';
import { IntangibilityEffect } from './intangibility.js'; import { IntangibilityEffect } from './intangibility.js';
import { InvisibliltyEffect } from './invisibility.js'; import { InvisibliltyEffect } from './invisibility.js';
import { LightDarknessEffect } from './lightdarkness.js'; import { LightDarknessEffect } from './lightdarkness.js';
import { LocateEffect } from './locate.js';
const PowerClasses = { const PowerClasses = {
'arcane-protection': ArcaneProtectionEffect, 'arcane-protection': ArcaneProtectionEffect,
@ -82,6 +83,7 @@ const PowerClasses = {
'light-darkness': LightDarknessEffect, 'light-darkness': LightDarknessEffect,
lightdarkness: LightDarknessEffect, lightdarkness: LightDarknessEffect,
light: LightDarknessEffect, light: LightDarknessEffect,
locate: LocateEffect,
'lower-trait': BoostLowerTraitEffect, 'lower-trait': BoostLowerTraitEffect,
shrink: GrowthShrinkEffect, shrink: GrowthShrinkEffect,
}; };