[MIRROR] Fixed atmospherics components air relocation and unsafe pressure release #1379
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mirrored on Skyrat: Skyrat-SS13/Skyrat-tg#25901
Original PR: tgstation/tgstation#80244
About The Pull Request
At present
If user deconstructs/unwrenches something from /obj/machinery/atmospherics/components - all air inside it disappear. (only unary, binary, trinary devices).
/obj/machinery/atmospherics/components/unsafe_pressure_release() doesn't work at all.
HFR UI has the problem of activation request message constantly repeating if the user forcefully switches off the machine (e.g. unscrewed one of the components).
Thermomachine and Bluespace sender do not connect to pipes when panel is open.
Crystallizer does not move air from node after rotation.
Now
Each /obj/machinery/atmospherics/components deconstruction will move air into connected pipeline if any, otherwise it will be released from open nodes, HFR internals or if there is portable connector that has no device connected will also release air outside. The user will also be notified of deconstruction and if pressure inside is safe for action.
The /obj/machinery/atmospherics/components/unsafe_pressure_release() will act like a normal pipe unsafe_pressure_release() if there is an empty node with air.
When HFR interface is turned off - UI will be closed.
Thermomachine and Bluespace sender will always try to connect to pipe if they are anchored.
Air inside of nodes will move to connected pipenet after the machinery is rotated.
Why It's Good For The Game
This fixes things that essentially had to exist at the same time adding new possibilities for realization. Even though these aren't critical bugs, it's still unpleasant enough to lose air.
Changelog
🆑 mogeoko
fix: Atmospherics components will now move air into connected pipeline on deconstruction if possible. Otherwise, air will be released to the outside from open nodes.
fix: Unsafe pressure release on atmos components will now work the same way it does in the normal pipes if there is an empty node with air.
fix: The HFR user interface would close when the machine is shut down.
fix: Atmospherics machinery will now share air from nodes after being rotated and reconnected to pipenet.
/:cl: