From 7ee2f966c076279d577a9064cd4137f3fa4afbca Mon Sep 17 00:00:00 2001 From: Mike Bloy Date: Tue, 14 May 2024 23:26:41 -0500 Subject: [PATCH] add burst --- src/module/powers/burst.js | 63 +++++++++++++++++++++++++++++++++++++ src/module/powers/powers.js | 60 +---------------------------------- 2 files changed, 64 insertions(+), 59 deletions(-) create mode 100644 src/module/powers/burst.js diff --git a/src/module/powers/burst.js b/src/module/powers/burst.js new file mode 100644 index 0000000..e894708 --- /dev/null +++ b/src/module/powers/burst.js @@ -0,0 +1,63 @@ +import { PowerEffect } from './basePowers.js'; + +export class BurstEffect extends PowerEffect { + get name() { + return 'Burst'; + } + + get icon() { + return 'icons/magic/sonic/projectile-shock-wave-blue.webp'; + } + + get duration() { + return 0; + } + + get isTargeted() { + return true; + } + + get usePrimaryEffect() { + return false; + } + + get isDamaging() { + return true; + } + + get basePowerPoints() { + return 3; + } + + get hasAoe() { + return true; + } + + get modifiers() { + const mods = super.modifiers; + mods.push( + { + name: 'Damage', + type: 'checkbox', + value: 2, + id: 'damage', + epic: false, + effect: false, + }, + { + name: 'Greater Burst', + type: 'checkbox', + value: 4, + id: 'greater', + epic: true, + effect: false, + }, + ); + return mods; + } + + get description() { + const dmgDie = (this.data.greater ? 4 : this.data.damage ? 3 : 2) + (this.data.raise ? 1 : 0); + return super.description + `

The burst covers a Cone or Stream template and does ${dmgDie}d6 damage

`; + } +} diff --git a/src/module/powers/powers.js b/src/module/powers/powers.js index fd346f5..e5367a6 100644 --- a/src/module/powers/powers.js +++ b/src/module/powers/powers.js @@ -10,65 +10,7 @@ import { BlindEffect } from './blind.js'; import { BoltEffect } from './bolt.js'; import { BurrowEffect } from './burrow.js'; import { BoostLowerTraitEffect } from './boostLowerTrait.js'; - -class BurstEffect extends PowerEffect { - get name() { - return 'Blast'; - } - - get icon() { - return 'icons/magic/sonic/projectile-shock-wave-blue.webp'; - } - - get duration() { - return 0; - } - - get isTargeted() { - return true; - } - - get usePrimaryEffect() { - return false; - } - - get isDamaging() { - return true; - } - - get basePowerPoints() { - return 3; - } - - get hasAoe() { - return true; - } - - get modifiers() { - const mods = super.modifiers; - mods.push( - { name: 'Damage', value: 2, id: 'damage', epic: false, effect: false }, - { - name: 'Greater Burst', - value: 4, - id: 'greater', - epic: true, - effect: false, - }, - ); - return mods; - } - - get description() { - const dmgDie = - (this.data.mods.has('greater') ? 4 : this.data.mods.has('damage') ? 3 : 2) + (this.data.raise ? 1 : 0); - return ( - super.description + - ` -

The blast covers a Cone or Stream template and does ${dmgDie}d6 damage

` - ); - } -} +import { BurstEffect } from './burst.js'; class ConfusionEffect extends PowerEffect { get name() {