plant_backfire
-- Plant backfire element -- Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. If a user is protected with something like leather gloves, they can handle them normally. If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them.
Vars | |
cancel_action | Whether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN) |
---|---|
extra_genes | Any plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths. |
extra_traits | Any extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits. |
Procs | |
attack_safety_check | Checks before we attack if we're okay to continue. |
backfire | The actual backfire occurs here. Checks if the user is able to safely handle the plant. If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes). |
pickup_safety_check | Checks before we pick up the plant if we're okay to continue. |
plant_safety_check | Actually checks if our user is safely handling our plant. |
throw_safety_check | Checks before we throw the plant if we're okay to continue. |
Var Details
cancel_action
Whether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN)
extra_genes
Any plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths.
extra_traits
Any extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits.
Proc Details
attack_safety_check
Checks before we attack if we're okay to continue.
source - our plant user - the mob wielding our [source]
backfire
The actual backfire occurs here. Checks if the user is able to safely handle the plant. If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes).
Returns FALSE if the user was safe and no backfire occured. Returns TRUE if the user was not safe and a backfire actually happened.
pickup_safety_check
Checks before we pick up the plant if we're okay to continue.
source - our plant user - the mob picking our [source]
plant_safety_check
Actually checks if our user is safely handling our plant.
Checks for TRAIT_PLANT_SAFE, and returns TRUE if we have it. Then, any extra traits we need to check (Like TRAIT_PIERCEIMMUNE for nettles) and returns TRUE if we have one of them. Then, any extra genes we need to check (Like liquid contents for bluespace tomatos) and returns TRUE if we don't have the gene.
source - our plant user - the carbon handling our [source]
returns FALSE if none of the checks are successful.
throw_safety_check
Checks before we throw the plant if we're okay to continue.
source - our plant thrower - the mob throwing our [source]