door
Vars | |
can_open_with_hands | Whether or not the door can crush mobs. |
---|---|
elevator_mode | Special operating mode for elevator doors |
elevator_status | Current elevator status for processing |
filler | A filler object used to fill the space of multi-tile airlocks |
multi_tile | Do we need to keep track of a filler panel with the airlock |
opens_with_door_remote | Whether or not the door can be opened by hand (used for blast doors and shutters) Whether or not this door can be opened through a door remote, ever |
transport_linked_id | What specific lift ID do we link with? |
unres_sensor | Checks to see if this airlock has an unrestricted "sensor" within (will set to TRUE if present). |
unres_sides | Unrestricted sides. A bitflag for which direction (if any) can open the door with no access |
Procs | |
check_security_level | Signal handler for checking if we notify our surrounding that access requirements are lifted accordingly to a newly set security level |
close | Public proc that simply handles closing the door. Returns TRUE if the door was closed, FALSE otherwise. Use argument "forced" in conjuction with try_to_force_door_shut if you want/need additional checks depending on how sorely you need the door closed. |
get_adjusted_dir | Checks which way the airlock is facing and adjusts the direction accordingly. For use with multi-tile airlocks. |
on_magic_unlock | Signal proc for COMSIG_ATOM_MAGICALLY_UNLOCKED. Open up when someone casts knock. |
open | Public proc that simply handles opening the door. Returns TRUE if the door was opened, FALSE otherwise. Use argument "forced" in conjunction with try_to_force_door_open if you want/need additional checks depending on how sorely you need the door opened. |
set_filler | Sets the bounds of the airlock. For use with multi-tile airlocks. If the airlock is multi-tile, it will set the bounds to be the size of the airlock. If the airlock doesn't already have a filler object, it will create one. If the airlock already has a filler object, it will move it to the correct location. |
try_remove_seal | Called when attempting to remove the seal from an airlock |
try_to_crowbar_secondary | Called when the user right-clicks on the door with a crowbar. |
try_to_force_door_open | Private proc that runs a series of checks to see if we should forcibly open the door. Returns TRUE if we should open the door, FALSE otherwise. Implemented in child types. In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE). |
try_to_force_door_shut | Private proc that runs a series of checks to see if we should forcibly shut the door. Returns TRUE if we should shut the door, FALSE otherwise. Implemented in child types. In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE). |
try_to_weld_secondary | Called when the user right-clicks on the door with a welding tool. |
Var Details
can_open_with_hands
Whether or not the door can crush mobs.
elevator_mode
Special operating mode for elevator doors
elevator_status
Current elevator status for processing
filler
A filler object used to fill the space of multi-tile airlocks
multi_tile
Do we need to keep track of a filler panel with the airlock
opens_with_door_remote
Whether or not the door can be opened by hand (used for blast doors and shutters) Whether or not this door can be opened through a door remote, ever
transport_linked_id
What specific lift ID do we link with?
unres_sensor
Checks to see if this airlock has an unrestricted "sensor" within (will set to TRUE if present).
unres_sides
Unrestricted sides. A bitflag for which direction (if any) can open the door with no access
Proc Details
check_security_level
Signal handler for checking if we notify our surrounding that access requirements are lifted accordingly to a newly set security level
Arguments:
- source The datum source of the signal
- new_level The new security level that is in effect
close
Public proc that simply handles closing the door. Returns TRUE if the door was closed, FALSE otherwise. Use argument "forced" in conjuction with try_to_force_door_shut if you want/need additional checks depending on how sorely you need the door closed.
get_adjusted_dir
Checks which way the airlock is facing and adjusts the direction accordingly. For use with multi-tile airlocks.
@param dir direction to adjust @return adjusted direction
on_magic_unlock
Signal proc for COMSIG_ATOM_MAGICALLY_UNLOCKED. Open up when someone casts knock.
open
Public proc that simply handles opening the door. Returns TRUE if the door was opened, FALSE otherwise. Use argument "forced" in conjunction with try_to_force_door_open if you want/need additional checks depending on how sorely you need the door opened.
set_filler
Sets the bounds of the airlock. For use with multi-tile airlocks. If the airlock is multi-tile, it will set the bounds to be the size of the airlock. If the airlock doesn't already have a filler object, it will create one. If the airlock already has a filler object, it will move it to the correct location.
try_remove_seal
Called when attempting to remove the seal from an airlock
Here because we need to call it and return if there was a seal so we don't try to open the door or try its safety lock while it's sealed Arguments:
- user - the mob attempting to remove the seal
try_to_crowbar_secondary
Called when the user right-clicks on the door with a crowbar.
try_to_force_door_open
Private proc that runs a series of checks to see if we should forcibly open the door. Returns TRUE if we should open the door, FALSE otherwise. Implemented in child types. In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE).
try_to_force_door_shut
Private proc that runs a series of checks to see if we should forcibly shut the door. Returns TRUE if we should shut the door, FALSE otherwise. Implemented in child types. In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE).
try_to_weld_secondary
Called when the user right-clicks on the door with a welding tool.