Advertisement
Guest User

Native Settings Integration.lua - SDO

a guest
Oct 19th, 2023
1,181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.67 KB | Gaming | 0 0
  1. SDO = {
  2.     description = "SDO"
  3. }
  4. local config = require("Modules/utils/config")
  5.  
  6. curSettings = config.loadFile("Data/config.json")
  7.  
  8. No_Shooting_Delay = curSettings.No_Shooting_Delay
  9. Aggro_On_Silenced_Gunshot = curSettings.Aggro_On_Silenced_Gunshot
  10. Powerful_Minibosses = curSettings.Powerful_Minibosses
  11. Disable_Enemies_On_Minimap = curSettings.Disable_Enemies_On_Minimap
  12. Implement_Break_Hold = curSettings.Implement_Break_Hold
  13. Harder_Final_Boss_Fight = curSettings.Harder_Final_Boss_Fight
  14. Cyber_Enemies = curSettings.Cyber_Enemies
  15. Immersive_Movement = curSettings.Immersive_Movement
  16. Immersive_Damage_Effects = curSettings.Immersive_Damage_Effects
  17. Disable_Recoil_Recovery = curSettings.Disable_Recoil_Recovery
  18.  
  19. function SDO:new()
  20.  
  21.     defaultSettings = {
  22.     No_Shooting_Delay = false,
  23.     Aggro_On_Silenced_Gunshot = false,
  24.     Powerful_Minibosses = false,
  25.     Disable_Enemies_On_Minimap = false,
  26.     Implement_Break_Hold = false,
  27.     Harder_Final_Boss_Fight = false,
  28.     Cyber_Enemies = false,
  29.     Immersive_Movement = false,
  30.     Immersive_Damage_Effects = false,
  31.     Disable_Recoil_Recovery = false,
  32.     }
  33.    
  34.     local nativeSettings = GetMod("nativeSettings")
  35.     if not nativeSettings then
  36.         print("[Scissors Difficulty Options] Error: NativeSettings lib not found!")
  37.         return
  38.     end
  39.     nativeSettings.addTab("/SDO", Tab_Name)
  40.     nativeSettings.addSubcategory("/SDO/Options", Subtab_Name)
  41.  
  42.     --Enable reloading mods on exit (courtesy of keanuWheeze)
  43.     local fromMods = false
  44.  
  45.     Observe("PauseMenuGameController", "OnMenuItemActivated", function (_, _, target)
  46.         fromMods = target:GetData().label == "Mods"
  47.     end)
  48.  
  49.     Observe("gameuiMenuItemListGameController", "OnMenuItemActivated", function (_, _, target)
  50.         fromMods = target:GetData().label == "Mods"
  51.     end)
  52.  
  53.     Observe("SettingsMainGameController", "RequestClose", function () -- Handle mod settings close
  54.         if fromMods then
  55.             reloadSDOMods()
  56.             fromMods = false
  57.         end
  58.     end)
  59.  
  60.     --Add all the switchies
  61.      --[[ nativeSettings.addSwitch("/SDO/Options", No_Shooting_Delay_String, No_Shooting_Delay_Description, curSettings.No_Shooting_Delay, defaultSettings.No_Shooting_Delay, function(state)
  62.         curSettings.No_Shooting_Delay = state
  63.         config.saveFile("Data/config.json", curSettings)
  64.      end)
  65.      nativeSettings.addSwitch("/SDO/Options", Aggro_On_Silenced_Gunshot_String, Aggro_On_Silenced_Gunshot_Description, curSettings.Aggro_On_Silenced_Gunshot, defaultSettings.Aggro_On_Silenced_Gunshot, function(state)
  66.         curSettings.Aggro_On_Silenced_Gunshot = state
  67.         config.saveFile("Data/config.json", curSettings)
  68.      end) ]]
  69.      nativeSettings.addSwitch("/SDO/Options", Powerful_Minibosses_String, Powerful_Minibosses_Description, curSettings.Powerful_Minibosses, defaultSettings.Powerful_Minibosses, function(state)
  70.         curSettings.Powerful_Minibosses = state
  71.         config.saveFile("Data/config.json", curSettings)
  72.      end)
  73.      nativeSettings.addSwitch("/SDO/Options", Cyber_Enemies_String, Cyber_Enemies_Description, curSettings.Cyber_Enemies, defaultSettings.Cyber_Enemies, function(state)
  74.         curSettings.Cyber_Enemies = state
  75.         config.saveFile("Data/config.json", curSettings)
  76.      end)
  77.      nativeSettings.addSwitch("/SDO/Options", Disable_Enemies_On_Minimap_String, Disable_Enemies_On_Minimap_Description, curSettings.Disable_Enemies_On_Minimap, defaultSettings.Disable_Enemies_On_Minimap, function(state)
  78.         curSettings.Disable_Enemies_On_Minimap = state
  79.         config.saveFile("Data/config.json", curSettings)
  80.      end)
  81.      --[[ nativeSettings.addSwitch("/SDO/Options", Implement_Break_Hold_String, Implement_Break_Hold_Description, curSettings.Implement_Break_Hold, defaultSettings.Implement_Break_Hold, function(state)
  82.         curSettings.Implement_Break_Hold = state
  83.         config.saveFile("Data/config.json", curSettings)
  84.      end) ]]
  85.      --[[ nativeSettings.addSwitch("/SDO/Options", Immersive_Movement_String, Immersive_Movement_Description, curSettings.Immersive_Movement, defaultSettings.Immersive_Movement, function(state)
  86.         curSettings.Immersive_Movement = state
  87.         config.saveFile("Data/config.json", curSettings)
  88.      end) ]]
  89.      nativeSettings.addSwitch("/SDO/Options", Harder_Final_Boss_Fight_String, Harder_Final_Boss_Fight_Description, curSettings.Harder_Final_Boss_Fight, defaultSettings.Harder_Final_Boss_Fight, function(state)
  90.         curSettings.Harder_Final_Boss_Fight = state
  91.         config.saveFile("Data/config.json", curSettings)
  92.      end)
  93.      --[[ nativeSettings.addSwitch("/SDO/Options", Immersive_Damage_Effects_String, Immersive_Damage_Effects_Description, curSettings.Immersive_Damage_Effects, defaultSettings.Immersive_Damage_Effects, function(state)
  94.         curSettings.Immersive_Damage_Effects = state
  95.         config.saveFile("Data/config.json", curSettings)
  96.      end) ]]
  97.      --[[ nativeSettings.addSwitch("/SDO/Options", Disable_Recoil_Recovery_String, Disable_Recoil_Recovery_Description, curSettings.Disable_Recoil_Recovery, defaultSettings.Disable_Recoil_Recovery, function(state)
  98.         curSettings.Disable_Recoil_Recovery = state
  99.         config.saveFile("Data/config.json", curSettings)
  100.      end) ]]
  101.      
  102. end
  103.  
  104. function refreshVariables()
  105.     No_Shooting_Delay = curSettings.No_Shooting_Delay
  106.     Aggro_On_Silenced_Gunshot = curSettings.Aggro_On_Silenced_Gunshot
  107.     Powerful_Minibosses = curSettings.Powerful_Minibosses
  108.     Disable_Enemies_On_Minimap = curSettings.Disable_Enemies_On_Minimap
  109.     Implement_Break_Hold = curSettings.Implement_Break_Hold
  110.     Harder_Final_Boss_Fight = curSettings.Harder_Final_Boss_Fight
  111.     Cyber_Enemies = curSettings.Cyber_Enemies
  112.     Immersive_Movement = curSettings.Immersive_Movement
  113.     Immersive_Damage_Effects = curSettings.Immersive_Damage_Effects
  114.     Disable_Recoil_Recovery = curSettings.Disable_Recoil_Recovery
  115.  
  116. end
  117. function reloadSDOMods()
  118.     refreshVariables()
  119.    
  120.     dofile("Modules/main.lua")
  121. end
  122. return SDO:new()
  123.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement