I mean code is pretty simple, but it's a nice first mod if you want to try. It should look like something like this: two files
-- data.lua
data:extend({
{
type = "technology",
name = "solar-panel-productivity",
icons = util.technology_icon_constant_productivity("__base__/graphics/technology/solar-energy.png"),
localised_description = "Solar panel productivity",
effects = {
{
type = "nothing",
effect_description = "Increase solar productivity by +10%",
},
},
prerequisites = { "solar-energy", "space-science-pack" },
unit = {
count_formula = "2500*L",
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ "production-science-pack", 1 },
{ "utility-science-pack", 1 },
{ "space-science-pack", 1 },
},
time = 60,
},
},
})
-- control.lua
script.on_init(function()
storage.solar_power_multiplier = 1
end)
script.on_event(defines.events.on_surface_created, function(event)
game.surfaces[event.surface_index].solar_power_multiplier = storage.solar_power_multiplier
end)
script.on_event(defines.events.on_research_finished, function(event)
if event.research.name ~= "solar-panel-productivity" then
return
end
storage.solar_power_multiplier = storage.solar_power_multiplier + 0.1
for _, surface in pairs(game.surfaces) do
surface.solar_power_multiplier = storage.solar_power_multiplier
end
end)
beware it will not be compatible with Space Exploration (it has custom multipliers per-surface). But if you want to improve on that it will be a nice journey ;)