From 36520fcee238623844200f8f69dfd96ced83b8a3 Mon Sep 17 00:00:00 2001 From: Mike Bloy Date: Mon, 20 May 2024 18:12:05 -0500 Subject: [PATCH] growthshrink pt1 --- src/module/powers/basePowers.js | 6 +++- src/module/powers/growthShrink.js | 51 +++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 src/module/powers/growthShrink.js diff --git a/src/module/powers/basePowers.js b/src/module/powers/basePowers.js index 1355a1f..0ee5220 100644 --- a/src/module/powers/basePowers.js +++ b/src/module/powers/basePowers.js @@ -67,7 +67,11 @@ export class PowerFormApplication extends FormApplication { buttons: this.powerEffect.menuButtons, }; if (this.powerEffect.isTargeted) { - data.targets = this.powerEffect.targets.map((t) => t.name); + if (this.powerEffect.oneTarget) { + data.targets = [this.powerEffect.targets?.[0]?.name ?? 'No Target Selected!']; + } else { + data.targets = this.powerEffect.targets.map((t) => t.name); + } } if (this.powerEffect.hasAdditionalRecipients && this.powerEffect.targets.length > 1) { data.recipients.cost = this.powerEffect.additionalRecipientCost; diff --git a/src/module/powers/growthShrink.js b/src/module/powers/growthShrink.js new file mode 100644 index 0000000..8cff9fe --- /dev/null +++ b/src/module/powers/growthShrink.js @@ -0,0 +1,51 @@ +import { PowerEffect } from './basePowers.js'; + +export class GrowthShrinkEffect extends PowerEffect { + get name() { + return 'Growth/Shrink'; + } + + get icon() { + return 'icons/magic/control/silhouette-grow-shrink-tan.webp'; + } + + get basePowerPoints() { + return 2; + } + + get duration() { + return 5; + } + + get isTargeted() { + return true; + } + + get oneTarget() { + return true; + } + + get modifiers() { + return [ + ...super.modifiers, + { + name: 'Duration', + id: 'duration', + value: 2, + type: 'checkbox', + default: false, + epic: true, + effect: false, + }, + { + name: 'Power', + id: 'power', + value: 2, + type: 'checkbox', + default: false, + epic: true, + effect: false, + }, + ]; + } +}