door
Vars | |
animation | The animation we're currently playing, if any |
---|---|
autoclose | does it automatically close after some time |
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_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.