disease 
Vars | |
| agent | The agent that causes the disease, for example "virus", "bacteria", "parasite", "curse" |
|---|---|
| chemical_offsets | Number of cycles we've benefited from chemical or other non-resting symptom protection |
| cure_chance | The probability of this infection being cured every second the cure is present |
| cure_text | A string describing how the disease can be cured, for example "Toxin remover", "Antibiotics", "Rest and hydration", "Prayers to the gods" |
| cycles_to_beat | How many cycles do we need to have been active after hitting our max stage to start rolling back? |
| desc | The description of what the disease is and does |
| form | What type of disease this is |
| incubation_time | How long this infection incubates (non-visible) before revealing itself |
| infectivity | The probability of spreading through the air every second |
| name | The name of the disease (this one's kind of important) |
| peaked_cycles | How many cycles has the virus been at its peak? |
| required_organ | If the disease requires an organ for the effects to function, robotic organs are immune to disease unless inorganic biology symptom is present |
| spread_text | A string describing how the disease spreads, for example "Airborne", "Blood", "Skin contact", "Magic" (Keep this strictly for how it spreads BETWEEN hosts, NOT how it affected the initial host. Use agent var for that) |
| stage_peaked | Has the virus hit its limit? |
| stage_prob | The probability of this infection advancing a stage every second the cure is not present. |
| symptom_offsets | Number of cycles we've prevented symptoms from appearing |
Procs | |
| admin_details | Returns a string for admin logging uses, should describe the disease in detail |
| airborne_spread | Handles performing a spread-via-air |
| has_required_infectious_organ | Checks if the mob has the required organ and it's not robotic or affected by inorganic biology |
| is_viable_mobtype | Checks the given typepath against the list of viable mobtypes. |
| on_breath | Handles spreading via air when our mob breathes |
| register_disease_signals | Register any relevant signals for the disease |
| stage_act | Proc to process the disease and decide on whether to advance, cure or make the symptoms appear. Returns a boolean on whether to continue acting on the symptoms or not. |
| unregister_disease_signals | Unregister any relevant signals for the disease |
| update_spread_flags | Updates the spread flags set, ensuring signals are updated as necessary |
Var Details
agent 
The agent that causes the disease, for example "virus", "bacteria", "parasite", "curse"
chemical_offsets 
Number of cycles we've benefited from chemical or other non-resting symptom protection
cure_chance 
The probability of this infection being cured every second the cure is present
cure_text 
A string describing how the disease can be cured, for example "Toxin remover", "Antibiotics", "Rest and hydration", "Prayers to the gods"
cycles_to_beat 
How many cycles do we need to have been active after hitting our max stage to start rolling back?
desc 
The description of what the disease is and does
form 
What type of disease this is
incubation_time 
How long this infection incubates (non-visible) before revealing itself
infectivity 
The probability of spreading through the air every second
name 
The name of the disease (this one's kind of important)
peaked_cycles 
How many cycles has the virus been at its peak?
required_organ 
If the disease requires an organ for the effects to function, robotic organs are immune to disease unless inorganic biology symptom is present
spread_text 
A string describing how the disease spreads, for example "Airborne", "Blood", "Skin contact", "Magic" (Keep this strictly for how it spreads BETWEEN hosts, NOT how it affected the initial host. Use agent var for that)
stage_peaked 
Has the virus hit its limit?
stage_prob 
The probability of this infection advancing a stage every second the cure is not present.
symptom_offsets 
Number of cycles we've prevented symptoms from appearing
Proc Details
admin_details
Returns a string for admin logging uses, should describe the disease in detail
airborne_spread
Handles performing a spread-via-air
Checks for stuff like "is our mouth covered" for you
- spread_range - How far the disease can spread
- force_spread - If TRUE, the disease will spread regardless of the spread_flags
- require_facing - If TRUE, the disease will only spread if the source mob is facing the target mob
has_required_infectious_organ
Checks if the mob has the required organ and it's not robotic or affected by inorganic biology
is_viable_mobtype
Checks the given typepath against the list of viable mobtypes.
Returns TRUE if the mob_type path is derived from of any entry in the viable_mobtypes list. Returns FALSE otherwise.
Arguments:
- mob_type - Type path to check against the viable_mobtypes list.
on_breath
Handles spreading via air when our mob breathes
register_disease_signals
Register any relevant signals for the disease
stage_act
Proc to process the disease and decide on whether to advance, cure or make the symptoms appear. Returns a boolean on whether to continue acting on the symptoms or not.
unregister_disease_signals
Unregister any relevant signals for the disease
update_spread_flags
Updates the spread flags set, ensuring signals are updated as necessary