code/__DEFINES/reagents.dm 
REAGENT_HOLDER_ALIVE | If the holder is "alive" (i.e. mobs and organs) - If this flag is applied to a holder it will cause reagents to split upon addition to the object |
---|---|
SEALED_CONTAINER | If the holder a sealed container - Used if you don't want reagent contents boiling out (plasma, specifically, in which case it only bursts out when at ignition temperatures) |
TOUCH | Used for splashing. |
INGEST | Used for ingesting the reagents. Food, drinks, inhaling smoke. |
VAPOR | Used by foams, sprays, and blob attacks. |
PATCH | Used by medical patches and gels. |
INJECT | Used for direct injection of reagents. |
LINEAR | Exclusive to just plumbing. if set we use the round robin technique else we use proportional |
UPDATE_MOB_HEALTH | When returned by on_mob_life(), on_mob_dead(), overdose_start() or overdose_processed(), will cause the mob to updatehealth() afterwards |
UNHUSK_DAMAGE_THRESHOLD | Health threshold for synthflesh and rezadone to unhusk someone |
SYNTHFLESH_UNHUSK_AMOUNT | Amount of synthflesh required to unhusk someone |
CHEMICAL_QUANTISATION_LEVEL | The minimum volume of reagents than can be operated on. |
CHEMICAL_VOLUME_ROUNDING | Sanity check limit to clamp chems to sane amounts and prevent rounding errors during transfer. |
CHEMICAL_NORMAL_PH | Default pH for reagents datum |
CHEMICAL_MIN_PH | Minimum pH attainable by a solution |
CHEMICAL_MAX_PH | Maximum pH attainable by a solution |
BUFFER_IONIZING_STRENGTH | Ionizing strength of strong acidic/basic buffer (volume/holder.total_volume)*strength. So for 1u added to 50u the ph will change by 0.4 |
CHEMICAL_MAXIMUM_TEMPERATURE | The maximum temperature a reagent holder can attain |
REAGENT_STANDARD_PURITY | The default purity of all non reacted reagents |
CONSUMABLE_STANDARD_PURITY | Starting purity of consumable reagents |
BIOGEN_REAGENT_PURITY | Starting purity of reagents made in biogenerator |
DEFAULT_REAGENT_TEMPERATURE | the default temperature at which chemicals are added to reagent holders at |
REAGENT_DEAD_PROCESS | allows on_mob_dead() if present in a dead body |
REAGENT_DONOTSPLIT | Do not split the chem at all during processing - ignores all purity effects |
REAGENT_INVISIBLE | Doesn't appear on handheld health analyzers. |
REAGENT_SNEAKYNAME | When inverted, the inverted chem uses the name of the original chem |
REAGENT_SPLITRETAINVOL | Retains initial volume of chem when splitting for purity effects |
REAGENT_CAN_BE_SYNTHESIZED | Lets a given reagent be synthesized important for random reagents and things like the odysseus syringe gun(Replaces the old can_synth variable) |
REAGENT_IGNORE_STASIS | Allows a reagent to work on a mob regardless of stasis |
REAGENT_NO_RANDOM_RECIPE | This reagent won't be used in most randomized recipes. Meant for reagents that could be synthetized but are normally inaccessible or TOO hard to get. |
REAGENT_CLEANS | Does this reagent clean things? |
REAGENT_AFFECTS_WOUNDS | Does this reagent affect wounds? Used to check if some procs should be ran. |
REAGENT_REVERSE_METABOLISM | If present, when metabolizing out of a mob, we divide by the mob's metabolism rather than multiply. Without this flag: Higher metabolism means the reagent exits the system faster. With this flag: Higher metabolism means the reagent exits the system slower. |
REAGENT_UNAFFECTED_BY_METABOLISM | If present, this reagent will not be affected by the mob's metabolism at all, meaning it exits at a fixed rate for all mobs. Supercedes REAGENT_REVERSE_METABOLISM. |
REACTION_CLEAR_IMPURE | Convert into impure/pure on reaction completion |
REACTION_CLEAR_INVERSE | Convert into inverse on reaction completion when purity is low enough |
REACTION_CLEAR_RETAIN | Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above. |
REACTION_INSTANT | Used to create instant reactions |
REACTION_HEAT_ARBITARY | Used to force reactions to create a specific amount of heat per 1u created. So if thermic_constant = 5, for 1u of reagent produced, the heat will be forced up arbitarily by 5 irresepective of other reagents. If you use this, keep in mind standard thermic_constant values are 100x what it should be with this enabled. |
REACTION_COMPETITIVE | Used to bypass the chem_master transfer block (This is needed for competitive reactions unless you have an end state programmed). More stuff might be added later. When defining this, please add in the comments the associated reactions that it competes with |
REACTION_PH_VOL_CONSTANT | Used to force pH changes to be constant regardless of volume |
REACTION_REAL_TIME_SPLIT | If a reaction will generate its impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion |
NO_OVERHEAT | Used for overheat_temp - This sets the overheat so high it effectively has no overheat temperature. |
END_REACTION | Used to force an equlibrium to end a reaction in reaction_step() (i.e. in a reaction_step() proc return END_REACTION to end it) |
MIN_ADDICTION_REAGENT_AMOUNT | Minimum requirement for addiction buzz to be met. Addiction code only checks this once every two seconds, so this should generally be low |
MIN_NICOTINE_ADDICTION_REAGENT_AMOUNT | Nicotine requires much less in your system to be happy |
WITHDRAWAL_STAGE1_START_CYCLE | Addiction start/ends |
REACTION_TAG_BRUTE | reagent tags - used to look up reagents for specific effects. Feel free to add to but comment it This reagent does brute effects (BOTH damaging and healing) |
REACTION_TAG_BURN | This reagent does burn effects (BOTH damaging and healing) |
REACTION_TAG_TOXIN | This reagent does toxin effects (BOTH damaging and healing) |
REACTION_TAG_OXY | This reagent does oxy effects (BOTH damaging and healing) |
REACTION_TAG_HEALING | This reagent primarily heals, or it's supposed to be used for healing (in the case of c2 - they are healing) |
REACTION_TAG_DAMAGING | This reagent primarily damages |
REACTION_TAG_EXPLOSIVE | This reagent explodes as a part of its intended effect (i.e. not overheated/impure) |
REACTION_TAG_OTHER | This reagent does things that are unique and special |
REACTION_TAG_DANGEROUS | This reagent's reaction is dangerous to create (i.e. explodes if you fail it) |
REACTION_TAG_EASY | This reagent's reaction is easy |
REACTION_TAG_MODERATE | This reagent's reaction is difficult/involved |
REACTION_TAG_HARD | This reagent's reaction is hard |
REACTION_TAG_ORGAN | This reagent affects organs |
REACTION_TAG_DRINK | This reaction creates a drink reagent |
REACTION_TAG_FOOD | This reaction has something to do with food |
REACTION_TAG_SLIME | This reaction is a slime reaction |
REACTION_TAG_DRUG | This reaction is a drug reaction |
REACTION_TAG_UNIQUE | This reaction is a unique reaction |
REACTION_TAG_CHEMICAL | This reaction is produces a product that affects reactions |
REACTION_TAG_PLANT | This reaction is produces a product that affects plants |
REACTION_TAG_COMPETITIVE | This reaction is produces a product that affects plants |
REAGENT_STRICT_TYPE | Direct type |
REAGENT_PARENT_TYPE | Parent type but not sub types for e.g. if param is obj/item it will look for obj/item/stack but not obj/item/stack/sheet |
REAGENT_SUB_TYPE | same as istype() check |
ENABLE_FLASHING | Below are defines used for reagent associated machines only For the pH meter flashing method |
ALCOHOL_RATE | The rate at which alcohol affects the drinker |
WATER_MATTERSTATE_CHANGE_TEMP | This is the center of a 1 degree deadband in which water will neither freeze to ice nor melt to liquid |
GRENADE_EMPTY | Grenade is empty |
GRENADE_WIRED | Grenade has a activation trigger |
GRENADE_READY | Grenade is ready to be finished |
Define Details
ALCOHOL_RATE 
The rate at which alcohol affects the drinker
BIOGEN_REAGENT_PURITY 
Starting purity of reagents made in biogenerator
BUFFER_IONIZING_STRENGTH 
Ionizing strength of strong acidic/basic buffer (volume/holder.total_volume)*strength. So for 1u added to 50u the ph will change by 0.4
CHEMICAL_MAXIMUM_TEMPERATURE 
The maximum temperature a reagent holder can attain
CHEMICAL_MAX_PH 
Maximum pH attainable by a solution
CHEMICAL_MIN_PH 
Minimum pH attainable by a solution
CHEMICAL_NORMAL_PH 
Default pH for reagents datum
CHEMICAL_QUANTISATION_LEVEL 
The minimum volume of reagents than can be operated on.
CHEMICAL_VOLUME_ROUNDING 
Sanity check limit to clamp chems to sane amounts and prevent rounding errors during transfer.
CONSUMABLE_STANDARD_PURITY 
Starting purity of consumable reagents
DEFAULT_REAGENT_TEMPERATURE 
the default temperature at which chemicals are added to reagent holders at
ENABLE_FLASHING 
Below are defines used for reagent associated machines only For the pH meter flashing method
END_REACTION 
Used to force an equlibrium to end a reaction in reaction_step() (i.e. in a reaction_step() proc return END_REACTION to end it)
GRENADE_EMPTY 
Grenade is empty
GRENADE_READY 
Grenade is ready to be finished
GRENADE_WIRED 
Grenade has a activation trigger
INGEST 
Used for ingesting the reagents. Food, drinks, inhaling smoke.
INJECT 
Used for direct injection of reagents.
LINEAR 
Exclusive to just plumbing. if set we use the round robin technique else we use proportional
MIN_ADDICTION_REAGENT_AMOUNT 
Minimum requirement for addiction buzz to be met. Addiction code only checks this once every two seconds, so this should generally be low
MIN_NICOTINE_ADDICTION_REAGENT_AMOUNT 
Nicotine requires much less in your system to be happy
NO_OVERHEAT 
Used for overheat_temp - This sets the overheat so high it effectively has no overheat temperature.
PATCH 
Used by medical patches and gels.
REACTION_CLEAR_IMPURE 
Convert into impure/pure on reaction completion
REACTION_CLEAR_INVERSE 
Convert into inverse on reaction completion when purity is low enough
REACTION_CLEAR_RETAIN 
Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above.
REACTION_COMPETITIVE 
Used to bypass the chem_master transfer block (This is needed for competitive reactions unless you have an end state programmed). More stuff might be added later. When defining this, please add in the comments the associated reactions that it competes with
REACTION_HEAT_ARBITARY 
Used to force reactions to create a specific amount of heat per 1u created. So if thermic_constant = 5, for 1u of reagent produced, the heat will be forced up arbitarily by 5 irresepective of other reagents. If you use this, keep in mind standard thermic_constant values are 100x what it should be with this enabled.
REACTION_INSTANT 
Used to create instant reactions
REACTION_PH_VOL_CONSTANT 
Used to force pH changes to be constant regardless of volume
REACTION_REAL_TIME_SPLIT 
If a reaction will generate its impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion
REACTION_TAG_BRUTE 
reagent tags - used to look up reagents for specific effects. Feel free to add to but comment it This reagent does brute effects (BOTH damaging and healing)
REACTION_TAG_BURN 
This reagent does burn effects (BOTH damaging and healing)
REACTION_TAG_CHEMICAL 
This reaction is produces a product that affects reactions
REACTION_TAG_COMPETITIVE 
This reaction is produces a product that affects plants
REACTION_TAG_DAMAGING 
This reagent primarily damages
REACTION_TAG_DANGEROUS 
This reagent's reaction is dangerous to create (i.e. explodes if you fail it)
REACTION_TAG_DRINK 
This reaction creates a drink reagent
REACTION_TAG_DRUG 
This reaction is a drug reaction
REACTION_TAG_EASY 
This reagent's reaction is easy
REACTION_TAG_EXPLOSIVE 
This reagent explodes as a part of its intended effect (i.e. not overheated/impure)
REACTION_TAG_FOOD 
This reaction has something to do with food
REACTION_TAG_HARD 
This reagent's reaction is hard
REACTION_TAG_HEALING 
This reagent primarily heals, or it's supposed to be used for healing (in the case of c2 - they are healing)
REACTION_TAG_MODERATE 
This reagent's reaction is difficult/involved
REACTION_TAG_ORGAN 
This reagent affects organs
REACTION_TAG_OTHER 
This reagent does things that are unique and special
REACTION_TAG_OXY 
This reagent does oxy effects (BOTH damaging and healing)
REACTION_TAG_PLANT 
This reaction is produces a product that affects plants
REACTION_TAG_SLIME 
This reaction is a slime reaction
REACTION_TAG_TOXIN 
This reagent does toxin effects (BOTH damaging and healing)
REACTION_TAG_UNIQUE 
This reaction is a unique reaction
REAGENT_AFFECTS_WOUNDS 
Does this reagent affect wounds? Used to check if some procs should be ran.
REAGENT_CAN_BE_SYNTHESIZED 
Lets a given reagent be synthesized important for random reagents and things like the odysseus syringe gun(Replaces the old can_synth variable)
REAGENT_CLEANS 
Does this reagent clean things?
REAGENT_DEAD_PROCESS 
allows on_mob_dead() if present in a dead body
REAGENT_DONOTSPLIT 
Do not split the chem at all during processing - ignores all purity effects
REAGENT_HOLDER_ALIVE 
If the holder is "alive" (i.e. mobs and organs) - If this flag is applied to a holder it will cause reagents to split upon addition to the object
REAGENT_IGNORE_STASIS 
Allows a reagent to work on a mob regardless of stasis
REAGENT_INVISIBLE 
Doesn't appear on handheld health analyzers.
REAGENT_NO_RANDOM_RECIPE 
This reagent won't be used in most randomized recipes. Meant for reagents that could be synthetized but are normally inaccessible or TOO hard to get.
REAGENT_PARENT_TYPE 
Parent type but not sub types for e.g. if param is obj/item it will look for obj/item/stack but not obj/item/stack/sheet
REAGENT_REVERSE_METABOLISM 
If present, when metabolizing out of a mob, we divide by the mob's metabolism rather than multiply. Without this flag: Higher metabolism means the reagent exits the system faster. With this flag: Higher metabolism means the reagent exits the system slower.
REAGENT_SNEAKYNAME 
When inverted, the inverted chem uses the name of the original chem
REAGENT_SPLITRETAINVOL 
Retains initial volume of chem when splitting for purity effects
REAGENT_STANDARD_PURITY 
The default purity of all non reacted reagents
REAGENT_STRICT_TYPE 
Direct type
REAGENT_SUB_TYPE 
same as istype() check
REAGENT_UNAFFECTED_BY_METABOLISM 
If present, this reagent will not be affected by the mob's metabolism at all, meaning it exits at a fixed rate for all mobs. Supercedes REAGENT_REVERSE_METABOLISM.
SEALED_CONTAINER 
If the holder a sealed container - Used if you don't want reagent contents boiling out (plasma, specifically, in which case it only bursts out when at ignition temperatures)
SYNTHFLESH_UNHUSK_AMOUNT 
Amount of synthflesh required to unhusk someone
TOUCH 
Used for splashing.
UNHUSK_DAMAGE_THRESHOLD 
Health threshold for synthflesh and rezadone to unhusk someone
UPDATE_MOB_HEALTH 
When returned by on_mob_life(), on_mob_dead(), overdose_start() or overdose_processed(), will cause the mob to updatehealth() afterwards
VAPOR 
Used by foams, sprays, and blob attacks.
WATER_MATTERSTATE_CHANGE_TEMP 
This is the center of a 1 degree deadband in which water will neither freeze to ice nor melt to liquid
WITHDRAWAL_STAGE1_START_CYCLE 
Addiction start/ends