add timestop
This commit is contained in:
parent
f4bfa13cab
commit
ba99dc08e2
@ -607,7 +607,7 @@ export class PowerEffect {
|
||||
}
|
||||
|
||||
async apply() {
|
||||
const maintId = randomID();
|
||||
const maintId = foundry.utils.randomID();
|
||||
const secondaryDocs = await this.createSecondaryEffects(maintId);
|
||||
const primaryDoc = await this.createPrimaryEffect(maintId);
|
||||
const maintainDoc = await this.createMaintainEffect(maintId);
|
||||
@ -873,7 +873,7 @@ export class ActorFolderEffect extends PowerEffect {
|
||||
|
||||
async parseValues() {
|
||||
await super.parseValues();
|
||||
this.data.maintId = randomID();
|
||||
this.data.maintId = foundry.utils.randomID();
|
||||
this.targetActor = await game.actors.get(this.data.actorId);
|
||||
this.targetTokenDoc = await this.targetActor.getTokenDocument();
|
||||
const sourceUpdates = {
|
||||
|
||||
@ -59,6 +59,7 @@ import { StunEffect } from './stun.js';
|
||||
import { SummonAllyEffect } from './summon.js';
|
||||
import { TelekinesisEffect } from './telekinesis.js';
|
||||
import { TeleportEffect } from './teleport.js';
|
||||
import { TimeStopEffect } from './timeStop.js';
|
||||
|
||||
const PowerClasses = {
|
||||
'arcane-protection': ArcaneProtectionEffect,
|
||||
@ -138,6 +139,7 @@ const PowerClasses = {
|
||||
'summon-ally': SummonAllyEffect,
|
||||
telekinesis: TelekinesisEffect,
|
||||
teleport: TeleportEffect,
|
||||
'time-stop': TimeStopEffect,
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------- */
|
||||
|
||||
42
src/module/powers/timeStop.js
Normal file
42
src/module/powers/timeStop.js
Normal file
@ -0,0 +1,42 @@
|
||||
import { PowerEffect } from './basePowers.js';
|
||||
|
||||
export class TimeStopEffect extends PowerEffect {
|
||||
get name() {
|
||||
return 'Time Stop';
|
||||
}
|
||||
|
||||
get icon() {
|
||||
return 'icons/magic/time/hourglass-tilted-gray.webp';
|
||||
}
|
||||
|
||||
get duration() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
get isTargeted() {
|
||||
return false;
|
||||
}
|
||||
|
||||
get isRaisable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
get basePowerPoints() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
get description() {
|
||||
let desc = super.description;
|
||||
desc += `<p>Stop time for all but the caster, granting [[/r 1d4+1]] new turns
|
||||
immediately after this one. During these turns the caster may act as normal
|
||||
on their current Action Card.
|
||||
`;
|
||||
if (this.data.raise) {
|
||||
desc += `With the raise, the caster may choose to draw a new Action Card each turn.
|
||||
`;
|
||||
}
|
||||
desc += `</p><p><em>Time stop</em> ends if any of the caster's action affect
|
||||
another character or creature.</p>`;
|
||||
return desc;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user