reagent 
A single reagent
Vars | |
addiction_types | Assoc list with key type of addiction this reagent feeds, and value amount of addiction points added per unit of reagent metabolzied (which means * REAGENTS_METABOLISM every life()) |
---|---|
burning_temperature | Thermodynamic vars How hot this reagent burns when it's on fire - null means it can't burn |
burning_volume | How much is consumed when it is burnt per second |
chemical_flags | See fermi_readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_INVISIBLE, REAGENT_SNEAKYNAME, REAGENT_SPLITRETAINVOL, REAGENT_CANSYNTH, REAGENT_IMPURE |
codex_mechanics | Text to insert into the "mechanics" section of the codex. |
color | color it looks in containers etc |
current_cycle | increments everytime on_mob_life is called |
data | Special data associated with the reagent that will be passed on upon transfer to a new holder. |
description | nor do they have descriptions |
fallback_icon_state | fallback icon if the reagent has no glass or shot glass icon state. Used for restaurants. |
glass_desc | desc applied to glasses with this reagent |
glass_icon | Icon for the... glass. |
glass_icon_state | Otherwise just sets the icon to a normal glass with the mixture of the reagents in the glass. |
glass_name | use for specialty drinks. |
glass_price | The amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!) |
harmful | is it bad for you? Currently only used for borghypo. C2s and Toxins have it TRUE by default. |
holder | reagent holder this belongs to |
ingest_met | How fast the reagent metabolizes when ingested. NOTE: Due to how reagents are coded, if you have an on_metabolize() for blood, this MUST be greater than metabolization_rate. |
mass | The molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary. |
material | Are we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New() |
metabolization_rate | how fast the reagent is metabolized by the mob |
metabolizing | is it currently metabolizing |
name | datums don't have names by default |
overdose_threshold | above this overdoses happen |
overdosed | You fucked up and this is now triggering its overdose effects, purge that shit quick. |
penetrates_skin | The set of exposure methods this penetrates skin with. |
reagent_state | LIQUID, SOLID, GAS |
reagent_weight | affects how far it travels when sprayed |
self_consuming | if false stops metab in liverless mobs |
shot_glass_icon_state | used for shot glasses, mostly for alcohol |
show_in_codex | Does this reagent and its recipe appear in the Codex? |
specific_heat | J/(K*mol) |
taste_description | used by taste messages |
taste_mult | how this taste compares to others. Higher values means it is more noticable |
touch_met | How fast the reagent metabolizes on touch |
value | Cargo value per unit |
volume | pretend this is moles |
Procs | |
affect_ingest | Ingestion process. Call parent after your override's body, as holder can go null as a result of trans_id_to. |
affect_touch | Touch process. Don't get covered in acid, now! |
burn | Called whenever a reagent is on fire, or is in a holder that is on fire. (WIP) |
expose_atom | Applies this reagent to an /atom |
expose_mob | Applies this reagent to a /mob/living |
expose_obj | Applies this reagent to an /obj |
expose_turf | Applies this reagent to a /turf |
get_taste_description | Should return a associative list where keys are taste descriptions and values are strength ratios |
infuse_plant | Called by the Plantmaster to infuse a plant. Returns an amount to damage the plant. Args: |
on_hydroponics_apply | New, standardized method for chemicals to affect hydroponics trays. Defined on a per-chem level as opposed to by the tray. Can affect plant's health, stats, or cause the plant to react in certain ways. |
on_merge | Called when two reagents of the same are mixing. |
on_mob_add | Called when this reagent is first added to a mob |
on_mob_delete | Called when this reagent is removed while inside a mob |
on_mob_end_metabolize | Called when this reagent stops being metabolized by a liver |
on_mob_life | Called from /datum/reagents/proc/metabolize |
on_mob_metabolize | Called when this reagent first starts being metabolized. Does NOT get called during microdoses, such as when going from stomach to blood. |
on_new | Called after add_reagents creates a new reagent. |
on_transfer | Called after a reagent is transfered |
overdose_end | Called when an overdose ends |
overdose_process | Called if the reagent has passed the overdose threshold and is set to be triggering overdose effects |
overdose_start | Called when an overdose starts |
purge_others | Removes OTHER reagents from the given holder. |
Var Details
addiction_types 
Assoc list with key type of addiction this reagent feeds, and value amount of addiction points added per unit of reagent metabolzied (which means * REAGENTS_METABOLISM every life())
burning_temperature 
Thermodynamic vars How hot this reagent burns when it's on fire - null means it can't burn
burning_volume 
How much is consumed when it is burnt per second
chemical_flags 
See fermi_readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_INVISIBLE, REAGENT_SNEAKYNAME, REAGENT_SPLITRETAINVOL, REAGENT_CANSYNTH, REAGENT_IMPURE
codex_mechanics 
Text to insert into the "mechanics" section of the codex.
color 
color it looks in containers etc
current_cycle 
increments everytime on_mob_life is called
data 
Special data associated with the reagent that will be passed on upon transfer to a new holder.
description 
nor do they have descriptions
fallback_icon_state 
fallback icon if the reagent has no glass or shot glass icon state. Used for restaurants.
glass_desc 
desc applied to glasses with this reagent
glass_icon 
Icon for the... glass.
glass_icon_state 
Otherwise just sets the icon to a normal glass with the mixture of the reagents in the glass.
glass_name 
use for specialty drinks.
glass_price 
The amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!)
harmful 
is it bad for you? Currently only used for borghypo. C2s and Toxins have it TRUE by default.
holder 
reagent holder this belongs to
ingest_met 
How fast the reagent metabolizes when ingested. NOTE: Due to how reagents are coded, if you have an on_metabolize() for blood, this MUST be greater than metabolization_rate.
mass 
The molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary.
material 
Are we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New()
metabolization_rate 
how fast the reagent is metabolized by the mob
metabolizing 
is it currently metabolizing
name 
datums don't have names by default
overdose_threshold 
above this overdoses happen
overdosed 
You fucked up and this is now triggering its overdose effects, purge that shit quick.
penetrates_skin 
The set of exposure methods this penetrates skin with.
reagent_state 
LIQUID, SOLID, GAS
reagent_weight 
affects how far it travels when sprayed
self_consuming 
if false stops metab in liverless mobs
shot_glass_icon_state 
used for shot glasses, mostly for alcohol
show_in_codex 
Does this reagent and its recipe appear in the Codex?
specific_heat 
J/(K*mol)
taste_description 
used by taste messages
taste_mult 
how this taste compares to others. Higher values means it is more noticable
touch_met 
How fast the reagent metabolizes on touch
value 
Cargo value per unit
volume 
pretend this is moles
Proc Details
affect_ingest
Ingestion process. Call parent after your override's body, as holder can go null as a result of trans_id_to.
affect_touch
Touch process. Don't get covered in acid, now!
burn
Called whenever a reagent is on fire, or is in a holder that is on fire. (WIP)
expose_atom
Applies this reagent to an /atom
expose_mob
Applies this reagent to a /mob/living
expose_obj
Applies this reagent to an /obj
expose_turf
Applies this reagent to a /turf
get_taste_description
Should return a associative list where keys are taste descriptions and values are strength ratios
infuse_plant
Called by the Plantmaster to infuse a plant. Returns an amount to damage the plant. Args:
- plant_datum: The plant being infused.
- plant_dna: The plant's gene holder.
- damage_ref: Lists are references abuse. Add a number to the list to deal damage to the seed.
on_hydroponics_apply
New, standardized method for chemicals to affect hydroponics trays. Defined on a per-chem level as opposed to by the tray. Can affect plant's health, stats, or cause the plant to react in certain ways.
on_merge
Called when two reagents of the same are mixing.
on_mob_add
Called when this reagent is first added to a mob
on_mob_delete
Called when this reagent is removed while inside a mob
on_mob_end_metabolize
Called when this reagent stops being metabolized by a liver
on_mob_life
Called from /datum/reagents/proc/metabolize
on_mob_metabolize
Called when this reagent first starts being metabolized. Does NOT get called during microdoses, such as when going from stomach to blood.
on_new
Called after add_reagents creates a new reagent.
on_transfer
Called after a reagent is transfered
overdose_end
Called when an overdose ends
overdose_process
Called if the reagent has passed the overdose threshold and is set to be triggering overdose effects
overdose_start
Called when an overdose starts
purge_others
Removes OTHER reagents from the given holder.