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

Add a component that can make doors airtight, for player made docking ports & EVA access #2620

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

Alkheemist
Copy link
Contributor

About the PR

Added a new component & corresponding system, AdvDoorSeals. This component:

  • Checks if the door has power
  • Checks if the door is facing space (like a thruster)
  • If these two checks pass, makes the door airtight like a directional fan
  • If either of these conditions stops being true, lets air pass. Don't lose power while docked!

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

🆑

  • add: Added airtight seals that can be added to doors through admeme magic

@Alkheemist
Copy link
Contributor Author

the question of balance is not really my area, but if this gets approved then we've got a couple of ways forward

  • Letting people have airtightness at every docking (specifically docking as the direction is obvious) port is fine, add it to the docking airlock prototype
  • The luxury of having air inside your ship is only for those engineers deemed worthy (that is, they provide enough power), add a docking port variant that costs more, uses more power and has this component

@whatston3
Copy link
Contributor

The visual cue that there is a directional fan is useful, and if you want this to require power draw, okay, why not make directional fans require power? Also, docking airlocks by themselves are airtight facing south when docked as-is, no?

Don't see a great deal of value in this. If directional fans should be constructible, fair. If constructed ships should have "actual" airlocks, fair. This seems like an odd compromise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants