lock_portal  
| Vars | |
| destination | The knock portal we teleport to | 
|---|---|
| inverted | if true the heretic is teleported to a random airlock, nonheretics are sent to the target | 
| our_airlock | The airlock we are linked to, we delete if it is destroyed | 
| Procs | |
| async_opendoor | Asynchronous proc to unbolt, then open the passed door | 
| delete_on_door_delete | Deletes us and our destination portal if our_airlock is destroyed | 
| find_random_airlock | Returns a random airlock on the same Z level as our portal, that isnt our airlock | 
| on_entered | Signal handler for when our location is entered, calls teleport on the victim, if their old_loc didnt contain a portal already (to prevent loops) | 
| teleport | Teleports the teleportee, to a random airlock if the teleportee isnt a heretic, or the other portal if they are one | 
Var Details
destination  
The knock portal we teleport to
inverted 
if true the heretic is teleported to a random airlock, nonheretics are sent to the target
our_airlock  
The airlock we are linked to, we delete if it is destroyed
Proc Details
async_opendoor
Asynchronous proc to unbolt, then open the passed door
delete_on_door_delete
Deletes us and our destination portal if our_airlock is destroyed
find_random_airlock
Returns a random airlock on the same Z level as our portal, that isnt our airlock
on_entered
Signal handler for when our location is entered, calls teleport on the victim, if their old_loc didnt contain a portal already (to prevent loops)
teleport
Teleports the teleportee, to a random airlock if the teleportee isnt a heretic, or the other portal if they are one