hazard_area
This is a relatively simple component that attempts to deter the parent of the component away from a specific area or areas. By default it simply applies a penalty where all movement is four times slower than usual and any action that would affect your 'next move' has a penalty multiplier of 4 attached.
Vars | |
area_blacklist | The blacklist of areas that the parent will be penalized for entering |
---|---|
area_created | A list of areas that have been created and are considered to not be hazardous |
area_whitelist | The whitelist of areas that the parent is allowed to be in. If set this overrides the blacklist |
last_parent_area | A variable storing the typepath of the last checked area to prevent any further logic running if it has not changed |
Procs | |
check_area_hazardous | Checks if the area being checked is considered hazardous The whitelist is checked first if it exists, otherwise it checks if it is in the blacklist |
handle_parent_area_change | This signal should be called whenever our parent moves. |
on_area_creation | This signal handler does a few house cleaning tasks when a new area is created. If the created area already exists in the blacklist or whitelist it simply returns, however if it isn't we check for an overwritten area and if non-hazardous setup the area to allow the parent. If there isnt an overwritten area it assumes it to be non-hazardous, abuse it and you will weep -ZephyrTFA |
reject_ladder_movement | This signal handler checks the area the target ladder is in and if hazardous prevents them from using it |
reject_vehicle | A simple signal handler that informs the parent they cannot ride a vehicle and ejects them |
update_parent_status_effect | This proc handles the status effect applied to the parent, most noteably applying or removing it as required |
Var Details
area_blacklist
The blacklist of areas that the parent will be penalized for entering
area_created
A list of areas that have been created and are considered to not be hazardous
area_whitelist
The whitelist of areas that the parent is allowed to be in. If set this overrides the blacklist
last_parent_area
A variable storing the typepath of the last checked area to prevent any further logic running if it has not changed
Proc Details
check_area_hazardous
Checks if the area being checked is considered hazardous The whitelist is checked first if it exists, otherwise it checks if it is in the blacklist
- checking - This should be the typepath of the area being checked, but there is a conversion handler if you pass in a reference instead
handle_parent_area_change
This signal should be called whenever our parent moves.
on_area_creation
This signal handler does a few house cleaning tasks when a new area is created. If the created area already exists in the blacklist or whitelist it simply returns, however if it isn't we check for an overwritten area and if non-hazardous setup the area to allow the parent. If there isnt an overwritten area it assumes it to be non-hazardous, abuse it and you will weep -ZephyrTFA
reject_ladder_movement
This signal handler checks the area the target ladder is in and if hazardous prevents them from using it
reject_vehicle
A simple signal handler that informs the parent they cannot ride a vehicle and ejects them
update_parent_status_effect
This proc handles the status effect applied to the parent, most noteably applying or removing it as required