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
Adds fractional condensers #16654
Adds fractional condensers #16654
Conversation
@@ -94,6 +94,20 @@ Returns: | |||
I.filters += filter(type="layer", render_source = (islist(render_source_cap) ? pick(render_source_cap) : render_source_cap), transform=M2) | |||
I.transform = UNLINT(matrix().Turn(-angle).Translate((dist),0).Turn(angle)) | |||
result.lineImage = I | |||
else if(mode == LINEMODE_STRETCH_NO_CLIP) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could this be turned into a switch statement instead? a suggestion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could be. im not really fussed though as the end result wont be something like a nice, compact C# switch, it's still going to be huge
Personally, i think this should not be avaible in chemistry at round start. This is a very clear upgrade over the condenser in most applications. Chemical reactions spitting out byproducts or secondary outputs is a very intentional complication in the chemistry system and solving this via an item that is avaible at roundstart sounds like a bad idea. Especially if we want to add recipes later that create more high quality byproducts in the future. Besides that, i like the idea of it. |
counterpoint: everyone will use the one you start with for this. where it incentivises acetone/phenol to become part of a condenser chain. |
@@ -710,6 +710,7 @@ proc/ui_describe_reagents(atom/A) | |||
desc = "A set of glass tubes useful for seperating reactants from products. Can be hooked up to many types of containers." | |||
icon = 'icons/obj/chemical.dmi' | |||
icon_state = "condenser" | |||
var/fluid_prefix = "condenser" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc comment this pls
disposing() | ||
src.remove_container() | ||
. = ..() | ||
|
||
fractional | ||
max_amount_of_containers = 4 | ||
var/container_order[4] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc comment pls
UnregisterSignal(container, COMSIG_MOVABLE_MOVED) | ||
container_order[i] = FALSE | ||
|
||
add_container(var/obj/container) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs to either check for or handle two outputs being connected to the same target, currently just runtimes
99f2f13
to
4de3d02
Compare
[CHEMISTRY] [FEATURE] [WIKI]
About the PR
Adds a new kind of condenser - The fractional condenser.
Sprites by Flaborized
Instead of evenly distributing reaction outputs between connected beakers, the fractional condenser has a unique connection for each beaker, up to 4 total.
Yellow -> Red -> Green -> Blue
When a reaction occurs, the reaction results are distributed down the appropriate condenser tube:
Acetone + Phenol
Yellow -> Red
Backflow is done per-tube, so if Red is leading to a full beaker, all products going down red will backflow into the condenser.
TECHNICAL:
This adds a new line drawing method, due to a bug in filter transforms. It functionally looks the same as before but avoids an issue (discord) that causes clipping. The downside is that it doesn't work with 'source caps' due to how it scales sprites to make properly sized end-caps.
It also adds an explicit ordering to additional chemicals being added by reactions.
Why's this needed?
In the short term: People don't like the acetone/phenol split at the minute.
Long term: I think this is a good step towards incentivising larger setups. We can create reactions where expensive reagent could actually be recovered and re-used. etc.
Changelog