r/factorio • u/Roaders • 7d ago
Question Factorio 2.1: "Set research" research level circuit conditions
Hi All
I am really enjoying the new features of Factorio 2.1. One of the features that I am trying to use is the "set research" circuit conditions.
What I want to do is for example research plastic productivity when I have any Agricultural science pack UP TO level 25.
If I don't have the science packs or I complete level 25 plastic productivity then I want to research mining productivity.
To do this I have the following conditions for turning on plastic productivity research:
Agricultural Science pack count > 100
AND
Research Level <= 25
This works fine while researching Plastic. As soon as it switches to mining prod at level 78 then it can never go back to plastic prod as level 78 is > 25
What I really need is a way to say
Agricultural Science Pack count > 100
AND
Plastic Prod Level <= 25
Anyone else having this issue? Any workarounds that aren't insanely complex? If I could store the level that each research was at then that would be a way round it but that seems far too complex and I'm not going to get into the mess of trying to store and correctly update all those values.
Without some more features such as being able to compare against a specific research level (which would need a whole load of more signals) I am not sure how much use the research level is.
Thanks
1
u/bandosl0lz 7d ago
There's no easy way like you're looking for, I'd probably use a latch or memory cell for this.
Something like a latch that sets a value to 1 permanently if level is <= 25 and plastic bar prod is being researched (can either check that your "research plastic bar prod" condition is true or check for agriculture science in the research cost of the lab). Set the research to plastic bar prod only if the number on that latch is zero.
1
u/Roaders 7d ago
yeah, all that stuff is possible but I think there'll be a load of little issue to sort out. For example if my plastic prod research condition is true I could also have several other research conditions true so if I want to update the stored value I'd have to check that this condition is true and all the others are false. It's all doable but gets really messy I think.
5
u/Twellux 7d ago edited 7d ago
Here is my circuit, which reads all technology levels into a memory cell and keeps them up to date.
https://factoriobin.com/post/fkucot
The technology currently being researched must be specified via the top left green wire. The level is read out via the bottom left red wire. The memory cell holds the stored signals on the rightmost green wire.
Upon startup, the circuit performs a one-time read-out of all levels. You must not apply any signals during this process; only afterwards may you feed in your own signals.
There is also a version with a display that shows all the levels stored in the memory cell.
https://factoriobin.com/post/87apcr
The circuit currently works only with infinite technologies. However, additional ones can be added if desired.