Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SDO = {
- description = "SDO"
- }
- local config = require("Modules/utils/config")
- curSettings = config.loadFile("Data/config.json")
- No_Shooting_Delay = curSettings.No_Shooting_Delay
- Aggro_On_Silenced_Gunshot = curSettings.Aggro_On_Silenced_Gunshot
- Powerful_Minibosses = curSettings.Powerful_Minibosses
- Disable_Enemies_On_Minimap = curSettings.Disable_Enemies_On_Minimap
- Implement_Break_Hold = curSettings.Implement_Break_Hold
- Harder_Final_Boss_Fight = curSettings.Harder_Final_Boss_Fight
- Cyber_Enemies = curSettings.Cyber_Enemies
- Immersive_Movement = curSettings.Immersive_Movement
- Immersive_Damage_Effects = curSettings.Immersive_Damage_Effects
- Disable_Recoil_Recovery = curSettings.Disable_Recoil_Recovery
- function SDO:new()
- defaultSettings = {
- No_Shooting_Delay = false,
- Aggro_On_Silenced_Gunshot = false,
- Powerful_Minibosses = false,
- Disable_Enemies_On_Minimap = false,
- Implement_Break_Hold = false,
- Harder_Final_Boss_Fight = false,
- Cyber_Enemies = false,
- Immersive_Movement = false,
- Immersive_Damage_Effects = false,
- Disable_Recoil_Recovery = false,
- }
- local nativeSettings = GetMod("nativeSettings")
- if not nativeSettings then
- print("[Scissors Difficulty Options] Error: NativeSettings lib not found!")
- return
- end
- nativeSettings.addTab("/SDO", Tab_Name)
- nativeSettings.addSubcategory("/SDO/Options", Subtab_Name)
- --Enable reloading mods on exit (courtesy of keanuWheeze)
- local fromMods = false
- Observe("PauseMenuGameController", "OnMenuItemActivated", function (_, _, target)
- fromMods = target:GetData().label == "Mods"
- end)
- Observe("gameuiMenuItemListGameController", "OnMenuItemActivated", function (_, _, target)
- fromMods = target:GetData().label == "Mods"
- end)
- Observe("SettingsMainGameController", "RequestClose", function () -- Handle mod settings close
- if fromMods then
- reloadSDOMods()
- fromMods = false
- end
- end)
- --Add all the switchies
- --[[ nativeSettings.addSwitch("/SDO/Options", No_Shooting_Delay_String, No_Shooting_Delay_Description, curSettings.No_Shooting_Delay, defaultSettings.No_Shooting_Delay, function(state)
- curSettings.No_Shooting_Delay = state
- config.saveFile("Data/config.json", curSettings)
- end)
- 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)
- curSettings.Aggro_On_Silenced_Gunshot = state
- config.saveFile("Data/config.json", curSettings)
- end) ]]
- nativeSettings.addSwitch("/SDO/Options", Powerful_Minibosses_String, Powerful_Minibosses_Description, curSettings.Powerful_Minibosses, defaultSettings.Powerful_Minibosses, function(state)
- curSettings.Powerful_Minibosses = state
- config.saveFile("Data/config.json", curSettings)
- end)
- nativeSettings.addSwitch("/SDO/Options", Cyber_Enemies_String, Cyber_Enemies_Description, curSettings.Cyber_Enemies, defaultSettings.Cyber_Enemies, function(state)
- curSettings.Cyber_Enemies = state
- config.saveFile("Data/config.json", curSettings)
- end)
- 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)
- curSettings.Disable_Enemies_On_Minimap = state
- config.saveFile("Data/config.json", curSettings)
- end)
- --[[ nativeSettings.addSwitch("/SDO/Options", Implement_Break_Hold_String, Implement_Break_Hold_Description, curSettings.Implement_Break_Hold, defaultSettings.Implement_Break_Hold, function(state)
- curSettings.Implement_Break_Hold = state
- config.saveFile("Data/config.json", curSettings)
- end) ]]
- --[[ nativeSettings.addSwitch("/SDO/Options", Immersive_Movement_String, Immersive_Movement_Description, curSettings.Immersive_Movement, defaultSettings.Immersive_Movement, function(state)
- curSettings.Immersive_Movement = state
- config.saveFile("Data/config.json", curSettings)
- end) ]]
- 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)
- curSettings.Harder_Final_Boss_Fight = state
- config.saveFile("Data/config.json", curSettings)
- end)
- --[[ nativeSettings.addSwitch("/SDO/Options", Immersive_Damage_Effects_String, Immersive_Damage_Effects_Description, curSettings.Immersive_Damage_Effects, defaultSettings.Immersive_Damage_Effects, function(state)
- curSettings.Immersive_Damage_Effects = state
- config.saveFile("Data/config.json", curSettings)
- end) ]]
- --[[ nativeSettings.addSwitch("/SDO/Options", Disable_Recoil_Recovery_String, Disable_Recoil_Recovery_Description, curSettings.Disable_Recoil_Recovery, defaultSettings.Disable_Recoil_Recovery, function(state)
- curSettings.Disable_Recoil_Recovery = state
- config.saveFile("Data/config.json", curSettings)
- end) ]]
- end
- function refreshVariables()
- No_Shooting_Delay = curSettings.No_Shooting_Delay
- Aggro_On_Silenced_Gunshot = curSettings.Aggro_On_Silenced_Gunshot
- Powerful_Minibosses = curSettings.Powerful_Minibosses
- Disable_Enemies_On_Minimap = curSettings.Disable_Enemies_On_Minimap
- Implement_Break_Hold = curSettings.Implement_Break_Hold
- Harder_Final_Boss_Fight = curSettings.Harder_Final_Boss_Fight
- Cyber_Enemies = curSettings.Cyber_Enemies
- Immersive_Movement = curSettings.Immersive_Movement
- Immersive_Damage_Effects = curSettings.Immersive_Damage_Effects
- Disable_Recoil_Recovery = curSettings.Disable_Recoil_Recovery
- end
- function reloadSDOMods()
- refreshVariables()
- dofile("Modules/main.lua")
- end
- return SDO:new()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement