Skip to content
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

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

spacebuilder2020
Copy link
Contributor

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.

…d to have 2x and 0.5x values applied to the modifier from T3 and Bio circuits respectively.
@Dream-Master Dream-Master requested a review from a team October 25, 2024 12:27
@AbdielKavash
Copy link
Member

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?)

@spacebuilder2020
Copy link
Contributor Author

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.

@AbdielKavash
Copy link
Member

If you are going to place the method in MTEMultiBlockBase, then it needs to be more generic. Any multiblock seeking to use something like this should be able to call this method and get an expected result. Specifically this should also search the controller slot and contents of input buses (including ME input buses).

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?

@spacebuilder2020
Copy link
Contributor Author

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 spacebuilder2020 changed the title 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 [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 Oct 26, 2024
@spacebuilder2020 spacebuilder2020 marked this pull request as draft October 26, 2024 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants