Daedalus Dock - Modules - TypesDefine Details

code/__DEFINES/atmospherics/atmos_core.dm

MOLESAmount of total moles in said gas mixture
ARCHIVEArchived version of MOLES
GAS_METAAll gas related variables
META_GAS_SPECIFIC_HEATGas specific heat per mole
META_GAS_NAMEName of the gas
META_GAS_MOLES_VISIBLEAmount of moles required of the gas to be visible
META_GAS_OVERLAYOverlay path of the gas, also setup the alpha based on the amount
META_GAS_DANGERLet the air alarm know if the gas is dangerous
META_GAS_IDId of the gas for quick access
META_GAS_FUSION_POWERPower of the gas when used in the current iteration of fusion
META_GAS_DESCShort description of the gas.
TCRYOkPaL/(Kmol) kPa -270.3degC -48.15degC
COLD_ROOM_TEMP0degC 20degC -14C - Temperature used for kitchen cold room, medical freezer, etc.
MINIMUM_HEAT_CAPACITYI feel the need to document what happens here. Basically this is used catch rounding errors, and make gas go away in small portions. People have raised it to higher levels in the past, do not do this. Consider this number a soft limit If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.
MINIMUM_MOLE_COUNTMinimum mole count of a gas
MOLAR_ACCURACYMolar accuracy to round to
GAS_TYPE_COUNTTypes of gases (based on gaslist_cache)
MAXIMUM_ERROR_GAS_REMOVALMaximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)
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
TOTAL_VISIBLE_STATESThe total visible states
NO_REACTIONThe gas mixture is not reacting
REACTINGThe gas mixture is reacting
STOP_REACTIONSThe gas mixture is able to stop all reactions
FUSION_INSTABILITY_ENDOTHERMALITYMaximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATUREMaximum reachable fusion temperature
EXCITED_GROUP_BREAKDOWN_CYCLESSome further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added This is because we cannot expect maps to have small spaces, so we need to even ourselves out often We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff This way large areas don't suddenly all become cold at once, it acts more like a wave
EXCITED_GROUP_DISMANTLE_CYCLESnumber of FULL air controller ticks before an excited group dismantles and removes its turfs from active
HEAT_CAPACITY_VACUUMRatio of air that must move to/from a tile to reset group processing Minimum ratio of air that must move to/from a tile Minimum amount of air that has to move before a group processing can be suspended (Round about 10) Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see or this (or both, obviously) Minimum temperature difference before group processing is suspended Minimum temperature difference before the gas temperatures are just set to be equal Minimum temperature to continue superconduction once started Minimum temperature to start doing superconduction calculations a hack for now a hack to help make vacuums "cold", sacrificing realism for gameplay
FIRE_MINIMUM_TEMPERATURE_TO_SPREADMinimum temperature for fire to move to the next turf (150 °C or 433 K)
FIRE_MINIMUM_TEMPERATURE_TO_EXISTMinimum temperature for fire to exist on a turf (100 °C or 373 K)
FIRE_SPREAD_RADIOSITY_SCALEMultiplier for the temperature shared to other turfs
FIRE_GROWTH_RATEHelper for small fires to grow
COLD_FIRE_SPREAD_RADIOSITY_SCALEMultiplier for the temperature shared to other turfs
M_CELL_WITH_RATIOmoles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so) compared against for superconductivity
O2_ANESTHETICpercentage of oxygen in a normal mixture of air same but for nitrogen O2 standard value (21%) N2 standard value (79%) liters in a cell O2 value for anesthetic canister
N2O_ANESTHETICN2O value for anesthetic canister
NORMAL_TURFNormal non-active turf
MAKE_ACTIVESet the turf to be activated on the next calculation
KILL_EXCITEDDisable excited group
ATMOS_PRESSURE_APPROXIMATION_ITERATIONSHow many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do.

Define Details

ARCHIVE

Archived version of MOLES

ATMOS_PRESSURE_APPROXIMATION_ITERATIONS

How many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do.

COLD_FIRE_SPREAD_RADIOSITY_SCALE

Multiplier for the temperature shared to other turfs

COLD_ROOM_TEMP

0degC 20degC -14C - Temperature used for kitchen cold room, medical freezer, etc.

EXCITED_GROUP_BREAKDOWN_CYCLES

Some further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added This is because we cannot expect maps to have small spaces, so we need to even ourselves out often We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff This way large areas don't suddenly all become cold at once, it acts more like a wave

Because of this and the behavior of share(), the breakdown cycles value can be tweaked directly to effect how fast we want gas to move 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_GROWTH_RATE

Helper for small fires to grow

FIRE_MINIMUM_TEMPERATURE_TO_EXIST

Minimum temperature for fire to exist on a turf (100 °C or 373 K)

FIRE_MINIMUM_TEMPERATURE_TO_SPREAD

Minimum temperature for fire to move to the next turf (150 °C or 433 K)

FIRE_SPREAD_RADIOSITY_SCALE

Multiplier for the temperature shared to other turfs

FUSION_INSTABILITY_ENDOTHERMALITY

Maximum instability before the reaction goes endothermic

FUSION_MAXIMUM_TEMPERATURE

Maximum reachable fusion temperature

GAS_META

All gas related variables

GAS_TYPE_COUNT

Types of gases (based on gaslist_cache)

HEAT_CAPACITY_VACUUM

Ratio of air that must move to/from a tile to reset group processing Minimum ratio of air that must move to/from a tile Minimum amount of air that has to move before a group processing can be suspended (Round about 10) Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see or this (or both, obviously) Minimum temperature difference before group processing is suspended Minimum temperature difference before the gas temperatures are just set to be equal Minimum temperature to continue superconduction once started Minimum temperature to start doing superconduction calculations a hack for now a hack to help make vacuums "cold", sacrificing realism for gameplay

KILL_EXCITED

Disable excited group

MAKE_ACTIVE

Set the turf to be activated on the next calculation

MAXIMUM_ERROR_GAS_REMOVAL

Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)

META_GAS_DANGER

Let the air alarm know if the gas is dangerous

META_GAS_DESC

Short description of the gas.

META_GAS_FUSION_POWER

Power of the gas when used in the current iteration of fusion

META_GAS_ID

Id of the gas for quick access

META_GAS_MOLES_VISIBLE

Amount of moles required of the gas to be visible

META_GAS_NAME

Name of the gas

META_GAS_OVERLAY

Overlay path of the gas, also setup the alpha based on the amount

META_GAS_SPECIFIC_HEAT

Gas specific heat per mole

MINIMUM_HEAT_CAPACITY

I feel the need to document what happens here. Basically this is used catch rounding errors, and make gas go away in small portions. People have raised it to higher levels in the past, do not do this. Consider this number a soft limit If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.

On an unrelated note this may cause a bug that creates negative gas, related to round(). When it has a second arg it will round up. So for instance round(0.5, 1) == 1. I've hardcoded a fix for this into share, by forcing the garbage collect. Any other attempts to fix it just killed atmos. I leave this to a greater man then I The minimum heat capacity of a gas

MINIMUM_MOLE_COUNT

Minimum mole count of a gas

MOLAR_ACCURACY

Molar accuracy to round to

MOLES

Amount of total moles in said gas mixture

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

M_CELL_WITH_RATIO

moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so) compared against for superconductivity

N2O_ANESTHETIC

N2O value for anesthetic canister

NORMAL_TURF

Normal non-active turf

NO_REACTION

The gas mixture is not reacting

O2_ANESTHETIC

percentage of oxygen in a normal mixture of air same but for nitrogen O2 standard value (21%) N2 standard value (79%) liters in a cell O2 value for anesthetic canister

REACTING

The gas mixture is reacting

STOP_REACTIONS

The gas mixture is able to stop all reactions

TCRYO

kPaL/(Kmol) kPa -270.3degC -48.15degC

TOTAL_VISIBLE_STATES

The total visible states