Page 1 of 1

[2.0.15] Technologies with a CraftFluidTechnologyTrigger calculate fluids incorrectly when research queue is empty

Posted: Fri Nov 08, 2024 1:46 pm
by tiriscef
The mod Progressive Productivity adds a lot of technologies with CraftFluidTechnologyTriggers. While the Research Queue contains at least one technology, this works as intended.

When the research queue is empty, technologies with really high, implausible crafting triggers get unlocked instantly. (Screenshot 1)
The production statistics claim a really high number (922P/m) of Science that are produced. (Screenshot 2)

While producing the 2 Screenshots I even found a game freeze related to this:

1. Load the appended map.
2. Open the Research Window.
3. Remove the Technology in queue.
4. Close the Research Window.
5. While the game enables a lot of technologies (so during the next ~5-10 seconds): Click on the Research Button thingy in the top right corner.
-> The Game freezes. (Screenshot 3)

Re: [2.0.15] Technologies with a CraftFluidTechnologyTrigger calculate fluids incorrectly when research queue is empty

Posted: Fri Nov 08, 2024 2:16 pm
by tiriscef
I noticed my attached map is a bit bad for reporting, because it didn't contain the Progressive Productivity mod and it had a mod not in the mod portal. So I produced a better save for the freeze reproduction.

Sometimes the freeze doesn't happen on the first click on the Research button thingy. I haven't found out what's actually triggering it.

Re: [2.0.15] Technologies with a CraftFluidTechnologyTrigger calculate fluids incorrectly when research queue is empty

Posted: Fri Jan 17, 2025 4:10 pm
by Rseding91
Hello, can you tell the the steps required to reproduce the issue with the save file in the latest version?

Re: [2.0.15] Technologies with a CraftFluidTechnologyTrigger calculate fluids incorrectly when research queue is empty

Posted: Fri Jan 17, 2025 4:28 pm
by Rseding91
I figured out the issue. The mod is queuing technologies with research triggers which isn't supposed to be allowed and it's dividing by zero which eventually ends up in some convert "inf" to string which doesn't expect inf.

Trigger based technologies don't ever need to be queued and will automatically get progressed as the related trigger event happens.