Possible Bug with Efficiency Checker and Industrial Evolution
Hey, i currently have the following Problem:
When i want to check the Input/output of an machine from the Industrial Evolution Mod, i get the wrong numbers.
I tested multiple machines and the error affects every one i tested. Just the Mk.4 Miner is not effected.
I disabled all other mods and started a new savegame and the error persists. I use the default configuration from Industrial Evolution.
I attached a screenshot with a small production line to show the bug.
MK.4 Miner (Limestone Pure) -> MK.3 Constructor (Concrete) -> Sink
All without Power Shards.
Here the numbers from the checkers:
Left
Input: 1440
Throughput: 1200
Req. Output: 1125 (should be 225)
Right
Input: 375 (should be 75)
Throughput: 1200
Req. Output: --
Maybe someone can tell me whats going wrong.
10 Replies
It's not just IE mod, but the issue can happen with other mods that have machines derived from vanilla ones
CC @Marcio <Checkers/Copier/WallSup>
Not looking into it. It is a nightmare to fix the bad behaviour from other mods in the number of produced/consumed items
Every machine should properly report how fast a recipe takes to produce, and the numbers are derived from that. If they don't report it correctly, the checkers can't have a proper reading from them
thank you for your responses!
i try to change the numbers in the production configuration. Maybe that is the cause for this problem. In the past i used Mk++ and i had no problems with eff. checker. The only differece (from a users perspectiv) should be the adjustable production rate.
If that doesnt help, i go back to the old ways of calculating the inputs and outputs myself. It is a bit unfortunate, but nothing thats stopping me from enjoying the game
¯\_(ツ)_/¯
MK++ did in fact report the proper adjusted "recipe time", so the mod would work with that without any modification. I also saw the same with another mod, compact machines, I believe. It would also report wacky numbers, because it does not report the proper adjusted time for the selected recipe. Even the game itself shows weird numbers because of that
What I noticed is that the numbers reported by the checker are 5x highter than what you said they should be. So the function from the game code that computes how long the recipe should take, given a specific overclock, must be reporting it way faster then it realy is
IE mod, which is based on Mk++, also used to work nice with Efficiency Checker pre-1.0, but since 1.0 there's a bug that keep showing wrong values in parentheses. For ex. this machine is set to run 2x than vanilla, the correct value is 30, but as you can see, the numbers in parentheses is multiplied by the same value again, and Efficiency Checker is currently reading those value
although in IE mod we were able to fix the UI (same machine as above with our fix), but internally Efficiency Checker is still reading the wrong values, "60" in this case
Just to clarify, I'm not saying EC is wrong here, but it's a base game issue
This is how I compute the consumption/production of each item of a recipe applied in a generic "manufacturer" (base code manufacturer, not the same as the buildable with 4 solid inputs). It seems that those machines over-multiply the production rate, reducing the "speed" by the square rate of the intended production: if 2x, it reduces the time by 4x, not 2x. If 10x, by 100x. And so on. For me it looks like something internal is multiplied twice, in different variables/methods
Something that originaly is 1 and 1, becomes 2 and 2, and those are multiplied together, but haven't delved too deep into that, since those are not my mods
forgot the picture
I also encountered the same issue, thanks for the clarification.
I did some testing based on this and it seems that its only the IE manufacturing buildings that have this issue. IE Extractors (all types) and power generators (all types) work just fine and the Efficiency checker reports the correct values. (also when changing their multipliers)
Only the manufacturing buildings have their in/outputs multiplied by whatever the configured production multiplier is. Seems to me like the code gremlins were at work here 😆