door 
Vars | |
animation | The animation we're currently playing, if any |
---|---|
autoclose | does it automatically close after some time |
can_be_glass | If something isn't a glass door but doesn't have a fill_closed icon (no glass slots), this prevents it from being used |
can_crush | Whether or not the door can crush mobs. |
can_open_with_hands | Whether or not the door can be opened by hand (used for blast doors and shutters) |
elevator_mode | Special operating mode for elevator doors |
elevator_status | Current elevator status for processing |
emergency | Emergency access override |
filler | A filler object used to fill the space of multi-tile airlocks |
has_access_panel | Whether this door has a panel or not; FALSE also stops the examine blurb about the panel from showing up |
heat_proof | For rglass-windowed airlocks and firedoors |
locked | whether the door is bolted or not. |
multi_tile | Do we need to keep track of a filler panel with the airlock |
opens_with_door_remote | Whether or not this door can be opened through a door remote, ever |
real_explosion_block | ignore this, just use explosion_block |
red_alert_access | if TRUE, this door will always open on red alert |
safe | whether the door detects things and mobs in its way and reopen or crushes them. |
sub_door | true if it's meant to go under another door. |
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 | |
animation_effects | Override this to do misc tasks on animation start |
animation_length | Returns the delay to use for the passed in animation We'll do our cleanup once the delay runs out |
animation_segment_delay | Returns the time required to hit particular points in an animation Used to manage delays for opening/closing and such |
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. |
run_animation | Used to start a new animation Accepts the animation to start as an arg |
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
animation 
The animation we're currently playing, if any
autoclose 
does it automatically close after some time
can_be_glass 
If something isn't a glass door but doesn't have a fill_closed icon (no glass slots), this prevents it from being used
can_crush 
Whether or not the door can crush mobs.
can_open_with_hands 
Whether or not the door can be opened by hand (used for blast doors and shutters)
elevator_mode 
Special operating mode for elevator doors
elevator_status 
Current elevator status for processing
emergency 
Emergency access override
filler 
A filler object used to fill the space of multi-tile airlocks
has_access_panel 
Whether this door has a panel or not; FALSE also stops the examine blurb about the panel from showing up
heat_proof 
For rglass-windowed airlocks and firedoors
locked 
whether the door is bolted or not.
multi_tile 
Do we need to keep track of a filler panel with the airlock
opens_with_door_remote 
Whether or not this door can be opened through a door remote, ever
real_explosion_block 
ignore this, just use explosion_block
red_alert_access 
if TRUE, this door will always open on red alert
safe 
whether the door detects things and mobs in its way and reopen or crushes them.
sub_door 
true if it's meant to go under another door.
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
animation_effects
Override this to do misc tasks on animation start
animation_length
Returns the delay to use for the passed in animation We'll do our cleanup once the delay runs out
animation_segment_delay
Returns the time required to hit particular points in an animation Used to manage delays for opening/closing and such
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.
run_animation
Used to start a new animation Accepts the animation to start as an arg
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.