cleave.lua 688 B

12345678910111213141516171819202122232425262728293031323334
  1. local Cleave = {}
  2. Cleave.name = 'Cleave'
  3. Cleave.code = 'cleave'
  4. Cleave.text = 'Spin2Win'
  5. Cleave.type = 'skill'
  6. Cleave.cooldown = 2
  7. Cleave.damage = 55
  8. Cleave.cost = 20
  9. function Cleave:activate(owner)
  10. self.timer = 0
  11. end
  12. function Cleave:update(owner)
  13. self.timer = timer.rot(self.timer)
  14. end
  15. function Cleave:canFire(owner)
  16. return self.timer == 0 and owner.health > self.cost
  17. end
  18. function Cleave:fire(owner)
  19. ctx.spells:activate(owner.id, data.spell.cleave)
  20. ctx.net:emit(app.net.events.damage, {id = owner.id, amount = self.cost, from = owner.id, tick = tick})
  21. self.timer = self.cooldown
  22. end
  23. function Cleave:value(owner)
  24. return self.timer / self.cooldown
  25. end
  26. return Cleave