mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 11:35:22 +09:00
.
This commit is contained in:
@@ -11,6 +11,10 @@ local vlayer = require("modules.exp_legacy.modules.control.vlayer")
|
||||
local format_number = require("util").format_number --- @dep util
|
||||
|
||||
local bonus_container
|
||||
local bonus_score = {
|
||||
["current"] = 0,
|
||||
["limit"] = config.pts.base,
|
||||
}
|
||||
|
||||
--- @param player LuaPlayer
|
||||
--- @param container LuaGuiElement?
|
||||
@@ -71,7 +75,7 @@ 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)))
|
||||
disp[bonus_gui_control_pts_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
|
||||
]]
|
||||
|
||||
@@ -111,8 +115,8 @@ local function apply_periodic_bonus(player)
|
||||
end
|
||||
|
||||
--- Control label for the bonus points available
|
||||
-- @element bonus_gui_control_pts_a
|
||||
local bonus_gui_control_pts_a = Gui.element("bonus_gui_control_pts_a")
|
||||
-- @element bonus_gui_control_pts
|
||||
local bonus_gui_control_pts = Gui.element("bonus_gui_control_pts")
|
||||
:draw{
|
||||
type = "label",
|
||||
name = Gui.property_from_name,
|
||||
@@ -122,58 +126,16 @@ local bonus_gui_control_pts_a = Gui.element("bonus_gui_control_pts_a")
|
||||
width = config.gui_display_width["half"],
|
||||
}
|
||||
|
||||
local bonus_gui_control_pts_a_count = Gui.element("bonus_gui_control_pts_a_count")
|
||||
local bonus_gui_control_pts_count = Gui.element("vlayer_gui_display_item_solar_count")
|
||||
:draw{
|
||||
type = "label",
|
||||
type = "progressbar",
|
||||
name = Gui.property_from_name,
|
||||
caption = config.pts.base,
|
||||
style = "heading_2_label",
|
||||
}:style{
|
||||
width = config.gui_display_width["half"],
|
||||
}
|
||||
|
||||
--- Control label for the bonus points needed
|
||||
-- @element bonus_gui_control_pts_n
|
||||
local bonus_gui_control_pts_n = Gui.element("bonus_gui_control_pts_n")
|
||||
:draw{
|
||||
type = "label",
|
||||
name = Gui.property_from_name,
|
||||
caption = { "bonus.control-pts-n" },
|
||||
style = "heading_2_label",
|
||||
}:style{
|
||||
width = config.gui_display_width["half"],
|
||||
}
|
||||
|
||||
local bonus_gui_control_pts_n_count = Gui.element("bonus_gui_control_pts_n_count")
|
||||
:draw{
|
||||
type = "label",
|
||||
name = Gui.property_from_name,
|
||||
caption = "0",
|
||||
style = "heading_2_label",
|
||||
}:style{
|
||||
width = config.gui_display_width["half"],
|
||||
}
|
||||
|
||||
--- Control label for the bonus points remaining
|
||||
-- @element bonus_gui_control_pts_r
|
||||
local bonus_gui_control_pts_r = Gui.element("bonus_gui_control_pts_r")
|
||||
:draw{
|
||||
type = "label",
|
||||
name = Gui.property_from_name,
|
||||
caption = { "bonus.control-pts-r" },
|
||||
style = "heading_2_label",
|
||||
}:style{
|
||||
width = config.gui_display_width["half"],
|
||||
}
|
||||
|
||||
local bonus_gui_control_pts_r_count = Gui.element("bonus_gui_control_pts_r_count")
|
||||
:draw{
|
||||
type = "label",
|
||||
name = Gui.property_from_name,
|
||||
caption = "0",
|
||||
style = "heading_2_label",
|
||||
caption = bonus_score["current"] .. " / " .. bonus_score["limit"],
|
||||
value = 0,
|
||||
style = "electric_satisfaction_statistics_progressbar",
|
||||
}:style{
|
||||
width = config.gui_display_width["half"],
|
||||
font = "heading-2",
|
||||
}
|
||||
|
||||
--- A button used for pts calculations
|
||||
@@ -205,8 +167,7 @@ local bonus_gui_control_reset = Gui.element("bonus_gui_control_reset")
|
||||
disp[slider.tags.counter].caption = format_number(slider.slider_value, false)
|
||||
|
||||
local r = bonus_gui_pts_needed(player)
|
||||
element.parent[bonus_gui_control_pts_n_count.name].caption = r
|
||||
element.parent[bonus_gui_control_pts_r_count.name].caption = tonumber(element.parent[bonus_gui_control_pts_a_count.name].caption) - r
|
||||
disp[bonus_gui_control_pts_count.name].caption = 0 .. " / " .. bonus_score["limit"]
|
||||
end)
|
||||
|
||||
--- A button used for pts apply
|
||||
@@ -221,7 +182,7 @@ local bonus_gui_control_apply = Gui.element("bonus_gui_control_apply")
|
||||
}:on_click(function(def, player, element)
|
||||
local n = bonus_gui_pts_needed(player)
|
||||
element.parent[bonus_gui_control_pts_n_count.name].caption = n
|
||||
local r = tonumber(element.parent[bonus_gui_control_pts_a_count.name].caption) - n
|
||||
local r = tonumber(element.parent[bonus_gui_control_pts_count.name].caption) - n
|
||||
element.parent[bonus_gui_control_pts_r_count.name].caption = r
|
||||
|
||||
if r >= 0 then
|
||||
@@ -236,15 +197,8 @@ local bonus_control_set = Gui.element("bonus_control_set")
|
||||
local bonus_set = parent.add{ type = "flow", direction = "vertical", name = name }
|
||||
local disp = Gui.elements.scroll_table(bonus_set, config.gui_display_width["half"] * 2, 2, "disp")
|
||||
|
||||
bonus_gui_control_pts_a(disp)
|
||||
bonus_gui_control_pts_a_count(disp)
|
||||
|
||||
bonus_gui_control_pts_n(disp)
|
||||
bonus_gui_control_pts_n_count(disp)
|
||||
|
||||
bonus_gui_control_pts_r(disp)
|
||||
bonus_gui_control_pts_r_count(disp)
|
||||
|
||||
bonus_gui_control_pts(disp)
|
||||
bonus_gui_control_pts_count(disp)
|
||||
bonus_gui_control_reset(disp)
|
||||
bonus_gui_control_apply(disp)
|
||||
|
||||
@@ -307,8 +261,7 @@ local bonus_gui_slider = Gui.element("bonus_gui_slider")
|
||||
local r = bonus_gui_pts_needed(player)
|
||||
local container = Gui.get_left_element(bonus_container, player)
|
||||
local disp = container.frame["bonus_st_1"].disp.table
|
||||
disp[bonus_gui_control_pts_n_count.name].caption = r
|
||||
disp[bonus_gui_control_pts_r_count.name].caption = tonumber(disp[bonus_gui_control_pts_a_count.name].caption) - r
|
||||
disp[bonus_gui_control_pts_count.name].caption = 0 .. " / " .. config.pts.base
|
||||
end)
|
||||
|
||||
--- A vertical flow containing all the bonus data
|
||||
@@ -341,7 +294,7 @@ bonus_container = Gui.element("bonus_container")
|
||||
local disp = container["bonus_st_1"].disp.table
|
||||
local n = bonus_gui_pts_needed(player, container.parent)
|
||||
disp[bonus_gui_control_pts_n_count.name].caption = n
|
||||
local r = tonumber(disp[bonus_gui_control_pts_a_count.name].caption) - n
|
||||
local r = tonumber(disp[bonus_gui_control_pts_count.name].caption) - n
|
||||
disp[bonus_gui_control_pts_r_count.name].caption = r
|
||||
|
||||
return container.parent
|
||||
@@ -388,7 +341,7 @@ Event.add(defines.events.on_player_respawned, function(event)
|
||||
local disp = container.frame["bonus_st_1"].disp.table
|
||||
local n = bonus_gui_pts_needed(player)
|
||||
disp[bonus_gui_control_pts_n_count.name].caption = n
|
||||
local r = tonumber(disp[bonus_gui_control_pts_a_count.name].caption) - n
|
||||
local r = tonumber(disp[bonus_gui_control_pts_count.name].caption) - n
|
||||
disp[bonus_gui_control_pts_r_count.name].caption = r
|
||||
|
||||
if r >= 0 then
|
||||
|
||||
Reference in New Issue
Block a user