[MIRROR] Airlock improvements, mainly external [MDB IGNORE] #1138
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.
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:
ACCESS_EXTERNAL_AIRLOCKS
. This is a non-functional change.safety_mode
var.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.proc/is_safe_turf
fromproc/find_safe_turf
.proc/open
rather thanproc/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 havespace_dir
set to the hazardous direction number.