-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Improve circuit selection on the large boilers by adding the ability to grab a ghost circuit from a input hatch and adds logic for other circuit tiers #3417
base: master
Are you sure you want to change the base?
Conversation
…d to have 2x and 0.5x values applied to the modifier from T3 and Bio circuits respectively.
Is there a reason you specifically only check the ghost circuit slot, and not any circuit in the input bus? While I don't expect anybody lunatic enough to try to swap the circuits on the fly, it is still somewhat unintuitive that real circuits aren't counted. The 0.5x and 2x modifiers are odd. In most cases the same result could be accomplished by simply using a circuit with half of or double the number. The only cases where this makes a difference is circuit 1 or circuits over 12. I have never used the boilers myself, so I'm not sure whether there is some other semantic that would be more useful than this. (Do you find yourself needing smaller or larger values? Or more granularity?) |
I considered checking the circuit in the slot but I didn't want to add a filter that checked all the items in a hatch and only returned if it was a circuit and since hatches have a ghost slot, it didn't make since why the player would instead put a circuit in the hatch. I am not against adding that, just a bit more extra complexity that I felt was unneeded. As for the 0.5 and 2x, yes, the idea is to have more graduality. For example, on a large boiler, you can only go down by 1000 increments. Also, in some cases, you want an optimal steam value in 25 L/t increments to match a rotor. I think there is a small issue with the .5 increments since internally the logic is EU and is an integer so you would get something like 124 L/t instead of 125 L/t but it would be a lot closer to what you needed to match the optimal steam of a rotor. This is rather important early HV as you are trying to make due with what rotors you can get a hold of pre vacumn freezer, so having the extra graduality is good. As for the 2x increments, that is for cases when you want to throttle a larger machine like the steel boiler down since normally you are limited by a max of 24000 L/t throttle, where the machine outputs 40000 L/t, so you can never fully throttle it. |
If you are going to place the method in If you want this to be a special behavior specific to the boiler (which, again, I am on the border of rejecting for consistency reasons), then you should put the method in the boiler class. For better granularity, maybe consider a method similar to what oil rigs use: add up the numbers of all the different circuits in the boiler's input slots; where a standard circuit counts for 1000, a bio circuit for 100, and a breakthrough for 10? |
yea, I agree. Most of this code I wrote about a month ago or more and had it stashed because of the feature freeze. And, no, it is not really specific behavior, just it was easier to just add it to the boiler for now. Also, I will take your suggestion for the oil rig granularity. |
@spacebuilder2020 Any updates on this? (also as a heads up, bio and breakthrough circuits are planned to be removed in #3389, so this portion of the PR will have to be reworked) |
@serenibyss It is on hold indefinitely for now. Partly because a portion will be reworked with the removal of the extra circuits and partly because I want there to be an ability to still have enough granularity to match a rotor 1:1. ex: some rotors are multiples of 25 S/t and thus you can never throttle to match them perfectly. As for the 2x feature, I think that could be solved by adding up the numbers of all the circuits in the attached hatches / machines. However, the .5 multiplier is difficult to add regardless because the machine internally operates in EU and not in steam/t sadly and thus the previous implementation was flawed since it would result in for example 624 S/t instead of 625 S/t. |
Can grab a ghost circuit from the first input hatch with a item in the ghost slot and also supports bio and breakthrough circuits, providing a 0.5x and 2x modifier to the base circuit value respectively.