71 lines
1.5 KiB
JavaScript
71 lines
1.5 KiB
JavaScript
import { PowerEffect } from './basePowers.js';
|
|
|
|
export class DivinationEffect extends PowerEffect {
|
|
get name() {
|
|
return 'Divination';
|
|
}
|
|
|
|
get icon() {
|
|
return 'icons/magic/perception/orb-crystal-ball-scrying.webp';
|
|
}
|
|
|
|
get duration() {
|
|
return 0;
|
|
}
|
|
|
|
get isTargeted() {
|
|
return false;
|
|
}
|
|
|
|
get isRaisable() {
|
|
return true;
|
|
}
|
|
|
|
get basePowerPoints() {
|
|
return 5;
|
|
}
|
|
|
|
get modifiers() {
|
|
return [
|
|
{
|
|
name: 'Power (sacred ground only)',
|
|
type: 'checkbox',
|
|
value: 5,
|
|
id: 'power',
|
|
epic: true,
|
|
effect: false,
|
|
},
|
|
{
|
|
name: 'Sacred Ground',
|
|
type: 'checkbox',
|
|
value: 0,
|
|
id: 'sacred',
|
|
epic: false,
|
|
effect: false,
|
|
},
|
|
];
|
|
}
|
|
|
|
get description() {
|
|
let desc = super.description;
|
|
desc += `<p>A brief conversation with a summoned spirit or entity. `;
|
|
if (this.data.sacred) {
|
|
desc += `There is a +2 to the roll due to being on sacred ground for the
|
|
summoned entity. `;
|
|
}
|
|
if (this.data.raise) {
|
|
desc += `The entity will be generally helpful and more direct than usual
|
|
in answering questions.i `;
|
|
} else {
|
|
desc += `The entity will answer questions to the best of its ability, but
|
|
usually in a vague or symbolic manner.i `;
|
|
}
|
|
if (this.data.sacred && this.data.power) {
|
|
desc += `The entity will also offer unsolicted advice or information,
|
|
according to its nature.`;
|
|
}
|
|
desc += '</p>';
|
|
return desc;
|
|
}
|
|
}
|