add locate
This commit is contained in:
parent
d7f6582d41
commit
ef1eb940d0
61
src/module/powers/locate.js
Normal file
61
src/module/powers/locate.js
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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,
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user