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 and drinks. |
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 |
INHALE | Used by smoke or inhaling from a source. Smoke and cigarettes. |
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 and drinks.
INHALE
Used by smoke or inhaling from a source. Smoke and cigarettes.
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