Add a component that can make doors airtight, for player made docking ports & EVA access #2620
+268
−33
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.
About the PR
Added a new component & corresponding system, AdvDoorSeals. This component:
Why / Balance
So that constructs and other ship extensions no longer have to choose between being pressurised and having only 1 wide docks.
Checks are in place to ensure it's not abusable by atmos. It may be abusable by ship builders as it is effectively a buildable directional fan that can be placed only at the edge of a grid and needs power, but that can be balanced by upping power draw on any entities this gets added to.
How to test
Add the component to a door (currently not added to anything in yml)
Check that it blocks airflow when powered and the tile it's facing is space (either empty or lattice)
Check that it allows airflow when not powered or a solid tile is in it's facing direction (to prevent atmos shenanigans)
Media
dotnet_27_16-10-27.mp4
Requirements
Breaking changes
Some code was pulled out of thrusters and put into shuttles, this is to make the tileupdating work by making the spaced/not spaced check an event. This also inadvertently fixes the bug where pulling up plating doesn't update thruster nozzle space exposure checks. Not sure if that counts as a breaking change, but it does touch upstream code a decent amount.
Changelog
🆑