Paradise Station 13 - Modules - TypesVar Details - Proc Details

Advanced Proximity Monitor

This component functions similar to the basic version, however it has some extra features:

First of all, if the field radius is more than 1 tile, you have the option to make a distinction between inner proximity checkers, versus ones along the edge. You can specifiy which type of /obj/effect/abstract/proximity_checker objects you want to use for both inner, and edge checkers.

Secondly, the advanced proximity monitor has the ability to use processing (the process proc). This is optional however. Each proximity checker object can process itself or other things on it's turf as needed. It's up to you on how you want to use it. Inner and edge checkers can process thing seperately. You can turn off processing for field checkers and have only edge checkers process, and vice versa.

Vars

edge_checker_typeThe type of checker object that should be used for the field edges.
edge_checkersA list of proximity_checkers on the edge of the field.
field_checkersA list of proximity_checkers in the inner field. Excludes checkers on the edge of the field.
process_edge_checkersShould the edge field checkers process things on their tile?
process_field_checkersShould the main field checkers process things on their tile?
requires_processingDo any of the proximity_checker objects need to process things sitting on their tile?
uses_edge_checkersMake a distinction between edge checkers and field checkers seperately.

Procs

edge_field_canpassBase proc. Checks if AM can pass the edge field checker.
edge_field_crossedBase proc. Called when something crosses an edge field checker.
edge_field_uncrossedBase proc. Called when something uncrosses an edge field checker.
inner_field_canpassBase proc. Checks if AM can pass the inner field checker.
inner_field_crossedBase proc. Called when something crosses an inner field checker.
inner_field_uncrossedBase proc. Called when something uncrosses an inner field checker.
process_edge_checkerBase proc. All processing-related actions associated with edge proximity checkers should go here.
process_inner_checkerBase proc. All processing-related actions associated with inner proximity checkers should go here.

Var Details

edge_checker_type

The type of checker object that should be used for the field edges.

edge_checkers

A list of proximity_checkers on the edge of the field.

field_checkers

A list of proximity_checkers in the inner field. Excludes checkers on the edge of the field.

process_edge_checkers

Should the edge field checkers process things on their tile?

process_field_checkers

Should the main field checkers process things on their tile?

requires_processing

Do any of the proximity_checker objects need to process things sitting on their tile?

uses_edge_checkers

Make a distinction between edge checkers and field checkers seperately.

Proc Details

edge_field_canpass

Base proc. Checks if AM can pass the edge field checker.

Arguments:

edge_field_crossed

Base proc. Called when something crosses an edge field checker.

Arguments:

edge_field_uncrossed

Base proc. Called when something uncrosses an edge field checker.

Arguments:

inner_field_canpass

Base proc. Checks if AM can pass the inner field checker.

Arguments:

inner_field_crossed

Base proc. Called when something crosses an inner field checker.

Arguments:

inner_field_uncrossed

Base proc. Called when something uncrosses an inner field checker.

Arguments:

process_edge_checker

Base proc. All processing-related actions associated with edge proximity checkers should go here.

Arguments:

process_inner_checker

Base proc. All processing-related actions associated with inner proximity checkers should go here.

Arguments: