rage.lua 925 B

12345678910111213141516171819202122232425262728293031323334353637
  1. local Rage = {}
  2. ----------------
  3. -- Meta
  4. ----------------
  5. Rage.name = 'Rage'
  6. Rage.code = 'rage'
  7. Rage.text = 'The brute has 20% additional lifesteal.'
  8. Rage.hide = false
  9. ----------------
  10. -- Data
  11. ----------------
  12. function Rage:activate()
  13. self.owner.lifesteal = self.owner.lifesteal + .2
  14. if ctx.view then ctx.view:register(self) end
  15. self.alpha = 0
  16. end
  17. function Rage:deactivate()
  18. self.owner.lifesteal = self.owner.lifesteal - .2
  19. if ctx.view then ctx.view:unregister(self) end
  20. end
  21. function Rage:update()
  22. self.alpha = math.lerp(self.alpha, 1, tickRate * 5)
  23. end
  24. function Rage:draw()
  25. love.graphics.setColor(255, 0, 0, 100 * self.alpha * self.owner.alpha)
  26. local owner = self.owner
  27. local x, y, s = owner.drawX, owner.drawY, owner.drawScale * owner.class.scale * (1 + (.25 * self.alpha))
  28. love.graphics.draw(owner.class.sprite, x, y, owner.angle, s, s, owner.class.anchorx, owner.class.anchory)
  29. end
  30. return Rage