Page 1 of 1

[2.0.77] Inconsistent behaviour when fuel_top_speed_multiplier is less than 1

Posted: Mon Jun 22, 2026 6:59 pm
by Shemp
I set up two tests where Coal is changed to have a fuel_top_speed_multiplier less than 1.0.

Code: Select all

data.raw.item["coal"].fuel_top_speed_multiplier = 0
I'll call this null fuel. This shows up in-game with a Top speed: 0%.

Code: Select all

data.raw.item["coal"].fuel_top_speed_multiplier = 0.05
I'll call this slow fuel. This shows up in-game with a Top speed: 5%.

Putting the null fuel into a Locomotive and sending it on an Automatic train path makes it unable to move, and gives me the "Train out of fuel" alert in my UI, but the train itself does not show the blinking No fuel icon unless I hover over the alert icon, which shows me where it's coming from.

I would expect to not get any alert, because the locomotive contains fuel.

Putting the slow fuel into a Locomotive and sending it on the path causes it to advance slowly with a top speed about 15 km/h (which is expected, proportional to a train's normal speed), and no alerts are emitted.

---------------------------------------

Putting either fuel into a Car does not seem to slow the car at all, and I can reach a top speed of about 93 km/h which I suspect is its usual 100% max.
Putting either fuel into a Tank is similar, and reaches a top speed of about 51 km/h.

I would expect both vehicles to have a reduced top speed in a similar manner to the Locomotive.

Neither of these CarPrototype vehicles emits a No fuel alert unless it actually runs out of fuel items.

Re: [2.0.77] Inconsistent behaviour when fuel_top_speed_multiplier is less than 1

Posted: Tue Jun 23, 2026 9:18 pm
by Rseding91
I'm conflicted here... my first instinct is to just cap the multiplier to >= 1. I have no interest in making 0 work, and no interest in going over all of the code that assumes multiplier means 'faster' and trying to figure out reasonable results for everything if it's not. But maybe one of the other developers does. Since this doesn't appear to be crashing anything right now I'm going to put this into won't-fix and if one of the other developers wants to make changes they can.

Re: [2.0.77] Inconsistent behaviour when fuel_top_speed_multiplier is less than 1

Posted: Wed Jun 24, 2026 8:54 am
by sben
the case of fuel_top_speed_multiplier < 1 also exists in unmodded factorio (see spoilage, max speed 50%)