Advertisement
Guest User

Mememod

a guest
Feb 19th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.96 KB | None | 0 0
  1. if not _G.GoonBase then
  2.  
  3. _G.GoonBase = {}
  4.  
  5. GoonBase.Version = 32
  6. GoonBase.GameVersion = "1.57.0"
  7. GoonBase.SupportedVersion = true
  8.  
  9. GoonBase.Path = ""
  10. GoonBase.LuaPath = "lua/"
  11. GoonBase.RequiresFolder = "req/"
  12. GoonBase.ModsFolders = {
  13. "mods/",
  14. "mods/custom_colours/"
  15. }
  16. GoonBase.MenusPath = "menus/"
  17. GoonBase.LocalizationFolder = "loc/"
  18.  
  19. GoonBase.LogFile = "GoonMod.txt"
  20. GoonBase.SavePath = SavePath .. "goonmod_options.txt"
  21.  
  22. GoonBase.LogTag = "[GoonMod]"
  23. GoonBase.LoggingEnabled = false
  24.  
  25. end
  26.  
  27. GoonBase.RequireHookFiles = {
  28. "lib/managers/menumanager",
  29. "lib/setups/menusetup"
  30. }
  31.  
  32. GoonBase.HookFiles = {
  33.  
  34. ["lib/managers/menumanager"] = "MenuManager.lua",
  35. ["lib/units/weapons/grenades/quicksmokegrenade"] = "QuickSmokeGrenade.lua",
  36. ["lib/managers/hudmanager"] = "HUDManager.lua",
  37. ["lib/managers/jobmanager"] = "JobManager.lua",
  38. ["lib/managers/group_ai_states/groupaistatebase"] = "GroupAIStateBase.lua",
  39. ["lib/units/beings/player/states/playerstandard"] = "PlayerStandard.lua",
  40. ["lib/units/beings/player/playerdamage"] = "PlayerDamage.lua",
  41. ["lib/managers/playermanager"] = "PlayerManager.lua",
  42. ["lib/managers/gageassignmentmanager"] = "GageAssignmentManager.lua",
  43. ["lib/managers/achievmentmanager"] = "AchievementManager.lua",
  44. ["lib/tweak_data/infamytweakdata"] = "InfamyTweakData.lua",
  45. ["lib/setups/gamesetup"] = "GameSetup.lua",
  46. ["lib/setups/menusetup"] = "MenuSetup.lua",
  47. ["lib/managers/menu/blackmarketgui"] = "BlackMarketGUI.lua",
  48. ["lib/managers/blackmarketmanager"] = "BlackMarketManager.lua",
  49. ["lib/tweak_data/charactertweakdata"] = "CharacterTweakData.lua",
  50. ["lib/units/enemies/cop/copinventory"] = "CopInventory.lua",
  51. ["lib/units/enemies/cop/copdamage"] = "CopDamage.lua",
  52. ["lib/managers/mission/elementlasertrigger"] = "ElementLaserTrigger.lua",
  53. ["lib/units/weapons/weaponflashlight"] = "WeaponFlashlight.lua",
  54. ["lib/units/weapons/weaponlaser"] = "WeaponLaser.lua",
  55. ["lib/tweak_data/levelstweakdata"] = "LevelsTweakData.lua",
  56. ["lib/tweak_data/assetstweakdata"] = "AssetsTweakData.lua",
  57. ["lib/tweak_data/narrativetweakdata"] = "NarrativeTweakData.lua",
  58. ["lib/managers/criminalsmanager"] = "CriminalsManager.lua",
  59. ["lib/units/weapons/newraycastweaponbase"] = "NewRaycastWeaponBase.lua",
  60. ["lib/units/weapons/npcraycastweaponbase"] = "NPCRaycastWeaponBase.lua",
  61. ["lib/units/cameras/fpcameraplayerbase"] = "FPCameraPlayerBase.lua",
  62. ["core/lib/managers/menu/items/coremenuitemslider"] = "CoreMenuItemSlider.lua",
  63. ["lib/utils/game_state_machine/gamestatemachine"] = "GameStateMachine.lua",
  64. ["lib/units/contourext"] = "ContourExt.lua",
  65. ["lib/units/interactions/interactionext"] = "InteractionExt.lua",
  66. ["lib/units/enemies/spooc/actions/lower_body/actionspooc"] = "ActionSpooc.lua",
  67. ["lib/managers/menu/menucomponentmanager"] = "MenuComponentManager.lua",
  68. ["lib/managers/menu/missionbriefinggui"] = "MissionBriefingGUI.lua",
  69. ["lib/network/matchmaking/networkmatchmakingsteam"] = "NetworkMatchMakingSteam.lua",
  70. ["lib/managers/menu/menuscenemanager"] = "MenuSceneManager.lua",
  71. ["lib/units/enemies/cop/actions/full_body/copactionhurt"] = "CopActionHurt.lua",
  72. ["lib/units/equipment/ecm_jammer/ecmjammerbase"] = "ECMJammerBase.lua",
  73. ["lib/tweak_data/weapontweakdata"] = "WeaponTweakData.lua",
  74. ["lib/units/beings/player/playerinventory"] = "PlayerInventory.lua",
  75. ["lib/tweak_data/skilltreetweakdata"] = "SkillTreeTweakData.lua",
  76. ["lib/managers/systemmenumanager"] = "SystemMenuManager.lua",
  77. ["lib/managers/menu/playerprofileguiobject"] = "PlayerProfileGUIObject.lua",
  78. ["lib/managers/menu/walletguiobject"] = "WalletGUIObject.lua",
  79. ["lib/managers/experiencemanager"] = "ExperienceManager.lua",
  80. ["lib/managers/skilltreemanager"] = "SkillTreeManager.lua",
  81. ["lib/managers/menu/skilltreeguinew"] = "SkillTreeGUINew.lua",
  82. ["lib/network/networkgame"] = "NetworkGame.lua",
  83. ["lib/tweak_data/upgradestweakdata"] = "UpgradesTweakData.lua",
  84. ["lib/network/base/networkmanager"] = "NetworkManager.lua",
  85. ["lib/units/weapons/sentrygunweapon"] = "SentryGunWeapon.lua",
  86. ["lib/managers/savefilemanager"] = "SaveFileManager.lua",
  87. ["lib/managers/menu/playerinventorygui"] = "PlayerInventoryGUI.lua",
  88. ["lib/tweak_data/blackmarket/weaponskinstweakdata"] = "WeaponSkinsTweakData.lua",
  89.  
  90. }
  91.  
  92. -- Required Global Functions
  93. function _G.Print( ... )
  94.  
  95. local str = GoonBase.LogTag
  96. for k, v in ipairs( arg ) do
  97. str = str .. tostring(v)
  98. end
  99.  
  100. -- Write to console
  101. log( str )
  102.  
  103. -- Write to log file
  104. if GoonBase.LoggingEnabled then
  105.  
  106. str = str .. "\n"
  107. local file = io.open( GoonBase.LogFile, "a+" )
  108. if file ~= nil then
  109.  
  110. io.output( file )
  111.  
  112. if GoonBase._print_cache ~= nil then
  113. for k, v in ipairs(GoonBase._print_cache) do
  114. io.write( v )
  115. end
  116. GoonBase._print_cache = {}
  117. end
  118. io.write( str )
  119.  
  120. io.close( file )
  121.  
  122. else
  123.  
  124. log( "[Error] Could not write to file, caching print string: '" .. str .. "'" )
  125. if GoonBase._print_cache == nil then
  126. GoonBase._print_cache = {}
  127. end
  128. table.insert( GoonBase._print_cache, str )
  129.  
  130. end
  131.  
  132. end
  133.  
  134. end
  135.  
  136. function _G.SafeDoFile( fileName )
  137.  
  138. local success, errorMsg = pcall(function()
  139. if io.file_is_readable( fileName ) then
  140. dofile( fileName )
  141. else
  142. Print("[Error] Could not open file '" .. fileName .. "'! Does it exist, is it readable?")
  143. end
  144. end)
  145.  
  146. if not success then
  147. Print("[Error]\nFile: " .. fileName .. "\n" .. errorMsg)
  148. end
  149.  
  150. end
  151.  
  152. local unsupported = true
  153.  
  154. -- Load Require and Mod Scripts
  155. if not GoonBase.HasLoadedScripts then
  156.  
  157. GoonBase.Path = ModPath
  158. GoonBase.LogFile = LogsPath .. GoonBase.LogFile
  159.  
  160. GoonBase.LuaPath = ModPath .. GoonBase.LuaPath
  161. GoonBase.RequiresFolder = ModPath .. GoonBase.RequiresFolder
  162. GoonBase.MenusPath = ModPath .. GoonBase.MenusPath
  163. GoonBase.LocalizationFolder = ModPath .. GoonBase.LocalizationFolder
  164.  
  165. -- Check required classes exist now
  166. if class and Application and string.split then
  167.  
  168. GoonBase.HasLoadedScripts = true
  169.  
  170. -- Load required files
  171. local required_files = file.GetFiles( GoonBase.RequiresFolder )
  172. for k, v in ipairs( required_files ) do
  173. SafeDoFile( GoonBase.RequiresFolder .. v )
  174. end
  175.  
  176. GoonBase.SupportedVersion = GoonBase.Updates:GameUpdateVersionCheck()
  177.  
  178. -- Run hooks
  179. if GoonBase.SupportedVersion and Hooks ~= nil then
  180.  
  181. Hooks:RegisterHook("GoonBaseLoadMods")
  182. Hooks:Call("GoonBaseLoadMods")
  183.  
  184. Hooks:RegisterHook("GoonBasePostLoadedMods")
  185. Hooks:Call("GoonBasePostLoadedMods")
  186.  
  187. end
  188.  
  189. end
  190.  
  191. end
  192.  
  193. -- Load Hook Scripts
  194. if RequiredScript then
  195.  
  196. local requiredScript = RequiredScript:lower()
  197. if GoonBase.HookFiles[requiredScript] then
  198.  
  199. if GoonBase.SupportedVersion or table.contains(GoonBase.RequireHookFiles, requiredScript) then
  200.  
  201. if type( GoonBase.HookFiles[requiredScript] ) == "table" then
  202. for k, v in pairs( GoonBase.HookFiles[requiredScript] ) do
  203. SafeDoFile( GoonBase.LuaPath .. v )
  204. end
  205. else
  206. SafeDoFile( GoonBase.LuaPath .. GoonBase.HookFiles[requiredScript] )
  207. end
  208.  
  209. end
  210.  
  211. end
  212.  
  213. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement