exit_vent 
Waits inside a vent for a randomised duration, then exits. Handles the give-up timeout.
Vars | |
| failed_ventcrawl | Set by the async action when the crawl finished but we are somehow still in the vent. |
|---|---|
| is_exiting_crawl | TRUE while the async crawl-out is running. perform() holds at DELAY until it resolves. |
Procs | |
| calculate_exit_vent | Picks a random valid vent on the same pipeline as BB_ENTRY_VENT_TARGET. Returns null if nothing is usable. |
| is_vent_valid | Returns TRUE if the vent exists and isn't welded shut. |
| perform_ventcrawl_action | Runs the sleeping ventcrawl off the tick. Flags failure if we're somehow still in the vent, so perform() never has to sleep. |
| suicide_pill | Kills the pawn if it has no client, then returns INSTANT FAILED. |
Var Details
failed_ventcrawl 
Set by the async action when the crawl finished but we are somehow still in the vent.
is_exiting_crawl 
TRUE while the async crawl-out is running. perform() holds at DELAY until it resolves.
Proc Details
calculate_exit_vent
Picks a random valid vent on the same pipeline as BB_ENTRY_VENT_TARGET. Returns null if nothing is usable.
is_vent_valid
Returns TRUE if the vent exists and isn't welded shut.
perform_ventcrawl_action
Runs the sleeping ventcrawl off the tick. Flags failure if we're somehow still in the vent, so perform() never has to sleep.
suicide_pill
Kills the pawn if it has no client, then returns INSTANT FAILED.