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 |
---|---|
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. |
UNHUSK_DAMAGE_THRESHOLD | Health threshold for synthflesh and rezadone to unhusk someone |
SYNTHFLESH_UNHUSK_AMOUNT | Amount of synthflesh required to unhusk someone |
DEFAULT_REAGENT_TEMPERATURE | the default temperature at which chemicals are added to reagent holders at |
CHEMICAL_QUANTISATION_LEVEL | stops floating point errors causing issues with checking reagent amounts |
CHEMICAL_VOLUME_MINIMUM | The smallest amount of volume allowed - prevents tiny numbers |
CHEMICAL_VOLUME_ROUNDING | Round to this, to prevent extreme decimal magic and to keep reagent volumes in line with perceived values. |
CHEMICAL_NORMAL_PH | Default pH for reagents datum |
CHEMICAL_MAXIMUM_TEMPERATURE | The maximum temperature a reagent holder can attain |
REAGENT_STANDARD_PURITY | The default purity of all non reacted reagents |
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 |
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 it's 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_CLONE | This reagent does clone 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 it's 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 |
ENABLE_FLASHING | Below are defines used for reagent associated machines only For the pH meter flashing method |
Define Details
CHEMICAL_MAXIMUM_TEMPERATURE
The maximum temperature a reagent holder can attain
CHEMICAL_NORMAL_PH
Default pH for reagents datum
CHEMICAL_QUANTISATION_LEVEL
stops floating point errors causing issues with checking reagent amounts
CHEMICAL_VOLUME_MINIMUM
The smallest amount of volume allowed - prevents tiny numbers
CHEMICAL_VOLUME_ROUNDING
Round to this, to prevent extreme decimal magic and to keep reagent volumes in line with perceived values.
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)
INGEST
Used for ingesting the reagents. Food, drinks, inhaling smoke.
INJECT
Used for direct injection of reagents.
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 it's 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_CLONE
This reagent does clone effects (BOTH damaging and healing)
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 it's 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_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_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_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
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
VAPOR
Used by foams, sprays, and blob attacks.
WITHDRAWAL_STAGE1_START_CYCLE
Addiction start/ends