From 30f9e325500d23db0478c06127f52f1708c9dd49 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 21 Jan 2025 19:05:14 +0900 Subject: [PATCH] . --- exp_legacy/module/config/nukeprotect.lua | 4 ---- exp_legacy/module/config/research.lua | 9 +++++++++ exp_legacy/module/modules/addons/nukeprotect.lua | 9 --------- exp_legacy/module/modules/gui/research.lua | 9 +++++++++ 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/exp_legacy/module/config/nukeprotect.lua b/exp_legacy/module/config/nukeprotect.lua index 65af3830..f80b6a7a 100644 --- a/exp_legacy/module/config/nukeprotect.lua +++ b/exp_legacy/module/config/nukeprotect.lua @@ -27,8 +27,4 @@ return { }, ignore_permisison = "bypass-nukeprotect", -- @setting ignore_permisison The permission that nukeprotect will ignore ignore_admins = true, -- @setting ignore_admins Ignore admins, true by default. Allows usage outside of the roles module - disable_nuke_research = false, -- @setting disable_nuke_research Disable the nuke research, true by default - disable_nuke_research_names = { - ["atomic-bomb"] = true, - }, -- @setting disable_nuke_research_names The names of the researches to disabled } diff --git a/exp_legacy/module/config/research.lua b/exp_legacy/module/config/research.lua index df106aa7..c2c705d7 100644 --- a/exp_legacy/module/config/research.lua +++ b/exp_legacy/module/config/research.lua @@ -159,4 +159,13 @@ return { ["follower-robot-count-5"] = 5, } }, + -- prevent research up to a certain level + limit_res = { + -- Artillery Range + ["artillery-shell-range-1"] = 7, + -- Artillery Speed + ["artillery-shell-speed-1"] = 7, + -- Atomic Bomb + -- ["atomic-bomb"] = 1 + }, } diff --git a/exp_legacy/module/modules/addons/nukeprotect.lua b/exp_legacy/module/modules/addons/nukeprotect.lua index e474de28..59238290 100644 --- a/exp_legacy/module/modules/addons/nukeprotect.lua +++ b/exp_legacy/module/modules/addons/nukeprotect.lua @@ -43,12 +43,3 @@ for _, inventory in ipairs(config.inventories) do end) end end - -if config.disable_nuke_research then - Event.add(defines.events.on_research_started, function(event) - local name = event.research.name - if config.disable_nuke_research_names[name] then - event.research.force.cancel_current_research() - end - end) -end diff --git a/exp_legacy/module/modules/gui/research.lua b/exp_legacy/module/modules/gui/research.lua index 3325581a..06865eb9 100644 --- a/exp_legacy/module/modules/gui/research.lua +++ b/exp_legacy/module/modules/gui/research.lua @@ -309,6 +309,15 @@ Event.add(defines.events.on_research_finished, function(event) end end) +Event.add(defines.events.on_research_started, function(event) + local r = event.research + local res_name = config.limit_res[r.name] + + if res_name and r.level > res_name then + table.remove(r.force.research_queue) + end +end) + Event.on_nth_tick(60, function() local current_time = research_time_format(game.tick)