67 lines
1.4 KiB
JavaScript
67 lines
1.4 KiB
JavaScript
import { PowerEffect } from './basePowers.js';
|
|
|
|
export class ObjectReadingEffect extends PowerEffect {
|
|
get name() {
|
|
return 'Object Reading';
|
|
}
|
|
|
|
get icon() {
|
|
return 'icons/skills/trades/academics-investigation-study-blue.webp';
|
|
}
|
|
|
|
get duration() {
|
|
return 0;
|
|
}
|
|
|
|
get isTargeted() {
|
|
return false;
|
|
}
|
|
|
|
get basePowerPoints() {
|
|
return 2;
|
|
}
|
|
|
|
get usePrimaryEffect() {
|
|
return false;
|
|
}
|
|
|
|
get isRaisable() {
|
|
return true;
|
|
}
|
|
|
|
get modifiers() {
|
|
return [
|
|
...super.modifiers,
|
|
{
|
|
type: 'checkbox',
|
|
default: false,
|
|
name: 'Projection',
|
|
value: 2,
|
|
epic: true,
|
|
effect: false,
|
|
id: 'projection',
|
|
},
|
|
];
|
|
}
|
|
|
|
get description() {
|
|
let text = super.description;
|
|
text += `<p>Get visions of the past from an object.
|
|
`;
|
|
if (this.data.raise) {
|
|
text += `With a raise, the object yields specific and more actionable
|
|
information related to the caster's investigation.`;
|
|
} else {
|
|
text += `On success, the caster gets a vague impression of whatever
|
|
information they're looking for.`;
|
|
}
|
|
text += '</p>';
|
|
if (this.data.projection) {
|
|
text += `<p>The caster projects the vision out into a space the size of a
|
|
small room, allowing anyone present to see and hear the events and examine
|
|
the projection.</p>`;
|
|
}
|
|
return text;
|
|
}
|
|
}
|