Aleksei-bird 7c9c708c92 Первый фикс
Пачки некоторых позиций увеличены
2024-03-01 20:54:33 +03:00

44 lines
1.4 KiB
Lua

-- data.raw.item["solar-panel-equipment"]
-- local powers = {80, 60, 40, 30, 20, 10, 0}
-- local powers = {90, 70, 30, 10, 0} -- no 0 in factorio 0.17.44
local powers = {90, 70, 50, 30, 10, 1} -- added 50% by 1.2.5
local new_panels = {}
for panel_name, panel in pairs (data.raw["solar-panel"]) do
-- panel.fast_replaceable_group = "solar-panel" -- why I need it?
local str = panel.production
-- local a = str -- 0.2kW
-- log(string.match(a, '%S+$')) -- 0.2kW
-- log(string.match(a, '%d[%d.,]*')) -- 0.2
-- log(string.match(a, '%f[%d]%d[,.%d]*%f[%D]')) -- 0.2
local value = tonumber(string.match(str, "%d+"))
if (value == 0) then
value = tonumber(string.match(str, "%d[%d.,]*"))
end
local unit = string.match(str, "%a+")
if value > 0 then
for j, p in pairs (powers) do
local new_panel = table.deepcopy (panel)
new_panel.name = 'ssp-'..panel_name..'-'..p
new_panel.production = (value*(p/100))..unit
new_panel.order = "r-a-a"
-- new_panel.fast_replaceable_group = "solar-panel"
new_panel.fast_replaceable_group = panel.fast_replaceable_group or "solar-panel" -- added in 0.2.2
new_panel.localised_name = {'entity-name.'..panel_name}
table.insert (new_panels, new_panel)
end
else
log ('exception for solar panel ["' .. panel_name .. '"], production: ' .. str .. ' value: ' .. value .. ' unit: ' .. unit)
end
end
data:extend(new_panels)