blood.lua 606 B

123456789101112131415
  1. local Blood = class()
  2. function Blood:draw()
  3. local u, v = ctx.hud.u, ctx.hud.v
  4. local p = ctx.players:get(ctx.id)
  5. if p then
  6. local hp = math.lerp(ctx.hud.health.prevVal, ctx.hud.health.val, tickDelta / tickRate)
  7. local prc = hp / p.maxHealth
  8. local image = data.media.graphics.hud['hudBlood' .. 4 - math.floor(math.min(prc * 8, 3))]
  9. love.graphics.setColor(255, 255, 255, math.min(((1 - (math.min(prc, .5) / .5)) + math.max(1 - (tick - p.lastHurt) * tickRate, 0) / 6) * 200, 200))
  10. love.graphics.draw(image, 0, 0, 0, u / image:getWidth(), v / image:getHeight())
  11. end
  12. end
  13. return Blood