new arcane protection

This commit is contained in:
Mike Bloy 2024-05-01 21:53:08 -05:00
parent 8e50b478ce
commit 13f93898d6

View File

@ -1,6 +1,32 @@
import { moduleName } from './globals.js' import { moduleName } from './globals.js'
import { PowerEffect } from './basePowers.js' import { PowerEffect } from './basePowers.js'
class ArcaneProtectionEffect extends PowerEffect {
get name () { return 'Arcane Protection' }
get duration () { return 5 }
get icon () { return 'icons/magic/defensive/shield-barrier-flaming-pentagon-blue.webp' }
get hasAdditionalRecipients () { return true }
get additionalRecipientCost () { return 1 }
get isTargeted () { return true }
get modifiers () {
const mods = super.modifiers
mods.push({
name: 'Greater Arcane Protection',
id: 'greater',
value: 2,
epic: true,
effect: false
})
return mods
}
get effectName () {
const greater = this.data.mods.has('greater')
const raise = this.data.raise
const amount = (raise ? -4 : -2) + (greater ? -2 : 0)
return `${greater ? 'Greater ' : ''}Arcane Protection (${raise ? 'major, ' : ''}${amount})`
}
}
class BurrowEffect extends PowerEffect { class BurrowEffect extends PowerEffect {
get name () { return 'Burrow' } get name () { return 'Burrow' }
get duration () { return 5 } get duration () { return 5 }
@ -27,6 +53,7 @@ class BurrowEffect extends PowerEffect {
} }
const PowerClasses = { const PowerClasses = {
"arcane-protection": ArcaneProtectionEffect,
burrow: BurrowEffect burrow: BurrowEffect
} }