Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Airlock improvements, mainly external [MDB IGNORE] (#62161)
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.
- Loading branch information