| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- local Adrenaline = {}
- ----------------
- -- Meta
- ----------------
- Adrenaline.name = 'Adrenaline'
- Adrenaline.code = 'adrenaline'
- Adrenaline.text = 'Increases movespeed, drains health.'
- Adrenaline.hide = false
- ----------------
- -- Data
- ----------------
- Adrenaline.drain = 20
- Adrenaline.rate = .5
- function Adrenaline:activate()
- self.amount = self.owner.class.speed * .6
- self.owner.haste = self.owner.haste + self.amount
- self.hurtTimer = 0
- end
- function Adrenaline:deactivate()
- self.owner.haste = self.owner.haste - self.amount
- end
- function Adrenaline:update()
- self.hurtTimer = self.hurtTimer - 1
- if self.hurtTimer <= 0 then
- local amt = math.min(Adrenaline.drain * Adrenaline.rate, self.owner.health - 1)
- ctx.net:emit(app.net.events.damage, {id = self.owner.id, amount = amt, from = self.owner.id, tick = tick})
- self.hurtTimer = math.round(Adrenaline.rate / tickRate)
- for _ = 1, 8 do
- ctx.event:emit('particle.create', {
- kind = 'blood',
- vars = {
- x = self.owner.x - 25 + love.math.random(50),
- y = self.owner.y - 25 + love.math.random(50)
- }
- })
- end
- end
- end
- return Adrenaline
|