add burst

This commit is contained in:
Mike Bloy 2024-05-14 23:26:41 -05:00
parent f50a81a329
commit 7ee2f966c0
2 changed files with 64 additions and 59 deletions

View File

@ -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 + `<p>The burst covers a Cone or Stream template and does ${dmgDie}d6 damage</p>`;
}
}

View File

@ -10,65 +10,7 @@ import { BlindEffect } from './blind.js';
import { BoltEffect } from './bolt.js'; import { BoltEffect } from './bolt.js';
import { BurrowEffect } from './burrow.js'; import { BurrowEffect } from './burrow.js';
import { BoostLowerTraitEffect } from './boostLowerTrait.js'; import { BoostLowerTraitEffect } from './boostLowerTrait.js';
import { BurstEffect } from './burst.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 +
`
<p>The blast covers a Cone or Stream template and does ${dmgDie}d6 damage</p>`
);
}
}
class ConfusionEffect extends PowerEffect { class ConfusionEffect extends PowerEffect {
get name() { get name() {