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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIRROR] Airlock improvements, mainly external [MDB IGNORE] #1138

Merged
merged 2 commits into from
Oct 19, 2021

Conversation

ms-mirror-bot
Copy link
Collaborator

Original PR: tgstation/tgstation#62161

About The Pull Request

Improvements to cycle-linking operation, minuscule map fixes, default cleanups, public external airlocks (arrivals, escape, pods) now respond to the presence of shuttles, and airlocks closing when shuttles depart now crush mobs. See changelog for details.

!(Demo Vid Won't Embed)

Why It's Good For The Game

You're in space, unauthorized personnel should not be allowed to instantly jump ship, especially if doing so could vent parts of the station. At the same time, we allow self reentry in "man-overboard" scenarios. The aim is to reduce the potential for accidents without reducing crew safety as well as increase the significance of these exterior airlocks. Also makes antags think a bit as they can't simply yeet themselves into space super easily as a braindead getaway tactic.

Changelog

馃啈
fix: Prying open one of a pair of cycle-linked airlocks will now always close the other (if it is powered).
expansion: Arrivals, escape, and pod airlocks now restrict those without access from exiting directly to space. Use is unrestricted when entering the station or a shuttle is docked.
tweak: Shuttle departures will now force exterior airlocks closed on both the shuttle and docking bay. The lives of your fellow crew members are more important than your tardiness and limbs, employee!
fix: Fixed the numbering of escape pods in certain maps.
/:cl:

  • External airlocks now have a base req_access of ACCESS_EXTERNAL_AIRLOCKS. This is a non-functional change.
  • Removed airlock's safety_mode var.
  • Added external airlock's space_dir var. Indicates the direction anyone can enter from, but only those with access can exit to (unless the other side is considered "safe" (breathable, dense, or shuttle docked)). Cyclelinked airlocks share this value.
  • Created proc/is_safe_turf from proc/find_safe_turf.
  • Cycle-link operations now happen in proc/open rather than proc/bumpopen which was causing several triggers to be missed (AI activation, prying, etc...).
  • proc/try_to_activate_door now takes an argument allowing for a bypass of access requirements.

Downstreams, to port this to your maps, check every public access external airlock has the safety_mode var override removed and the outermost airlock should have space_dir set to the hazardous direction number.

@Koshenko Koshenko added the Mirror PR mirrored from upstream label Oct 18, 2021
@Koshenko
Copy link
Collaborator

remirror

Cyberboss and others added 2 commits October 19, 2021 05:20
You're in space, unauthorized personnel should not be allowed to instantly jump ship, especially if doing so could vent parts of the station. At the same time, we allow self reentry in "man-overboard" scenarios. The aim is to reduce the potential for accidents without reducing crew safety as well as increase the significance of these exterior airlocks. Also makes antags think a bit as they can't simply yeet themselves into space super easily as a braindead getaway tactic.

External airlocks now have a base req_access of ACCESS_EXTERNAL_AIRLOCKS. This is a non-functional change.
Removed airlock's safety_mode var.
Added external airlock's space_dir var. Indicates the direction anyone can enter from, but only those with access can exit to (unless the other side is considered "safe" (breathable, dense, or shuttle docked)). Cyclelinked airlocks share this value.
Created proc/is_safe_turf from proc/find_safe_turf.
Cycle-link operations now happen in proc/open rather than proc/bumpopen which was causing several triggers to be missed (AI activation, prying, etc...).
proc/try_to_activate_door now takes an argument allowing for a bypass of access requirements.
Downstreams, to port this to your maps, check every public access external airlock has the safety_mode var override removed and the outermost airlock should have space_dir set to the hazardous direction number.
@Koshenko Koshenko merged commit 0626f76 into master Oct 19, 2021
@Koshenko Koshenko deleted the upstream-merge-62161 branch October 19, 2021 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mirror PR mirrored from upstream
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants