Yogstation 13 - Modules - TypesDefine Details

code/__DEFINES/atmospherics.dm

R_IDEAL_GAS_EQUATIONkPaL/(Kmol)
ONE_ATMOSPHEREkPa
TCMB-270.3degC
TCRYO-48.15degC
T0C0degC
T20C20degC
MOLES_CELLSTANDARDmoles in a 2.5 m^3 cell at 101.325 Pa and 20 degC
M_CELL_WITH_RATIOcompared against for superconductivity
O2STANDARDpercentage of oxygen in a normal mixture of air
N2STANDARDsame but for nitrogen
MOLES_O2STANDARDO2 standard value (21%)
MOLES_N2STANDARDN2 standard value (79%)
CELL_VOLUMEliters in a cell
BREATH_VOLUMEliters in a normal breath
BREATH_PERCENTAGEAmount of air to take a from a tile
EXCITED_GROUP_BREAKDOWN_CYCLESnumber of FULL air controller ticks before an excited group breaks down (averages gas contents across turfs)
EXCITED_GROUP_DISMANTLE_CYCLESnumber of FULL air controller ticks before an excited group dismantles and removes its turfs from active
MINIMUM_AIR_RATIO_TO_SUSPENDRatio of air that must move to/from a tile to reset group processing
MINIMUM_AIR_RATIO_TO_MOVEMinimum ratio of air that must move to/from a tile
MINIMUM_AIR_TO_SUSPENDMinimum amount of air that has to move before a group processing can be suspended
MINIMUM_MOLES_DELTA_TO_MOVEEither this must be active
MINIMUM_TEMPERATURE_TO_MOVEor this (or both, obviously)
MINIMUM_TEMPERATURE_DELTA_TO_SUSPENDMinimum temperature difference before group processing is suspended
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDERMinimum temperature difference before the gas temperatures are just set to be equal
WINDOW_HEAT_TRANSFER_COEFFICIENTa hack for now
HEAT_CAPACITY_VACUUMa hack to help make vacuums "cold", sacrificing realism for gameplay
MOLES_GAS_VISIBLEMoles in a standard cell after which gases are visible
FACTOR_GAS_VISIBLE_MAXmoles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
MOLES_GAS_VISIBLE_STEPMole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
NO_REACTIONThe gas mixture is not reacting
REACTINGThe gas mixture is reacting
STOP_REACTIONSThe gas mixture is able to stop all reactions
FUSION_INSTABILITY_ENDOTHERMALITY_HFRMaximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATUREMaximum reachable fusion temperature
HAZARD_HIGH_PRESSUREThis determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)
WARNING_HIGH_PRESSUREThis determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)
WARNING_LOW_PRESSUREThis is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)
HAZARD_LOW_PRESSUREThis is when the black ultra-low pressure icon is displayed. (This one is set as a constant)
TEMPERATURE_DAMAGE_COEFFICIENTThis is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.
BODYTEMP_NORMALThe natural temperature for a body
BODYTEMP_AUTORECOVERY_DIVISORThis is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.
BODYTEMP_AUTORECOVERY_MINIMUMMinimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.
BODYTEMP_COLD_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.
BODYTEMP_HEAT_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.
BODYTEMP_COOLING_MAXThe maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.
BODYTEMP_HEATING_MAXThe maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.
BODYTEMP_HEAT_DAMAGE_LIMITThe limit the human body can take before it starts taking damage from heat.
BODYTEMP_COLD_DAMAGE_LIMITThe limit the human body can take before it starts taking damage from coldness.
SPACE_HELM_MIN_TEMP_PROTECTwhat min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.
SPACE_HELM_MAX_TEMP_PROTECTThermal insulation works both ways /Malkevin
SPACE_SUIT_MIN_TEMP_PROTECTwhat min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.
FIRE_SUIT_MIN_TEMP_PROTECTCold protection for firesuits
FIRE_SUIT_MAX_TEMP_PROTECTwhat max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0.
FIRE_HELM_MIN_TEMP_PROTECTCold protection for fire helmets
FIRE_HELM_MAX_TEMP_PROTECTfor fire helmet quality items (red and white hardhats)
FIRE_IMMUNITY_MAX_TEMP_PROTECTwhat max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0.
HELMET_MIN_TEMP_PROTECTFor normal helmets
HELMET_MAX_TEMP_PROTECTFor normal helmets
ARMOR_MIN_TEMP_PROTECTFor armor
ARMOR_MAX_TEMP_PROTECTFor armor
GLOVES_MIN_TEMP_PROTECTFor some gloves (black and)
GLOVES_MAX_TEMP_PROTECTFor some gloves
SHOES_MIN_TEMP_PROTECTFor gloves
SHOES_MAX_TEMP_PROTECTFor gloves
PRESSURE_DAMAGE_COEFFICIENTThe amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE
LOW_PRESSURE_DAMAGEThe amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value).
COLD_SLOWDOWN_FACTORHumans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this, bigger numbers mean faster, smaller means slower
MAX_OUTPUT_PRESSURE(kPa) What pressure pumps and powered equipment max out at.
MAX_TRANSFER_RATE(L/s) Maximum speed powered equipment can work at.
VOLUME_PUMP_LEAK_AMOUNTHow many percent of the contents that an overclocked volume pumps leak into the air
TANK_MELT_TEMPERATUREtemperature in kelvins at which a tank will start to melt
TANK_LEAK_PRESSURETank starts leaking
TANK_RUPTURE_PRESSURETank spills all contents into atmosphere
TANK_FRAGMENT_PRESSUREBoom 3x3 base explosion
TANK_FRAGMENT_SCALE+1 for each SCALE kPa aboe threshold
ATMOS_PASS_PROCask can_atmos_pass()
ATMOS_PASS_DENSITYjust check density
NORMAL_TURFNormal non-active turf
MAKE_ACTIVESet the turf to be activated on the next calculation
KILL_EXCITEDDisable excited group
TURF_TEMPERATUREUsed to define the temperature of a tile, arg is the temperature it should be at. Should always be put at the end of the atmos list. This is solely to be used after compile-time.
OPENTURF_DEFAULT_ATMOSthe default air mix that open turfs spawn
TCOMMS_ATMOS-193,15°C telecommunications. also used for xenobiology slime killrooms
AIRLESS_ATMOSspace
FROZEN_ATMOS-93.15°C snow and ice turfs
KITCHEN_COLDROOM_ATMOS-80°C kitchen coldroom; higher amount of mol to reach about 101.3 kpA
BURNMIX_ATMOSused in the holodeck burn test program
BURNING_COLD-153.15°C plasma air, used for burning people.
LAVALAND_EQUIPMENT_EFFECT_PRESSUREwhat pressure you have to be under to increase the effect of equipment meant for lavaland
PIPING_ALL_LAYERintended to connect with all layers, check for all instead of just one.
PIPING_ONE_PER_TURFcan only be built if nothing else with this flag is on the tile already.
PIPING_DEFAULT_LAYER_ONLYcan only exist at PIPING_LAYER_DEFAULT
PIPING_CARDINAL_AUTONORMALIZEnorth/south east/west doesn't matter, auto normalize on build.
VENTCRAWL_ALLOWEDAllows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception
VENTCRAWL_ENTRANCE_ALLOWEDAllows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents.
VENTCRAWL_CAN_SEEUsed to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo.
PIPING_LAYER_SHIFTMoves the icon of the device based on the piping layer and on the direction
PIPING_FORWARD_SHIFTMoves the icon of the device based on the piping layer and on the direction, the shift amount is dictated by more_shift
PIPING_LAYER_DOUBLE_SHIFTMoves the icon of the device based on the piping layer on both x and y

Define Details

AIRLESS_ATMOS

space

ARMOR_MAX_TEMP_PROTECT

For armor

ARMOR_MIN_TEMP_PROTECT

For armor

ATMOS_PASS_DENSITY

just check density

ATMOS_PASS_PROC

ask can_atmos_pass()

BODYTEMP_AUTORECOVERY_DIVISOR

This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.

BODYTEMP_AUTORECOVERY_MINIMUM

Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.

BODYTEMP_COLD_DAMAGE_LIMIT

The limit the human body can take before it starts taking damage from coldness.

BODYTEMP_COLD_DIVISOR

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.

BODYTEMP_COOLING_MAX

The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.

BODYTEMP_HEATING_MAX

The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.

BODYTEMP_HEAT_DAMAGE_LIMIT

The limit the human body can take before it starts taking damage from heat.

BODYTEMP_HEAT_DIVISOR

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.

BODYTEMP_NORMAL

The natural temperature for a body

BREATH_PERCENTAGE

Amount of air to take a from a tile

BREATH_VOLUME

liters in a normal breath

BURNING_COLD

-153.15°C plasma air, used for burning people.

BURNMIX_ATMOS

used in the holodeck burn test program

CELL_VOLUME

liters in a cell

COLD_SLOWDOWN_FACTOR

Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this, bigger numbers mean faster, smaller means slower

EXCITED_GROUP_BREAKDOWN_CYCLES

number of FULL air controller ticks before an excited group breaks down (averages gas contents across turfs)

EXCITED_GROUP_DISMANTLE_CYCLES

number of FULL air controller ticks before an excited group dismantles and removes its turfs from active

FACTOR_GAS_VISIBLE_MAX

moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility

FIRE_HELM_MAX_TEMP_PROTECT

for fire helmet quality items (red and white hardhats)

FIRE_HELM_MIN_TEMP_PROTECT

Cold protection for fire helmets

FIRE_IMMUNITY_MAX_TEMP_PROTECT

what max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0.

FIRE_SUIT_MAX_TEMP_PROTECT

what max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0.

FIRE_SUIT_MIN_TEMP_PROTECT

Cold protection for firesuits

FROZEN_ATMOS

-93.15°C snow and ice turfs

FUSION_INSTABILITY_ENDOTHERMALITY_HFR

Maximum instability before the reaction goes endothermic

FUSION_MAXIMUM_TEMPERATURE

Maximum reachable fusion temperature

GLOVES_MAX_TEMP_PROTECT

For some gloves

GLOVES_MIN_TEMP_PROTECT

For some gloves (black and)

HAZARD_HIGH_PRESSURE

This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)

HAZARD_LOW_PRESSURE

This is when the black ultra-low pressure icon is displayed. (This one is set as a constant)

HEAT_CAPACITY_VACUUM

a hack to help make vacuums "cold", sacrificing realism for gameplay

HELMET_MAX_TEMP_PROTECT

For normal helmets

HELMET_MIN_TEMP_PROTECT

For normal helmets

KILL_EXCITED

Disable excited group

KITCHEN_COLDROOM_ATMOS

-80°C kitchen coldroom; higher amount of mol to reach about 101.3 kpA

LAVALAND_EQUIPMENT_EFFECT_PRESSURE

what pressure you have to be under to increase the effect of equipment meant for lavaland

LOW_PRESSURE_DAMAGE

The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value).

MAKE_ACTIVE

Set the turf to be activated on the next calculation

MAX_OUTPUT_PRESSURE

(kPa) What pressure pumps and powered equipment max out at.

MAX_TRANSFER_RATE

(L/s) Maximum speed powered equipment can work at.

MINIMUM_AIR_RATIO_TO_MOVE

Minimum ratio of air that must move to/from a tile

MINIMUM_AIR_RATIO_TO_SUSPEND

Ratio of air that must move to/from a tile to reset group processing

MINIMUM_AIR_TO_SUSPEND

Minimum amount of air that has to move before a group processing can be suspended

MINIMUM_MOLES_DELTA_TO_MOVE

Either this must be active

MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER

Minimum temperature difference before the gas temperatures are just set to be equal

MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND

Minimum temperature difference before group processing is suspended

MINIMUM_TEMPERATURE_TO_MOVE

or this (or both, obviously)

MOLES_CELLSTANDARD

moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC

MOLES_GAS_VISIBLE

Moles in a standard cell after which gases are visible

MOLES_GAS_VISIBLE_STEP

Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on

MOLES_N2STANDARD

N2 standard value (79%)

MOLES_O2STANDARD

O2 standard value (21%)

M_CELL_WITH_RATIO

compared against for superconductivity

N2STANDARD

same but for nitrogen

NORMAL_TURF

Normal non-active turf

NO_REACTION

The gas mixture is not reacting

O2STANDARD

percentage of oxygen in a normal mixture of air

ONE_ATMOSPHERE

kPa

OPENTURF_DEFAULT_ATMOS

the default air mix that open turfs spawn

PIPING_ALL_LAYER

intended to connect with all layers, check for all instead of just one.

PIPING_CARDINAL_AUTONORMALIZE

north/south east/west doesn't matter, auto normalize on build.

PIPING_DEFAULT_LAYER_ONLY

can only exist at PIPING_LAYER_DEFAULT

PIPING_FORWARD_SHIFT

Moves the icon of the device based on the piping layer and on the direction, the shift amount is dictated by more_shift

PIPING_LAYER_DOUBLE_SHIFT

Moves the icon of the device based on the piping layer on both x and y

PIPING_LAYER_SHIFT

Moves the icon of the device based on the piping layer and on the direction

PIPING_ONE_PER_TURF

can only be built if nothing else with this flag is on the tile already.

PRESSURE_DAMAGE_COEFFICIENT

The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE

REACTING

The gas mixture is reacting

R_IDEAL_GAS_EQUATION

kPaL/(Kmol)

SHOES_MAX_TEMP_PROTECT

For gloves

SHOES_MIN_TEMP_PROTECT

For gloves

SPACE_HELM_MAX_TEMP_PROTECT

Thermal insulation works both ways /Malkevin

SPACE_HELM_MIN_TEMP_PROTECT

what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.

SPACE_SUIT_MIN_TEMP_PROTECT

what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.

STOP_REACTIONS

The gas mixture is able to stop all reactions

T0C

0degC

T20C

20degC

TANK_FRAGMENT_PRESSURE

Boom 3x3 base explosion

TANK_FRAGMENT_SCALE

+1 for each SCALE kPa aboe threshold

TANK_LEAK_PRESSURE

Tank starts leaking

TANK_MELT_TEMPERATURE

temperature in kelvins at which a tank will start to melt

TANK_RUPTURE_PRESSURE

Tank spills all contents into atmosphere

TCMB

-270.3degC

TCOMMS_ATMOS

-193,15°C telecommunications. also used for xenobiology slime killrooms

TCRYO

-48.15degC

TEMPERATURE_DAMAGE_COEFFICIENT

This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.

TURF_TEMPERATURE

Used to define the temperature of a tile, arg is the temperature it should be at. Should always be put at the end of the atmos list. This is solely to be used after compile-time.

VENTCRAWL_ALLOWED

Allows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception

VENTCRAWL_CAN_SEE

Used to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo.

VENTCRAWL_ENTRANCE_ALLOWED

Allows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents.

VOLUME_PUMP_LEAK_AMOUNT

How many percent of the contents that an overclocked volume pumps leak into the air

WARNING_HIGH_PRESSURE

This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)

WARNING_LOW_PRESSURE

This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)

WINDOW_HEAT_TRANSFER_COEFFICIENT

a hack for now