data.lua 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. -- COMES AFTER UI.LUA
  2. Stones = 30.0 -- Current Stone Stock
  3. StonesSec = 0
  4. currentTier = 0
  5. crafter = {}
  6. for i=0, 49 do
  7. local dig = {}
  8. dig.title = "D"
  9. dig.own = false -- is it bought ?
  10. dig.active = false -- is it active yet ?
  11. dig.readyTime = 10 -- time until active in Sec
  12. dig.ready = 0 -- current time until readyTime
  13. dig.speed = 0.3 -- Speed in Sec
  14. dig.amount = 0.1 -- Amount by Sec
  15. dig.cost = 10
  16. dig.tier = math.floor(i/8)
  17. local xg = (i%10)*100
  18. local yg = 50 + math.floor(i/10)*100
  19. dig.ui = {color = colorBlue, x = xg, y = yg, w = 100, h = 100}
  20. dig.uiready = {color = colorOrange, x = xg, y = yg+100, w = 100, h = 0}
  21. table.insert(crafter, dig)
  22. end
  23. function updateCraft(sec)
  24. for i=1, #crafter do
  25. local crft = crafter[i]
  26. if not crft.active and crft.own then
  27. if crft.ready >= crft.readyTime then
  28. crft.active = true
  29. recalcStonesSec()
  30. end
  31. crft.ready = crft.ready + sec
  32. end
  33. end
  34. end
  35. function recalcStonesSec()
  36. local stsec = 0
  37. for i=1, #crafter do
  38. local crft = crafter[i]
  39. if crft.active then
  40. stsec = stsec + crft.amount * crft.speed
  41. end
  42. end
  43. StonesSec = stsec
  44. end
  45. function upgradeCrafter(crft)
  46. -- BUY CRAFTER
  47. if not crft.own then
  48. if pay(crft.cost) then
  49. crft.own = true
  50. end
  51. -- UPGRADE CRAFTER
  52. elseif crft.active and pay(crft.cost) then
  53. crft.amount = crft.amount + 0.05
  54. crft.cost = math.floor(crft.cost * 1.5)
  55. end
  56. end
  57. function pay(cost)
  58. if Stones >= cost then
  59. Stones = Stones - cost
  60. return true
  61. else
  62. return false
  63. end
  64. end