From 4908c6d4a7bc58e8c0d6851efa47df3db025edc7 Mon Sep 17 00:00:00 2001 From: Mike Bloy Date: Fri, 24 May 2024 23:22:02 -0500 Subject: [PATCH] mind reading --- src/module/powers/mindReading.js | 72 ++++++++++++++++++++++++++++++++ src/module/powers/powers.js | 2 + 2 files changed, 74 insertions(+) create mode 100644 src/module/powers/mindReading.js diff --git a/src/module/powers/mindReading.js b/src/module/powers/mindReading.js new file mode 100644 index 0000000..bb3dd55 --- /dev/null +++ b/src/module/powers/mindReading.js @@ -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 += `

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.

`; + if (this.data.mindWalk) { + return ( + text + + ` +

On success the caster can unlock and read an entire scene or chain or related + memories.

+ ` + ); + } else { + return ( + text + + ` +

On success the caster can gain one truthful answer from the subject.

+ ` + ); + } + } +} diff --git a/src/module/powers/powers.js b/src/module/powers/powers.js index 75bb021..aa1d5c1 100644 --- a/src/module/powers/powers.js +++ b/src/module/powers/powers.js @@ -37,6 +37,7 @@ import { InvisibliltyEffect } from './invisibility.js'; import { LightDarknessEffect } from './lightdarkness.js'; import { LocateEffect } from './locate.js'; import { MindLinkEffect } from './mindLink.js'; +import { MindReadingEffect } from './mindReading.js'; const PowerClasses = { 'arcane-protection': ArcaneProtectionEffect, @@ -87,6 +88,7 @@ const PowerClasses = { locate: LocateEffect, 'lower-trait': BoostLowerTraitEffect, 'mind-link': MindLinkEffect, + 'mind-reading': MindReadingEffect, shrink: GrowthShrinkEffect, };