-
Notifications
You must be signed in to change notification settings - Fork 589
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
base: master
Are you sure you want to change the base?
Conversation
…s open at the time
the question of balance is not really my area, but if this gets approved then we've got a couple of ways forward
|
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. |
hmm, maybe making a directional fan variant that is constructible but has thruster checks for validity would be the way to go instead. yeah, on one hand, building full cycling airlocks is a fun exercise in signals and atmos if you want, I can add a parameter to this similar to the thruster's "requiresSpace" to disable the power requirement. |
I second this, i dont think we particularly need this to change, just my opinion though, we have directional fans for this and i personally always check for this cue since right clicking a tile specifically shows it under a door |
OK, I'll rework this to make an alternative directional fan that has these checks but is player buildable. Mostly just have to strip out all the interactions with doors. |
@Alkheemist If you are planning to make directional fans constructable you absolutely cannot make it easy to do because of game balance. For example:
This makes the component marketable for people who need them. I would personally approve it if these conditions are met, and i will need a second maintainer to share their thoughts on it as well but generally this is what I think is fine |
@GreaseMonk Like I said before, balance is solidly out of my field, I'm just implementing the underlying mechanics. Someone else can then implement this component on an entity in a balanced way. As for player constructible directional fans, this component (as it was designed for doors) requires the following 2 conditions to be met:
The original idea was to integrate them into the docking airlocks themselves, but you do lose the visual cue that a door is protected from spacing. Maybe stealing a sprite overlay like from firelocks could solve this? |
I would honestly be very against making it check for space tiles. Directional fans would also be awesome for Vox boxes on mixed species crew ships. |
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
🆑