space-wizards / space-station-14

A multiplayer game about paranoia and chaos on a space station. Remake of the cult-classic Space Station 13.
https://spacestation14.io
MIT License
2.57k stars 3.18k forks source link

Chemmaster doesn't handle temperature correctly #29299

Open osjarw opened 2 months ago

osjarw commented 2 months ago

Description

Ever tried mass producing diphenhydramine? if so, then you most likely have experienced the curious case of seeing oil turning to ash the moment you move oil from chemmaster to a beaker that you used to produce the last batch of diphenhydramine.

Basically chemmaster doesn't do any temperature handling. When it moves stuff from buffer to a beaker, the beaker temperature doesn't change.

Reproduction put some liquid in chemmaster heat 1u of something in a beaker, to 1000k for example move lots of stuff from chemmaster to beaker regardless of how much stuff you moved to the beaker, it still remains at 1000k

Additional context The chemmaster basically behaves as a massive jug, with a single solution container, and uses it to store all chems. Since temperature is tied to the containers and not the solutions, the chems have to share the same container temperature.

Most likely temperature handling was just an afterthought, and left unimplemented.

Possible solutions

  1. Magically make the chemmaster output chems always at room temperature, lorewise we can just say that it has some cooling system in it.

  2. Use the single solutioncontainer to track heat, essentially mixing together the temperatures just like how beakers do. there most likely won't be any problems with this method, unless someone fills the chemmaster with superheated liquids. Pyra perhaps. We should probably allow the users to somehow see the temperature.

  3. Make the chemmaster use multiple solution containers, lorewise it can just use a bunch of jugs or something. I think that this solution makes the most sense in terms of how the device would work in reality.

~~I think I'll implement solution 2 soon, just so we can get rid of this bug. Later on I can attempt 3, from what I can tell it isn't that hard to implement.~~

thebadman4662 commented 2 months ago

As vet chemist gonna call this one a featue(certainly not biased :trollface:).

After hotplate and microwave nerfs a lot of medicine would become hellish for newbie/okayish chemists and I would not be surprised if 2 hour shift would still not be enough to make what medbay needs. They are already taking their sweet time reading guidebook and making sure their notes are in order, waiting and staring at Pyr premix is going to make them ssd when they get tired of fighting over who gets to use hotplate with other chemists.

Vets would probably just make lavabeakers but dilluted instead via buffer chems so greener chemists would need strong heating option or some way to store thermals more easily and "inject" them when needed perhaps?

If your problem making Dip specifically, you can use basic premix and pour it into jugs except for last batch, this one you cook and then pour ready Dip into premix which creates hot Dip which can be poured again and again... Then there is option to avoid microwave/hotplate heat and using reductive reaction of sulfuric acid or acetone and mixing that instead.

Of course there is always option of reductive water+potassium bucketmixing but then I bet someone will want to stop chemists blowing up chemlab being the correct way to do chemistry when time is of essence, which it always is in medbay.