Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.88 KB | None | 0 0
  1. local FAIO = {}
  2.  
  3. local versionNumber = "01.5.01"
  4. local commitDate = "06/19/2019"
  5.  
  6. Console.AddCommand("FAIO.version", 0, function()
  7. Console.Print("###################################")
  8. Console.Print("tribute to GH:")
  9. Console.Print("worry is a misuse of imagination")
  10. Console.Print("FAIO version number: " .. versionNumber)
  11. Console.Print("FAIO last commit date: " .. commitDate)
  12. Console.Print("###################################")
  13. end)
  14.  
  15. FAIO.system = nil
  16.  
  17. FAIO_data = {}
  18. FAIO_options = {}
  19. FAIO_skillHandler = {}
  20. FAIO_utility_functions = {}
  21. FAIO_dodgeIT = {}
  22. FAIO_lastHitter = {}
  23. FAIO_itemHandler = {}
  24. FAIO_killsteal = {}
  25. FAIO_creepControl = {}
  26. FAIO_orbwalker = {}
  27. FAIO_attackHandler = {}
  28. FAIO_rangeCircles = {}
  29. FAIO_ward = {}
  30. FAIO_advanced_awareness = {}
  31.  
  32. function FAIO.requireBasicInit()
  33.  
  34. FAIO.system = require("FAIO/Core/FAIO_system")
  35.  
  36. FAIO_data = require("FAIO/Core/FAIO_data")
  37.  
  38. FAIO_options = require("FAIO/Core/FAIO_options")
  39.  
  40. end
  41.  
  42. FAIO.requireBasicInit()
  43.  
  44. function FAIO.requireDynamicInit()
  45.  
  46. FAIO.system = require("FAIO/Core/FAIO_system")
  47.  
  48. FAIO_data = require("FAIO/Core/FAIO_data")
  49.  
  50. FAIO_options = require("FAIO/Core/FAIO_options")
  51.  
  52. FAIO_skillHandler = require("FAIO/Core/FAIO_skillHandler")
  53. setmetatable(FAIO_skillHandler, {__index = FAIO, __newindex = FAIO})
  54.  
  55. FAIO_utility_functions = require("FAIO/Utility/FAIO_utility_functions")
  56. setmetatable(FAIO_utility_functions, {__index = FAIO})
  57.  
  58. FAIO_dodgeIT = require("FAIO/Utility/FAIO_dodgeIT")
  59. setmetatable(FAIO_dodgeIT, {__index = FAIO, __newindex = FAIO})
  60.  
  61. FAIO_lastHitter = require("FAIO/Utility/FAIO_lastHitter")
  62. setmetatable(FAIO_lastHitter, {__index = FAIO})
  63.  
  64. FAIO_itemHandler = require("FAIO/Utility/FAIO_itemHandler")
  65. setmetatable(FAIO_itemHandler, {__index = FAIO, __newindex = FAIO})
  66.  
  67. FAIO_killsteal = require("FAIO/Utility/FAIO_killsteal")
  68. setmetatable(FAIO_killsteal, {__index = FAIO, __newindex = FAIO})
  69.  
  70. FAIO_creepControl = require("FAIO/Core/FAIO_creepControl")
  71. setmetatable(FAIO_creepControl, {__index = FAIO})
  72.  
  73. FAIO_orbwalker = require("FAIO/Core/FAIO_orbwalker")
  74. setmetatable(FAIO_orbwalker, {__index = FAIO})
  75.  
  76. FAIO_attackHandler = require("FAIO/Core/FAIO_attackHandler")
  77. setmetatable(FAIO_attackHandler, {__index = FAIO})
  78.  
  79. FAIO_rangeCircles = require("FAIO/Core/FAIO_rangeCircles")
  80. setmetatable(FAIO_rangeCircles, {__index = FAIO})
  81.  
  82. FAIO_ward = require("FAIO/Utility/FAIO_ward")
  83.  
  84. FAIO_advanced_awareness = require("FAIO/Utility/FAIO_advanced_awareness")
  85. setmetatable(FAIO_advanced_awareness, {__index = FAIO})
  86.  
  87. end
  88.  
  89. FAIO.requireDynamicInit()
  90.  
  91. local FAIO_heroScript = {}
  92.  
  93. function FAIO.initHeroScript()
  94.  
  95. if not FAIO.myHero then return end
  96. local heroName = FAIO.myUnitName
  97.  
  98. if FAIO.heroSupported(FAIO.myHero) then
  99.  
  100. local heroNameShort = heroName:gsub("npc_dota_hero_", "")
  101.  
  102. FAIO_heroScript = require("FAIO/Heroes/FAIO_" .. heroNameShort)
  103. setmetatable(FAIO_heroScript, {__index = FAIO, __newindex = FAIO})
  104.  
  105. end
  106.  
  107. return
  108.  
  109. end
  110.  
  111. -- global Variables
  112.  
  113. FAIO.myHero = nil
  114. FAIO.myUnitName = nil
  115. FAIO.LockedTarget = nil
  116.  
  117. FAIO.currentParticle = 0
  118. FAIO.currentParticleTarget = nil
  119. FAIO.particleNextTime = 0
  120.  
  121. FAIO.morphlingDisableIncTable = {}
  122. FAIO.saveMorphlingsBalanceHP = 0
  123. FAIO.saveMorphlingsBalanceStep = 0
  124.  
  125. FAIO.ArcMainMantaIllus = {}
  126. FAIO.ArcDoubleMantaIllus = {}
  127.  
  128. FAIO.mainTick = 0
  129. FAIO.tickRate = 0
  130. FAIO.lastTick = 0
  131. FAIO.lastTickCheck = 0
  132. FAIO.humanizerEnabled = nil
  133. FAIO.humanizerMaxTime = 0
  134. FAIO.humanizerLingerTime = 0
  135. FAIO.humanizerInstantMove = -1
  136. FAIO.humanizerRandomTime = 0
  137.  
  138. function FAIO.ResetGlobalVariables()
  139.  
  140. FAIO.myHero = nil
  141. FAIO.LockedTarget = nil
  142. FAIO.myUnitName = nil
  143. FAIO.morphlingDisableIncTable = {}
  144. FAIO.saveMorphlingsBalanceHP = 0
  145. FAIO.saveMorphlingsBalanceStep = 0
  146. FAIO.mainTick = 0
  147. FAIO.tickRate = 0
  148. FAIO.lastTick = 0
  149. FAIO.lastTickCheck = 0
  150. FAIO.humanizerEnabled = nil
  151. FAIO.humanizerMaxTime = 0
  152. FAIO.humanizerLingerTime = 0
  153. FAIO.humanizerInstantMove = -1
  154. FAIO.humanizerRandomTime = 0
  155. FAIO.currentParticle = 0
  156. FAIO.currentParticleTarget = nil
  157. FAIO.particleNextTime = 0
  158. FAIO.ArcMainMantaIllus = {}
  159. FAIO.ArcDoubleMantaIllus = {}
  160.  
  161. end
  162.  
  163. function FAIO.resetModules()
  164.  
  165. Log.Write("*****----- FAIO RESET -----*****")
  166.  
  167. for i, v in pairs(package.loaded) do
  168. if string.find(i, "FAIO/") ~= nil then
  169. package.loaded[i] = nil
  170. Log.Write("reset" .. " - " .. i)
  171. end
  172. end
  173.  
  174. Log.Write("*****----- DONE -----*****")
  175.  
  176. end
  177.  
  178. function FAIO.resetDynamicModules()
  179.  
  180. Log.Write("*****----- FAIO DYNAMIC RESET -----*****")
  181.  
  182. for i, v in pairs(package.loaded) do
  183. if string.find(i, "FAIO/") ~= nil then
  184. if i ~= "FAIO/Core/FAIO_system" and i ~= "FAIO/Core/FAIO_data" and i ~= "FAIO/Core/FAIO_options" then
  185. package.loaded[i] = nil
  186. Log.Write("reset" .. " - " .. i)
  187. end
  188. end
  189. end
  190.  
  191. FAIO_skillHandler = {}
  192. FAIO_utility_functions = {}
  193. FAIO_dodgeIT = {}
  194. FAIO_lastHitter = {}
  195. FAIO_itemHandler = {}
  196. FAIO_killsteal = {}
  197. FAIO_creepControl = {}
  198. FAIO_orbwalker = {}
  199. FAIO_ward = {}
  200. FAIO_rangeCircles = {}
  201. FAIO_advanced_awareness = {}
  202.  
  203. FAIO_heroScript = {}
  204.  
  205. FAIO.requireDynamicInit()
  206.  
  207. Log.Write("*****----- DONE -----*****")
  208.  
  209. end
  210.  
  211. function FAIO.OnGameStart()
  212.  
  213. FAIO.ResetGlobalVariables()
  214. FAIO.resetDynamicModules()
  215.  
  216. end
  217.  
  218. function FAIO.OnGameEnd()
  219.  
  220. FAIO.ResetGlobalVariables()
  221. FAIO.resetDynamicModules()
  222.  
  223. end
  224.  
  225. function FAIO.OnScriptUnload()
  226.  
  227. FAIO.resetModules()
  228.  
  229. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement