/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/reagents.dm

REAGENT_HOLDER_ALIVEIf 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
TOUCHUsed for splashing.
INGESTUsed for ingesting the reagents. Food, drinks, inhaling smoke.
VAPORUsed by foams, sprays, and blob attacks.
PATCHUsed by medical patches and gels.
INJECTUsed for direct injection of reagents.
UNHUSK_DAMAGE_THRESHOLDHealth threshold for synthflesh and rezadone to unhusk someone
SYNTHFLESH_UNHUSK_AMOUNTAmount of synthflesh required to unhusk someone
DEFAULT_REAGENT_TEMPERATUREthe default temperature at which chemicals are added to reagent holders at
CHEMICAL_QUANTISATION_LEVELstops floating point errors causing issues with checking reagent amounts
CHEMICAL_VOLUME_MINIMUMThe smallest amount of volume allowed - prevents tiny numbers
CHEMICAL_VOLUME_ROUNDINGRound to this, to prevent extreme decimal magic and to keep reagent volumes in line with perceived values.
CHEMICAL_NORMAL_PHDefault pH for reagents datum
CHEMICAL_MAXIMUM_TEMPERATUREThe maximum temperature a reagent holder can attain
REAGENT_STANDARD_PURITYThe default purity of all non reacted reagents
REAGENT_DEAD_PROCESSallows on_mob_dead() if present in a dead body
REAGENT_DONOTSPLITDo not split the chem at all during processing - ignores all purity effects
REAGENT_INVISIBLEDoesn't appear on handheld health analyzers.
REAGENT_SNEAKYNAMEWhen inverted, the inverted chem uses the name of the original chem
REAGENT_SPLITRETAINVOLRetains initial volume of chem when splitting for purity effects
REAGENT_CAN_BE_SYNTHESIZEDLets a given reagent be synthesized important for random reagents and things like the odysseus syringe gun(Replaces the old can_synth variable)
REAGENT_IGNORE_STASISAllows a reagent to work on a mob regardless of stasis
REACTION_CLEAR_IMPUREConvert into impure/pure on reaction completion
REACTION_CLEAR_INVERSEConvert into inverse on reaction completion when purity is low enough
REACTION_CLEAR_RETAINClear converted chems retain their purities/inverted purities. Requires 1 or both of the above.
REACTION_INSTANTUsed to create instant reactions
REACTION_HEAT_ARBITARYUsed 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_COMPETITIVEUsed 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_CONSTANTUsed to force pH changes to be constant regardless of volume
REACTION_REAL_TIME_SPLITIf 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_OVERHEATUsed for overheat_temp - This sets the overheat so high it effectively has no overheat temperature.
END_REACTIONUsed 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_AMOUNTMinimum 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_AMOUNTNicotine requires much less in your system to be happy
WITHDRAWAL_STAGE1_START_CYCLEAddiction start/ends
REACTION_TAG_BRUTEreagent 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_BURNThis reagent does burn effects (BOTH damaging and healing)
REACTION_TAG_TOXINThis reagent does toxin effects (BOTH damaging and healing)
REACTION_TAG_OXYThis reagent does oxy effects (BOTH damaging and healing)
REACTION_TAG_CLONEThis reagent does clone effects (BOTH damaging and healing)
REACTION_TAG_HEALINGThis reagent primarily heals, or it's supposed to be used for healing (in the case of c2 - they are healing)
REACTION_TAG_DAMAGINGThis reagent primarily damages
REACTION_TAG_EXPLOSIVEThis reagent explodes as a part of it's intended effect (i.e. not overheated/impure)
REACTION_TAG_OTHERThis reagent does things that are unique and special
REACTION_TAG_DANGEROUSThis reagent's reaction is dangerous to create (i.e. explodes if you fail it)
REACTION_TAG_EASYThis reagent's reaction is easy
REACTION_TAG_MODERATEThis reagent's reaction is difficult/involved
REACTION_TAG_HARDThis reagent's reaction is hard
REACTION_TAG_ORGANThis reagent affects organs
REACTION_TAG_DRINKThis reaction creates a drink reagent
REACTION_TAG_FOODThis reaction has something to do with food
REACTION_TAG_SLIMEThis reaction is a slime reaction
REACTION_TAG_DRUGThis reaction is a drug reaction
REACTION_TAG_UNIQUEThis reaction is a unique reaction
REACTION_TAG_CHEMICALThis reaction is produces a product that affects reactions
REACTION_TAG_PLANTThis reaction is produces a product that affects plants
REACTION_TAG_COMPETITIVEThis reaction is produces a product that affects plants
ENABLE_FLASHINGBelow are defines used for reagent associated machines only For the pH meter flashing method
WATER_MATTERSTATE_CHANGE_TEMPThis is the center of a 1 degree deadband in which water will neither freeze to ice nor melt to liquid

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.

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