mind reading

This commit is contained in:
Mike Bloy 2024-05-24 23:22:02 -05:00
parent 27989ffdfb
commit 4908c6d4a7
2 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,72 @@
import { PowerEffect } from './basePowers.js';
export class MindReadingEffect extends PowerEffect {
get name() {
return 'Mind Reading';
}
get icon() {
return 'icons/magic/control/hypnosis-mesmerism-eye-tan.webp';
}
get duration() {
return 0;
}
get isTargeted() {
return true;
}
get isDamaging() {
return false;
}
get oneTarget() {
return true;
}
get basePowerPoints() {
return 2;
}
get usePrimaryEffect() {
return false;
}
get modifiers() {
return [
...super.modifiers,
{
type: 'checkbox',
default: false,
name: 'Mind Walk',
value: 2,
epic: true,
effect: false,
id: 'mindWalk',
},
];
}
get description() {
let text = super.description;
text += `<p>Mind Reading is an opposed roll vs the subjet's Spirit. The
target is aware of the mental intrusion unless the caster gets a Raise.</p>`;
if (this.data.mindWalk) {
return (
text +
`
<p>On success the caster can unlock and read an entire scene or chain or related
memories.</p>
`
);
} else {
return (
text +
`
<p>On success the caster can gain one truthful answer from the subject.</p>
`
);
}
}
}

View File

@ -37,6 +37,7 @@ import { InvisibliltyEffect } from './invisibility.js';
import { LightDarknessEffect } from './lightdarkness.js'; import { LightDarknessEffect } from './lightdarkness.js';
import { LocateEffect } from './locate.js'; import { LocateEffect } from './locate.js';
import { MindLinkEffect } from './mindLink.js'; import { MindLinkEffect } from './mindLink.js';
import { MindReadingEffect } from './mindReading.js';
const PowerClasses = { const PowerClasses = {
'arcane-protection': ArcaneProtectionEffect, 'arcane-protection': ArcaneProtectionEffect,
@ -87,6 +88,7 @@ const PowerClasses = {
locate: LocateEffect, locate: LocateEffect,
'lower-trait': BoostLowerTraitEffect, 'lower-trait': BoostLowerTraitEffect,
'mind-link': MindLinkEffect, 'mind-link': MindLinkEffect,
'mind-reading': MindReadingEffect,
shrink: GrowthShrinkEffect, shrink: GrowthShrinkEffect,
}; };