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

Fixes modified MA overlays potentially causing duplicate overlays #173

Merged
merged 1 commit into from
Oct 20, 2023

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Skyrat: Skyrat-SS13/Skyrat-tg#24455
Original PR: tgstation/tgstation#78719

Also optimizes the update_icon proc a little bit, especially as a round goes on, since everything is stored as an appearance (or text, gross) this allows us to only call on overlay update code if the managed overlays change.

dreamseeker_2023-10-01_18-45-55

This also fixes some sources of null overlays but it ended up being more things than I should shove into this pr if I were to fix all of them.

Should probably be testmerged for a little bit to make sure nothing weird comes from assuming everything being passed in has an appearance var.

…rlays [MDB IGNORE] (#24455)

* Fixes modified MA overlays potentially causing duplicate overlays (#78719)

Also optimizes the update_icon proc a little bit, especially as a round
goes on, since everything is stored as an appearance (or text, gross)
this allows us to only call on overlay update code if the managed
overlays change.

![dreamseeker_2023-10-01_18-45-55](https://github.com/tgstation/tgstation/assets/1234602/722a183a-dc19-4e7c-93ba-8a19cde9da5a)

This also fixes some sources of null overlays but it ended up being more
things than I should shove into this pr if I were to fix all of them.

Should probably be testmerged for a little bit to make sure nothing
weird comes from assuming everything being passed in has an appearance
var.

* Fixes modified MA overlays potentially causing duplicate overlays

---------

Co-authored-by: Emmett Gaines <[email protected]>
@Iajret Iajret merged commit 0952de8 into master Oct 20, 2023
23 checks passed
@Iajret Iajret deleted the upstream-mirror-24455 branch October 20, 2023 11:56
Iajret pushed a commit that referenced this pull request Jan 3, 2024
…ase (#173)

* Fixed atmospherics components air relocation and unsafe pressure release (#80244)

## About The Pull Request

At present

- If user deconstructs/unwrenches something from
[/obj/machinery/atmospherics/components](https://github.com/tgstation/tgstation/blob/master/code/modules/atmospherics/machinery/components/components_base.dm)
- all air inside it disappear. (only unary, binary, trinary devices).

-
[/obj/machinery/atmospherics/components/unsafe_pressure_release()](https://github.com/tgstation/tgstation/blob/f9a5502f78263690378ca01f660b1cfb2886efd1/code/modules/atmospherics/machinery/components/components_base.dm#L175)
doesn't work at all.

- HFR UI has the problem of [activation request
message](https://github.com/tgstation/tgstation/blob/f9a5502f78263690378ca01f660b1cfb2886efd1/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm#L209C3-L209C3)
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](https://github.com/tgstation/tgstation/blob/master/code/modules/atmospherics/machinery/components/components_base.dm)
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()](https://github.com/tgstation/tgstation/blob/f9a5502f78263690378ca01f660b1cfb2886efd1/code/modules/atmospherics/machinery/components/components_base.dm#L175)
will act like a normal pipe
[unsafe_pressure_release()](https://github.com/tgstation/tgstation/blob/f9a5502f78263690378ca01f660b1cfb2886efd1/code/modules/atmospherics/machinery/atmosmachinery.dm#L447C1-L447C1)
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

:cl: 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:

---------

Co-authored-by: san7890 <the@ san7890.com>

* Fixed atmospherics components air relocation and unsafe pressure release

---------

Co-authored-by: mogeoko <[email protected]>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: NovaBot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants