TL;DR: Solution for the issue at the bottom of this comment.
I'm the author of the Flat Infinite Research Cost (FIRC) mod, I found this discussion because the OP left the URL in his last comment of the previous discussion. I downloaded and read the code of the Productivity Technology Limit (PTL) mod and noticed that it overwrites the max level of the technologies from "infinite" to a number that is appropriate for the research. PTL does not change the cost but FIRC changes the cost only if the max level is "infinite". Therefore it is necessary that FIRC overwrites the cost first, then PTL can change the max level to a different value. For compatibility with other mods, both FIRC and PTL have to apply the change in the data-final-fixes.lua during the prototype stage.
That means it is necessary that FIRC is loaded before PTL. https://lua-api.factorio.com/latest/auxiliary/data-lifecycle.html describes the load order:
This order determines the load sequence of mods at game startup, as well as the order in which events are sent during runtime. Specifically, the depth of each mod's dependency chain is taken into account first, sorting the the shorter ones to the front of the queue. For mods with identical chain depths, the natural sort order of their internal names then determines the definitive ordering.
FIRC has zero dependencies and PTL has a hidden dependency on remove-productivity-cap. So Factorio should load FIRC first but somehow does not, maybe it has something to do with capitalization of F and p? I found a solution though, PTL has to declare FIRC as an optional dependency. IsaacOscar (the author of PTL) needs to do that but in case they need more time, Slaymeister and anyone else reading this can apply this simple bugfix that worked for me:
- Open your Factorio folder, the path depends on your operating system, you can find it for Windows, MacOS and Linux here: https://wiki.factorio.com/index.php?title=Application_directory#Locations
- Open the folder "mods", then unzip the file "productivity-technology-limit_0.0.2.zip". If it worked correctly, a new folder "productivity-technology-limit" should be created. If it worked correctly, delete the productivity-technology-limit_0.0.2.zip file so Factorio gets the mod from the new folder.
- Open info.json in the productivity-technology-limit folder, line 6 should be: "dependencies": ["(?) remove-productivity-cap"],
- Add FIRC to the dependencies, you can replace the line with a copy of everything after the colon (including the , and the "): "dependencies": ["(?) remove-productivity-cap", "(?) FlatInfiniteResearchCost"],
Then it should work.