add reorged bolt effect
This commit is contained in:
parent
eaf5b8a066
commit
cf30214502
@ -51,7 +51,7 @@ export class BlindEffect extends PowerEffect {
|
|||||||
async createSecondaryEffects(maintId) {
|
async createSecondaryEffects(maintId) {
|
||||||
const docs = await super.createSecondaryEffects(maintId);
|
const docs = await super.createSecondaryEffects(maintId);
|
||||||
if (this.data.raise) {
|
if (this.data.raise) {
|
||||||
const strong = this.data.mods.has('strong');
|
const strong = this.data.strong;
|
||||||
const doc = this.createEffectDocument(this.icon, `Blinded (${strong ? 'Strong, ' : ''}Raise)`, [
|
const doc = this.createEffectDocument(this.icon, `Blinded (${strong ? 'Strong, ' : ''}Raise)`, [
|
||||||
{
|
{
|
||||||
key: 'system.stats.globalMods.trait',
|
key: 'system.stats.globalMods.trait',
|
||||||
|
|||||||
94
src/module/powers/bolt.js
Normal file
94
src/module/powers/bolt.js
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
import { PowerEffect } from './basePowers.js';
|
||||||
|
|
||||||
|
export class BoltEffect extends PowerEffect {
|
||||||
|
get name() {
|
||||||
|
return 'Bolt';
|
||||||
|
}
|
||||||
|
|
||||||
|
get icon() {
|
||||||
|
return 'icons/skills/ranged/tracers-triple-orange.webp';
|
||||||
|
}
|
||||||
|
|
||||||
|
get duration() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
get isTargeted() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
get isDamaging() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
get basePowerPoints() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
get usePrimaryEffect() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
get modifiers() {
|
||||||
|
const mods = super.modifiers;
|
||||||
|
mods.push(
|
||||||
|
{
|
||||||
|
type: 'checkbox',
|
||||||
|
name: 'Damage',
|
||||||
|
value: 2,
|
||||||
|
id: 'damage',
|
||||||
|
epic: false,
|
||||||
|
effect: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'checkbox',
|
||||||
|
name: 'Disintegrate',
|
||||||
|
value: 1,
|
||||||
|
id: 'disintigrate',
|
||||||
|
epic: true,
|
||||||
|
effect: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Greater Bolt',
|
||||||
|
type: 'checkbox',
|
||||||
|
value: 4,
|
||||||
|
id: 'greater',
|
||||||
|
epic: true,
|
||||||
|
effect: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Rate of Fire',
|
||||||
|
type: 'checkbox',
|
||||||
|
value: 2,
|
||||||
|
id: 'rof',
|
||||||
|
epic: true,
|
||||||
|
effect: false,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
return mods;
|
||||||
|
}
|
||||||
|
|
||||||
|
get powerPoints() {
|
||||||
|
let total = super.powerPoints;
|
||||||
|
total += this.data.aoe === 'l' ? 1 : 0;
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
|
||||||
|
get description() {
|
||||||
|
const dmgDie = (this.data.greater ? 4 : this.data.damage ? 3 : 2) + (this.data.raise ? 1 : 0);
|
||||||
|
let desc = super.description + '<p>';
|
||||||
|
if (this.data.rof) {
|
||||||
|
desc += `Up to two bolts (RoF 2) do ${dmgDie}d6 damage each.`;
|
||||||
|
} else {
|
||||||
|
desc += `The bolt does ${dmgDie}d6 damage.`;
|
||||||
|
}
|
||||||
|
if (this.data.disintegrate) {
|
||||||
|
desc +=
|
||||||
|
'The bolt is <em>disintegrating</em>. If being used to break' +
|
||||||
|
' something, the damage dice can Ace. A creature Incapacitated by a ' +
|
||||||
|
'disintegrating bolt must make a Vigor roll or its body turns to dust';
|
||||||
|
}
|
||||||
|
desc += '</p>';
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -7,84 +7,7 @@ import { BarrierEffect } from './barrier.js';
|
|||||||
import { BeastFriendEffect } from './beastFriend.js';
|
import { BeastFriendEffect } from './beastFriend.js';
|
||||||
import { BlastEffect } from './blast.js';
|
import { BlastEffect } from './blast.js';
|
||||||
import { BlindEffect } from './blind.js';
|
import { BlindEffect } from './blind.js';
|
||||||
|
import { BoltEffect } from './bolt.js';
|
||||||
class BoltEffect extends PowerEffect {
|
|
||||||
get name() {
|
|
||||||
return 'Bolt';
|
|
||||||
}
|
|
||||||
|
|
||||||
get icon() {
|
|
||||||
return 'icons/magic/fire/explosion-fireball-large-red-orange.webp';
|
|
||||||
}
|
|
||||||
|
|
||||||
get duration() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
get isTargeted() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
get isDamaging() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
get basePowerPoints() {
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
get usePrimaryEffect() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
get modifiers() {
|
|
||||||
const mods = super.modifiers;
|
|
||||||
mods.push(
|
|
||||||
{ name: 'Damage', value: 2, id: 'damage', epic: false, effect: false },
|
|
||||||
{
|
|
||||||
name: 'Disintegrate',
|
|
||||||
value: 1,
|
|
||||||
id: 'disintigrate',
|
|
||||||
epic: true,
|
|
||||||
effect: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Greater Bolt',
|
|
||||||
value: 4,
|
|
||||||
id: 'greater',
|
|
||||||
epic: true,
|
|
||||||
effect: false,
|
|
||||||
},
|
|
||||||
{ name: 'Rate of Fire', value: 2, id: 'rof', epic: true, effect: false },
|
|
||||||
);
|
|
||||||
return mods;
|
|
||||||
}
|
|
||||||
|
|
||||||
get powerPoints() {
|
|
||||||
let total = super.powerPoints;
|
|
||||||
total += this.data.aoe === 'l' ? 1 : 0;
|
|
||||||
return total;
|
|
||||||
}
|
|
||||||
|
|
||||||
get description() {
|
|
||||||
const dmgDie =
|
|
||||||
(this.data.mods.has('greater') ? 4 : this.data.mods.has('damage') ? 3 : 2) + (this.data.raise ? 1 : 0);
|
|
||||||
let desc = super.description + '<p>';
|
|
||||||
if (this.data.mods.has('rof')) {
|
|
||||||
desc += `Up to two bolts (RoF 2) do ${dmgDie}d6 damage each.`;
|
|
||||||
} else {
|
|
||||||
desc += `The bolt does ${dmgDie}d6 damage.`;
|
|
||||||
}
|
|
||||||
if (this.data.mods.has('disintegrate')) {
|
|
||||||
desc +=
|
|
||||||
'The bolt is <em>disintegrating</em>. If being used to break' +
|
|
||||||
' something, the damage dice can Ace. A creature Incapacitated by a ' +
|
|
||||||
'disintegrating bolt must make a Vigor roll or its body turns to dust';
|
|
||||||
}
|
|
||||||
desc += '</p>';
|
|
||||||
return desc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class BurrowEffect extends PowerEffect {
|
class BurrowEffect extends PowerEffect {
|
||||||
get name() {
|
get name() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user