runespeedboost.lua 979 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. local RuneSpeedBoost = {}
  2. ----------------
  3. -- Meta
  4. ----------------
  5. RuneSpeedBoost.name = 'Rune Speed Boost'
  6. RuneSpeedBoost.code = 'runespeedboost'
  7. RuneSpeedBoost.text = 'Increases movespeed.'
  8. RuneSpeedBoost.hide = false
  9. ----------------
  10. -- Data
  11. ----------------
  12. RuneSpeedBoost.haste = .5
  13. RuneSpeedBoost.duration = 2
  14. function RuneSpeedBoost:activate()
  15. self.amount = self.owner.class.speed * self.haste
  16. self.decrease = (self.amount / self.duration) * tickRate
  17. self.owner.haste = self.owner.haste + self.amount
  18. self.timer = self.duration
  19. end
  20. function RuneSpeedBoost:update()
  21. self.amount = self.amount - self.decrease
  22. self.owner.haste = self.owner.haste - self.decrease
  23. self.timer = timer.rot(self.timer, function()
  24. self.owner.haste = self.owner.haste - self.amount
  25. ctx.buffs:remove(self.owner, 'runespeedboost')
  26. end)
  27. end
  28. function RuneSpeedBoost:stack()
  29. self.owner.haste = self.owner.haste - self.amount
  30. self:activate()
  31. end
  32. return RuneSpeedBoost