* Adds a flag to controllers that instructs the airlock program to always purge between IN/OUT and also to pump air to "outside" instead of tanks when purging to go OUT.
* Tweak the way the airlock fudges target pressures so it more reliably operates when trying to pump down to vacuum.
* Adds an exterior airlock sensor that reads the air pressure in *front* of it, so it can be mounted on a shuttle but measure air outside the shuttle.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
Airlock controllers now use a signal_mech_sensor() proc to send commands
to mech sensors. Docking controllers don't appear to store the mech
sensor tag anywhere so the mech sensor code was left commented out.
The undocking conditions for multidocking ports (used by the escape
shuttle) were overly strict, failing if any door was open/unlocked.
Changed to allow undocking if at least one of the inner or outer doors
can close and lock.
Docking ports still don't use filters though, as it would mess with the
docking ports that are also airlocks. Docking is infrequent though so it
should be fine.
If enabled, detects mechs/trains and blocks their movement if they are coming from any of the directions set by dir. Can currently only be enabled/disabled by radio command and airlocks are updated to utilize this.
The current setup allows mechs to move through airlocks during normal cycles, which for example lets Odysseus out to save lives.
Once a shuttle docks however, the sensors are enabled to prevent boarding.
If blocked, players receive a simple message stating that their command has been overridden.
Escape pods now no longer launch automatically during regular crew
transfers. However they can be set to launch during a regular crew
transfer by emagging the escape pod controller.
Also fixes emergency shuttle arrival announcement having the wrong ETD.
Originally the purpose of the docking override was to allow the shuttle
to move even if it couldn't undock properly (e.g. the doors were stuck
open), however it makes more sense just to have the shuttle take care of
that. This commit now makes the behaviour of the docking overrides line
up with it's new purpose.
Squashes 3 commits:
Shuttles now dock on arrival and departure
Adds docking controller to outpost, tweaks
Finishes off shuttle_console
Could use some cleanup, though.
Commented out the debug stuff.