Module effect multipliers on applicable entities
Posted: Thu Apr 02, 2026 7:50 pm
How feasible would it be to add a 'effect multiplier' for AssemblingMachine/Furnace/RocketSilo/etc, similar to distribution efficiency on beacons? So, for example, if I put in 5 modules that increase consumption by 10%, and the building has a consumption effect multipler of x2, then the building would actually have 100% consumption instead of the 50% it would have without the modifier.
I'd like this specifically because of an interaction I've found in my own overhaul, where a module category is used to make a building work properly but can also be used in other, 'normal' machines. The prime example is with 'heating coils', which are required to have any electric furnaces work at a proper speed but should also be usable in other furnaces that dont have this requirement. (an electric furnace filled with productivity coils, which requires coils which is next to a blast furnace filled with productivity coils. The blast furnace does not require coils, but uses them as its module category.)
In this situation, the blast furnace can only get +25% productivity despite being a more advanced machine and have recipes specific to its recipe categories, that can only ever reach 25% prod. The first assumption is to just double the module slots, but this creates the problem of inflating every other stat (like speed, pollution, consumption, etc) because the modules are designed around that idea.
If this were to be added, I can think of two primary ways to show this off to the player visually: (you could also have a seperate tooltip for multipliers, but i can see that making tooltips too visually noisy
) - code wise I could just see this being a table of all 5 module effects, where each defaults to x1 and you can put whatever values you'd like:
The best way to achieve this, in the current API is to just give the building a base productivity that matches the max amount of productivity you can do via modules - this has its own issues ('power creep' being a big one, not that intiutive, very unadjustable) but is the closest thing you can get 'the same' thing 
I'd like this specifically because of an interaction I've found in my own overhaul, where a module category is used to make a building work properly but can also be used in other, 'normal' machines. The prime example is with 'heating coils', which are required to have any electric furnaces work at a proper speed but should also be usable in other furnaces that dont have this requirement. (an electric furnace filled with productivity coils, which requires coils which is next to a blast furnace filled with productivity coils. The blast furnace does not require coils, but uses them as its module category.)
In this situation, the blast furnace can only get +25% productivity despite being a more advanced machine and have recipes specific to its recipe categories, that can only ever reach 25% prod. The first assumption is to just double the module slots, but this creates the problem of inflating every other stat (like speed, pollution, consumption, etc) because the modules are designed around that idea.
If this were to be added, I can think of two primary ways to show this off to the player visually: (you could also have a seperate tooltip for multipliers, but i can see that making tooltips too visually noisy
Code: Select all
module_effect_multiplier =
{
speed = 1
consumption = 1,
pollution = 2,
productivity = 2.5,
quality = 1.5,
},