add burrow and darksight

This commit is contained in:
Mike Bloy 2023-10-01 11:48:49 -05:00
parent 416661727b
commit 41e1ade442

View File

@ -61,6 +61,9 @@ class PowerEffect {
} }
} }
async prepMenu () {
}
async prepResult () { async prepResult () {
} }
@ -241,6 +244,23 @@ class BlindEffect extends TargetedPowerEffect {
} }
} }
class BurrowEffect extends TargetedPowerEffect {
get name () { return 'Burrow' }
get baseDurationRounds () { return 5 }
async prepResult () {
const raise = (this.buttons === 'raise')
const icon = 'icons/magic/earth/projectile-stone-landslide.webp'
this.effectDocs.push(
shim.createEffectDocument(
icon,
`${raise ? 'major' : 'minor'} ${this.name}`,
this.durationRounds,
[])
)
}
}
class BoltEffect extends LingeringDamagePowerEffect { class BoltEffect extends LingeringDamagePowerEffect {
get name () { get name () {
return 'Bolt' return 'Bolt'
@ -382,6 +402,28 @@ class ConfusionEffect extends TargetedPowerEffect {
} }
} }
class DarksightEffect extends TargetedPowerEffect {
get name () { return 'Darksight' }
get baseDurationRounds () { return 600 }
async prepMenu () {
this.menuData.inputs.push(
{ type: 'checkbox', label: '⭐ Greater (+2)', options: false })
}
async prepResult () {
const raise = this.buttons === 'raise'
const greater = !!this.inputs[this.inputIndex]
const icon = 'icons/magic/perception/eye-ringed-glow-angry-small-teal.webp'
this.effectDocs.push(
shim.createEffectDocument(
icon,
`${raise ? 'major' : 'minor'} ${this.name}${greater ? ' (greater)' : ''}`,
this.durationRounds,
[])
)
}
}
class DeflectionEffect extends TargetedPowerEffect { class DeflectionEffect extends TargetedPowerEffect {
get name () { get name () {
return 'Deflection' return 'Deflection'
@ -1246,8 +1288,10 @@ const PowerClasses = {
bolt: BoltEffect, bolt: BoltEffect,
'boost/lower trait': BoostLowerTraitEffect, 'boost/lower trait': BoostLowerTraitEffect,
'boost trait': BoostLowerTraitEffect, 'boost trait': BoostLowerTraitEffect,
burrow: BurrowEffect,
burst: BurstEffect, burst: BurstEffect,
confusion: ConfusionEffect, confusion: ConfusionEffect,
darksight: DarksightEffect,
deflection: DeflectionEffect, deflection: DeflectionEffect,
entangle: EntangleEffect, entangle: EntangleEffect,
intangibility: IntangibilityEffect, intangibility: IntangibilityEffect,