48 lines
1.0 KiB
JavaScript
48 lines
1.0 KiB
JavaScript
import { PowerEffect } from './basePowers.js';
|
|
|
|
export class ScryingEffect extends PowerEffect {
|
|
get name() {
|
|
return 'Scrying';
|
|
}
|
|
|
|
get basePowerPoints() {
|
|
return 3;
|
|
}
|
|
|
|
get duration() {
|
|
return 5;
|
|
}
|
|
|
|
get icon() {
|
|
return 'icons/magic/perception/orb-crystal-ball-scrying.webp';
|
|
}
|
|
|
|
get modifiers() {
|
|
const mods = super.modifiers;
|
|
mods.push({
|
|
name: 'Group Sight',
|
|
id: 'group',
|
|
value: 2,
|
|
type: 'checkbox',
|
|
default: false,
|
|
epic: false,
|
|
effect: false,
|
|
});
|
|
return mods;
|
|
}
|
|
|
|
get description() {
|
|
let text = super.description;
|
|
text += `<p>Opposed by the subject's spirit. If the target wins, he knows
|
|
he is being spied upon. If the caster wins, he can see and hear the target
|
|
and the area around it. With a raise, he can move his perspective as well.
|
|
</p>${this.data.group ? '<p>The caster may share perception with nearby allies.</p>' : ''}
|
|
`;
|
|
return text;
|
|
}
|
|
|
|
get effectName() {
|
|
return `${this.name}${this.data.group ? ' (Group Sight)' : ''}`;
|
|
}
|
|
}
|