| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- local Adrenaline = {}
- ----------------
- -- Meta
- ----------------
- Adrenaline.name = 'Adrenaline'
- Adrenaline.code = 'adrenaline'
- Adrenaline.text = 'It is Adrenaline. It sucks.'
- Adrenaline.type = 'skill'
- ----------------
- -- Data
- ----------------
- Adrenaline.target = 'none'
- Adrenaline.cooldown = 6
- ----------------
- -- Behavior
- ----------------
- function Adrenaline:activate(owner)
- self.cooldown = 0
- self.active = false
- end
- function Adrenaline:update(owner)
- self.cooldown = timer.rot(self.cooldown)
- end
- function Adrenaline:canFire(owner)
- return self.cooldown == 0
- end
- function Adrenaline:fire(owner)
- if not self.active then
- ctx.buffs:add(owner, 'adrenaline')
- self.active = true
- self.cooldown = 1
- else
- ctx.buffs:remove(owner, 'adrenaline')
- self.active = false
- self.cooldown = Adrenaline.cooldown
- end
- end
- function Adrenaline:value(owner)
- return self.cooldown / (self.active and 1 or Adrenaline.cooldown)
- end
- return Adrenaline
|