mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-31 13:01:39 +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 format_number = require("util").format_number --- @dep util
|
||||||
|
|
||||||
local bonus_container
|
local bonus_container
|
||||||
|
local bonus_score = {
|
||||||
|
["current"] = 0,
|
||||||
|
["limit"] = config.pts.base,
|
||||||
|
}
|
||||||
|
|
||||||
--- @param player LuaPlayer
|
--- @param player LuaPlayer
|
||||||
--- @param container LuaGuiElement?
|
--- @param container LuaGuiElement?
|
||||||
@@ -71,7 +75,7 @@ end
|
|||||||
local function max_bonus_pts_update(player)
|
local function max_bonus_pts_update(player)
|
||||||
local frame = Gui.get_left_element(player, bonus_container)
|
local frame = Gui.get_left_element(player, bonus_container)
|
||||||
local disp = frame.container["bonus_st_2"].disp.table
|
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
|
end
|
||||||
]]
|
]]
|
||||||
|
|
||||||
@@ -111,8 +115,8 @@ local function apply_periodic_bonus(player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
--- Control label for the bonus points available
|
--- Control label for the bonus points available
|
||||||
-- @element bonus_gui_control_pts_a
|
-- @element bonus_gui_control_pts
|
||||||
local bonus_gui_control_pts_a = Gui.element("bonus_gui_control_pts_a")
|
local bonus_gui_control_pts = Gui.element("bonus_gui_control_pts")
|
||||||
:draw{
|
:draw{
|
||||||
type = "label",
|
type = "label",
|
||||||
name = Gui.property_from_name,
|
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"],
|
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{
|
:draw{
|
||||||
type = "label",
|
type = "progressbar",
|
||||||
name = Gui.property_from_name,
|
name = Gui.property_from_name,
|
||||||
caption = config.pts.base,
|
caption = bonus_score["current"] .. " / " .. bonus_score["limit"],
|
||||||
style = "heading_2_label",
|
value = 0,
|
||||||
}:style{
|
style = "electric_satisfaction_statistics_progressbar",
|
||||||
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",
|
|
||||||
}:style{
|
}:style{
|
||||||
width = config.gui_display_width["half"],
|
width = config.gui_display_width["half"],
|
||||||
|
font = "heading-2",
|
||||||
}
|
}
|
||||||
|
|
||||||
--- A button used for pts calculations
|
--- 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)
|
disp[slider.tags.counter].caption = format_number(slider.slider_value, false)
|
||||||
|
|
||||||
local r = bonus_gui_pts_needed(player)
|
local r = bonus_gui_pts_needed(player)
|
||||||
element.parent[bonus_gui_control_pts_n_count.name].caption = r
|
disp[bonus_gui_control_pts_count.name].caption = 0 .. " / " .. bonus_score["limit"]
|
||||||
element.parent[bonus_gui_control_pts_r_count.name].caption = tonumber(element.parent[bonus_gui_control_pts_a_count.name].caption) - r
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
--- A button used for pts apply
|
--- 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)
|
}:on_click(function(def, player, element)
|
||||||
local n = bonus_gui_pts_needed(player)
|
local n = bonus_gui_pts_needed(player)
|
||||||
element.parent[bonus_gui_control_pts_n_count.name].caption = n
|
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
|
element.parent[bonus_gui_control_pts_r_count.name].caption = r
|
||||||
|
|
||||||
if r >= 0 then
|
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 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")
|
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(disp)
|
||||||
bonus_gui_control_pts_a_count(disp)
|
bonus_gui_control_pts_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_reset(disp)
|
bonus_gui_control_reset(disp)
|
||||||
bonus_gui_control_apply(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 r = bonus_gui_pts_needed(player)
|
||||||
local container = Gui.get_left_element(bonus_container, player)
|
local container = Gui.get_left_element(bonus_container, player)
|
||||||
local disp = container.frame["bonus_st_1"].disp.table
|
local disp = container.frame["bonus_st_1"].disp.table
|
||||||
disp[bonus_gui_control_pts_n_count.name].caption = r
|
disp[bonus_gui_control_pts_count.name].caption = 0 .. " / " .. config.pts.base
|
||||||
disp[bonus_gui_control_pts_r_count.name].caption = tonumber(disp[bonus_gui_control_pts_a_count.name].caption) - r
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
--- A vertical flow containing all the bonus data
|
--- 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 disp = container["bonus_st_1"].disp.table
|
||||||
local n = bonus_gui_pts_needed(player, container.parent)
|
local n = bonus_gui_pts_needed(player, container.parent)
|
||||||
disp[bonus_gui_control_pts_n_count.name].caption = n
|
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
|
disp[bonus_gui_control_pts_r_count.name].caption = r
|
||||||
|
|
||||||
return container.parent
|
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 disp = container.frame["bonus_st_1"].disp.table
|
||||||
local n = bonus_gui_pts_needed(player)
|
local n = bonus_gui_pts_needed(player)
|
||||||
disp[bonus_gui_control_pts_n_count.name].caption = n
|
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
|
disp[bonus_gui_control_pts_r_count.name].caption = r
|
||||||
|
|
||||||
if r >= 0 then
|
if r >= 0 then
|
||||||
|
|||||||
Reference in New Issue
Block a user