Guest User

Untitled

a guest
Jan 21st, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. local ship = { entropy.loadtexture("data/ships/fighter/base.png") }
  2. local glow = { entropy.loadtexture("data/ships/fighter/glow.png") }
  3. local lights = { entropy.loadtexture("data/ships/fighter/lights.png") }
  4.  
  5. function shutdown ()
  6. entropy.deletetexture(ship[1])
  7. entropy.deletetexture(glow[1])
  8. entropy.deletetexture(lights[1])
  9. end
  10.  
  11. function create ()
  12. return {
  13. glow = 0,
  14. velx = 0,
  15. vely = 0,
  16. lastlights = 0,
  17. lights = 0,
  18. energy = 1000
  19. }
  20. end
  21.  
  22. function energy (data)
  23. return data.energy, 1000
  24. end
  25.  
  26. function deplete (data, amount)
  27. data.energy = data.energy - amount
  28. end
  29.  
  30. function boundingBox (data)
  31. return -43, -24, 41, 19
  32. end
  33.  
  34. function act (data, multiplier, x, y, rotation)
  35. local regen = false
  36. data.lastlights = data.lastlights + multiplier
  37. if data.lastlights >= 3 then
  38. data.lastlights = 0
  39. data.lights = 0.5
  40. regen = true
  41. elseif data.lights > 0 then
  42. data.lights = data.lights - multiplier
  43. regen = true
  44. end
  45.  
  46. data.energy = data.energy + 100 * multiplier
  47. if data.energy > 1000 then
  48. data.energy = 1000
  49. end
  50.  
  51. return x + data.velx * multiplier, y + data.vely * multiplier, rotation, regen
  52. end
  53.  
  54. function accelerate (data, multiplier, rotation)
  55. if multiplier > 0 then
  56. data.velx = data.velx + math.sin(rotation * (math.pi / 180)) * multiplier * 200
  57. data.vely = data.vely - math.cos(rotation * (math.pi / 180)) * multiplier * 200
  58.  
  59. data.glow = data.glow + 1 * multiplier
  60. if data.glow > 1 then
  61. data.glow = 1
  62. end
  63. else
  64. data.glow = data.glow + 2 * multiplier
  65. if data.glow < 0 then
  66. data.glow = 0
  67. end
  68. end
  69.  
  70. return true
  71. end
  72.  
  73. function rotate (data, multiplier, rotation)
  74. return rotation + multiplier * 180, false
  75. end
  76.  
  77. function render (data)
  78. entropy.rendertexture(ship[1], ship[2])
  79. entropy.rendertexture(glow[1], glow[2], data.glow)
  80. if data.lights > 0 then
  81. entropy.rendertexture(lights[1], lights[2])
  82. end
  83. end
  84.  
  85. function velocity (data, rotation)
  86. return data.velx, data.vely
  87. end
  88.  
  89. offset = 24
Add Comment
Please, Sign In to add comment