Merge branch 'aperx' into main

This commit is contained in:
2025-01-30 16:49:14 +09:00
committed by GitHub
44 changed files with 533 additions and 604 deletions

View File

@@ -9,7 +9,9 @@ local Roles = require("modules.exp_legacy.expcore.roles") --- @dep expcore.roles
local config = require("modules.exp_legacy.config.bonus") --- @dep config.bonus
local vlayer = require("modules.exp_legacy.modules.control.vlayer")
local format_number = require("util").format_number --- @dep util
local bonus_container
local bonus_gui_control_pts_a_count
--- @param player LuaPlayer
--- @param container LuaGuiElement?
@@ -66,6 +68,14 @@ local function apply_bonus(player)
end
end
--[[
local function max_bonus_pts_update(player)
local frame = Gui.get_left_element(player, bonus_container)
local disp = frame.container["bonus_st_2"].disp.table
disp[bonus_gui_control_pts_a_count.name].caption = math.floor(config.pts.base * (1 + config.pts.increase_percentage_per_role_level * (Roles.get_player_highest_role(player).index - Roles.get_role_by_name(config.pts.role_name).index)))
end
]]
local function apply_periodic_bonus(player)
if not Roles.player_allowed(player, "gui/bonus") then
return

View File

@@ -113,7 +113,7 @@ local welcome_time_format = ExpUtil.format_time_factory_locale{ format = "long",
--- Content area for the welcome tab
define_tab({ "readme.welcome-tab" }, { "readme.welcome-tooltip" }, Gui.element("readme_welcome")
:draw(function(_, parent)
local server_details = { name = "ExpGaming S0 - Local", welcome = "Failed to load description: disconnected from external api.", reset_time = "Non Set", branch = "Unknown" }
local server_details = { name = "APERX S0 - Local", welcome = "Failed to load description: disconnected from external api.", reset_time = "Non Set", branch = "Unknown" }
if External.valid() then server_details = External.get_current_server() end
local container = parent.add{ type = "flow", direction = "vertical" }
local player = Gui.get_player(parent)
@@ -223,7 +223,7 @@ define_tab({ "readme.servers-tab" }, { "readme.servers-tooltip" }, Gui.element("
end
else
local factorio_servers = title_table(scroll_pane, 225, { "readme.servers-factorio" }, 2)
for i = 1, 8 do
for _, i in pairs{ 1, 2, 3, 5, 6, 8 } do
Gui.elements.centered_label(factorio_servers, 110, { "readme.servers-" .. i })
Gui.elements.centered_label(factorio_servers, 460, { "readme.servers-d" .. i })
end
@@ -231,7 +231,7 @@ define_tab({ "readme.servers-tab" }, { "readme.servers-tooltip" }, Gui.element("
-- Add the external links
local external_links = title_table(scroll_pane, 235, { "readme.servers-external" }, 2)
for _, key in ipairs{ "discord", "website", "patreon", "status", "github" } do
for _, key in ipairs{ "website", "github" } do
local upper_key = key:gsub("^%l", string.upper)
Gui.elements.centered_label(external_links, 110, upper_key)
Gui.elements.centered_label(external_links, 460, { "links." .. key }, { "readme.servers-open-in-browser" })
@@ -255,10 +255,10 @@ define_tab({ "readme.backers-tab" }, { "readme.backers-tooltip" }, Gui.element("
local done = {}
local groups = {
{ _roles = { "Senior Administrator", "Administrator" }, _title = { "readme.backers-management" }, _width = 230 },
{ _roles = { "Board Member", "Senior Backer" }, _title = { "readme.backers-board" }, _width = 145 }, -- change role to board
{ _roles = { "Sponsor", "Supporter" }, _title = { "readme.backers-backers" }, _width = 196 }, -- change to backer
{ _roles = { "Moderator", "Trainee" }, _title = { "readme.backers-staff" }, _width = 235 },
{ _roles = {}, _time = 3 * 3600 * 60, _title = { "readme.backers-active" }, _width = 235 },
{ _roles = { "Senior Moderator", "Moderator", "Trainee Moderator" }, _title = { "readme.backers-staff" }, _width = 230 },
{ _roles = { "Board Member", "Supporter", "Partner" }, _title = { "readme.backers-backers" }, _width = 230 }, -- change role to board
{ _roles = { "Veteran" }, _title = { "readme.backers-active" }, _width = 230 },
-- _time = 3 * 3600 * 60
}
-- Fill by player roles

View File

@@ -315,6 +315,19 @@ 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 rq = r.force.research_queue
for i = #rq, 1, -1 do
if config.limit_res[rq[i] ] and rq[i].level > config.limit_res[rq[i] ] then
r.force.cancel_current_research()
end
end
end)
]]
Event.on_nth_tick(60, function()
local current_time = research_time_format(game.tick)

View File

@@ -34,7 +34,8 @@ local server_ups = Gui.element("server_ups")
UsesServerUps:on_load(function(player_name, visible)
local player = game.players[player_name]
local label = player.gui.screen[server_ups.name]
--- @diagnostic disable-next-line undefined-field
--- @diagnostic disable-next-line undefined-field
if not External.valid() or not storage.ext.var.server_ups then visible = false end
label.visible = visible
end)

View File

@@ -83,11 +83,16 @@ local tool_gui_waterfill_b = Gui.element("tool_gui_waterfill_b")
if Selection.is_selecting(player, SelectionWaterfillArea) then
Selection.stop(player)
return player.print{ "exp-commands_waterfill.exit" }
elseif player.get_item_count("cliff-explosives") == 0 then
return player.print{ "exp-commands_waterfill.requires-explosives" }
else
Selection.start(player, SelectionWaterfillArea)
return player.print{ "exp-commands_waterfill.enter" }
local item_count_cliff = player.get_item_count("cliff-explosives")
local item_count_craft = math.min(math.floor(player.get_item_count("explosives") / 10), player.get_item_count("barrel"), player.get_item_count("grenade"))
local item_count_total = item_count_cliff + item_count_craft
if item_count_total == 0 then
return player.print{ "exp-commands_waterfill.requires-explosives" }
else
Selection.start(player, SelectionWaterfillArea)
return player.print{ "exp-commands_waterfill.enter" }
end
end
end)

View File

@@ -87,7 +87,12 @@ Selection.on_selection(SelectionConvertArea, function(event)
local entities
if config.power_on_space and event.surface and event.surface.platform and target == "energy" then
entities = event.surface.find_entities_filtered{ area = area, name = "constant-combinator", force = player.force }
if player.force.technologies[config.power_on_space_research.name].level >= config.power_on_space_research.level then
entities = event.surface.find_entities_filtered{ area = area, name = "constant-combinator", force = player.force }
else
player.print{ "vlayer.power-on-space-research", config.power_on_space_research.name, config.power_on_space_research.level }
return nil
end
else
entities = event.surface.find_entities_filtered{ area = area, name = "steel-chest", force = player.force }
end