add burst
This commit is contained in:
parent
f50a81a329
commit
7ee2f966c0
63
src/module/powers/burst.js
Normal file
63
src/module/powers/burst.js
Normal 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>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user