From 1bd656e09affe78a19a6df364221e9ef53296d46 Mon Sep 17 00:00:00 2001 From: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> Date: Sun, 9 Feb 2025 17:24:18 +0000 Subject: [PATCH 1/2] Fix invalid research in base game milestones --- exp_legacy/module/config/research.lua | 4 ++-- exp_legacy/module/modules/gui/research.lua | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/exp_legacy/module/config/research.lua b/exp_legacy/module/config/research.lua index df106aa7..c2511d28 100644 --- a/exp_legacy/module/config/research.lua +++ b/exp_legacy/module/config/research.lua @@ -44,7 +44,7 @@ return { ["oil-processing"] = 300, ["sulfur-processing"] = 300, ["plastics"] = 300, - ["advanced-electronics"] = 300, + ["advanced-circuit"] = 300, ["chemical-science-pack"] = 300, ["modules"] = 300, ["logistics-2"] = 300, @@ -58,7 +58,7 @@ return { ["advanced-material-processing-2"] = 300, ["productivity-module"] = 300, ["production-science-pack"] = 300, - ["advanced-electronics-2"] = 300, + ["processing-unit"] = 300, ["advanced-oil-processing"] = 300, ["electric-engine"] = 300, ["robotics"] = 300, diff --git a/exp_legacy/module/modules/gui/research.lua b/exp_legacy/module/modules/gui/research.lua index 79aad0b9..fbce2cea 100644 --- a/exp_legacy/module/modules/gui/research.lua +++ b/exp_legacy/module/modules/gui/research.lua @@ -147,7 +147,9 @@ local function research_gui_update() local res_i = res_n + i - 3 if res["disp"][res_i] then - res_disp[i]["name"] = { "research.res-name", res["disp"][res_i]["raw_name"], prototypes.technology[res["disp"][res_i]["raw_name"]].localised_name } + local raw_name = res["disp"][res_i]["raw_name"] + local proto = assert(prototypes.technology[raw_name], "Invalid Research: " .. tostring(raw_name)) + res_disp[i]["name"] = { "research.res-name", raw_name, proto.localised_name } if research.time[res_i] == 0 then res_disp[i]["target"] = res["disp"][res_i].target_disp From a652678568dd4822f5c419354876671fd84da487 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Mon, 10 Feb 2025 02:44:23 +0900 Subject: [PATCH 2/2] Allow "see" button without vlayer/edit perm (#376) * Update vlayer.lua * Update vlayer.lua --- exp_legacy/module/modules/gui/vlayer.lua | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/exp_legacy/module/modules/gui/vlayer.lua b/exp_legacy/module/modules/gui/vlayer.lua index 559d2fd7..21d34c1f 100644 --- a/exp_legacy/module/modules/gui/vlayer.lua +++ b/exp_legacy/module/modules/gui/vlayer.lua @@ -443,6 +443,7 @@ local vlayer_gui_control_remove = Gui.element("vlayer_gui_control_remove") -- @element vlayer_control_set local vlayer_control_set = Gui.element("vlayer_control_set") :draw(function(_, parent, name) + local player = Gui.get_player(parent) local vlayer_set = parent.add{ type = "flow", direction = "vertical", name = name } local disp = Gui.elements.scroll_table(vlayer_set, 400, 2, "disp") @@ -450,8 +451,11 @@ local vlayer_control_set = Gui.element("vlayer_control_set") vlayer_gui_control_list(disp) vlayer_gui_control_refresh(disp) vlayer_gui_control_see(disp) - vlayer_gui_control_build(disp) - vlayer_gui_control_remove(disp) + local b = vlayer_gui_control_build(disp) + local r = vlayer_gui_control_remove(disp) + local v = Roles.player_allowed(player, "gui/vlayer-edit") + b.visible = v + r.visible = v return vlayer_set end) @@ -460,12 +464,10 @@ local vlayer_control_set = Gui.element("vlayer_control_set") -- @element vlayer_container vlayer_container = Gui.element("vlayer_container") :draw(function(definition, parent) - local player = Gui.get_player(parent) local container = Gui.elements.container(parent, 400) vlayer_display_set(container, "vlayer_st_1") - local control_set = vlayer_control_set(container, "vlayer_st_2") - control_set.visible = Roles.player_allowed(player, "gui/vlayer-edit") + vlayer_control_set(container, "vlayer_st_2") return container.parent end) @@ -487,8 +489,10 @@ local function role_update_event(event) local player = game.players[event.player_index] local visible = Roles.player_allowed(player, "gui/vlayer-edit") local container = Gui.get_left_element(vlayer_container, player) - container.frame["vlayer_st_2"].visible = visible -end + local disp = container.frame["vlayer_st_2"].disp.table + disp[vlayer_gui_control_build.name].visible = visible + disp[vlayer_gui_control_remove.name].visible = visible +end Event.add(Roles.events.on_role_assigned, role_update_event) Event.add(Roles.events.on_role_unassigned, role_update_event)