Guest User

Untitled

a guest
May 8th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1.  
  2. function fileExists(file)
  3. local f = io.open(file, "rb")
  4. if f then f:close() end
  5. return f ~= nil
  6. end
  7.  
  8. function linesFrom(file)
  9. if not fileExists(file) then return {} end
  10. lines = {}
  11. for line in io.lines(file) do
  12. lines[#lines + 1] = line
  13. end
  14. return lines
  15. end
  16.  
  17. ----------------------------------------------------------------
  18. -------- Stat Caps ---------
  19. local HPCAP = 300
  20. local DMGCAP = 40
  21. local ACCURACYCAP = 100
  22. local CRITCAP = 95
  23. local DODGECAP = 70
  24. ---- File Configuration ----
  25. local nameLine = 1
  26. local maxHPLine = 2
  27. local HPLine = 3
  28. local dodgeLine = 4
  29. local attackDmgLine = 5
  30. local accuracyLine = 6
  31. local critLine = 7
  32. local abililtyLine = 8
  33. local descriptionStart = 9
  34. ----------------------------
  35. ----------------------------
  36.  
  37. classMgmt = {}
  38. classMgmt.class = {}
  39. classMgmt.classNumber = 0
  40.  
  41. function classMgmt.loadStats(n) -- pulls class stats from text files
  42. local file = "classes/class"..n..".txt"
  43. local lines = linesFrom(file)
  44. local classNum = n
  45. classMgmt.class[classNum] = {}
  46. classMgmt.class[classNum].name = tostring(lines[nameLine]) -- Name of character
  47. classMgmt.class[classNum].maxHP = lines[maxHPLine] -- maximum possible HP
  48. classMgmt.class[classNum].HP = lines[HPLine] -- starting HP
  49. classMgmt.class[classNum].attackDmg = lines[attackDmgLine] -- attackDmg
  50. classMgmt.class[classNum].accuracy = lines[accuracyLine] -- accuracy(%)
  51. classMgmt.class[classNum].critChance = lines[critLine] -- crit chance (%)
  52. classMgmt.class[classNum].dodgeChance = lines[dodgeLine]
  53. classMgmt.class[classNum].ability = tostring(lines[abililtyLine])
  54. end
Advertisement
Add Comment
Please, Sign In to add comment