diff --git a/src/module/powers/powers.js b/src/module/powers/powers.js index 9d888d7..63cfca2 100644 --- a/src/module/powers/powers.js +++ b/src/module/powers/powers.js @@ -62,6 +62,7 @@ import { TeleportEffect } from './teleport.js'; import { TimeStopEffect } from './timeStop.js'; import { WallWalkerEffect } from './wallWalker.js'; import { WarriorsGiftEffect } from './warriorsGift.js'; +import { WishEffect } from './wish.js'; const PowerClasses = { 'arcane-protection': ArcaneProtectionEffect, @@ -144,6 +145,7 @@ const PowerClasses = { 'time-stop': TimeStopEffect, 'wall-walker': WallWalkerEffect, 'warriors-gift': WarriorsGiftEffect, + wish: WishEffect, }; /* ---------------------------------------------------------------- */ diff --git a/src/module/powers/wish.js b/src/module/powers/wish.js new file mode 100644 index 0000000..8b722fe --- /dev/null +++ b/src/module/powers/wish.js @@ -0,0 +1,58 @@ +import { PowerEffect } from './basePowers.js'; + +export class WishEffect extends PowerEffect { + get name() { + return 'Wish'; + } + + get icon() { + return 'icons/magic/symbols/rune-sigil-green-purple.webp'; + } + + get duration() { + return 0; + } + + get isTargeted() { + return false; + } + + get isRaisable() { + return true; + } + + get basePowerPoints() { + return 20; + } + + get modifiers() { + return []; + } + + get description() { + let desc = super.description; + desc += `

Bend reality to your will. + ${this.data.raise ? 'With a raise there is no permanant cost' : 'The caster sacrifices 3 power points permanently'}.

+

Choose one of the following effects before casting.

+ + `; + return desc; + } +}