code/__DEFINES/atmospherics/atmos_core.dm
MOLES | Amount of total moles in said gas mixture |
---|---|
ARCHIVE | Archived version of MOLES |
GAS_META | All gas related variables |
META_GAS_SPECIFIC_HEAT | Gas specific heat per mole |
META_GAS_NAME | Name of the gas |
META_GAS_MOLES_VISIBLE | Amount of moles required of the gas to be visible |
META_GAS_OVERLAY | Overlay path of the gas, also setup the alpha based on the amount |
META_GAS_DANGER | Let the air alarm know if the gas is dangerous |
META_GAS_ID | Id of the gas for quick access |
META_GAS_FUSION_POWER | Power of the gas when used in the current iteration of fusion |
META_GAS_DESC | Short description of the gas. |
TCRYO | kPaL/(Kmol) kPa -270.3degC -48.15degC |
COLD_ROOM_TEMP | 0degC 20degC -14C - Temperature used for kitchen cold room, medical freezer, etc. |
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. |
MINIMUM_MOLE_COUNT | Minimum mole count of a gas |
MOLAR_ACCURACY | Molar accuracy to round to |
GAS_TYPE_COUNT | Types of gases (based on gaslist_cache) |
MAXIMUM_ERROR_GAS_REMOVAL | Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less) |
MOLES_GAS_VISIBLE | Moles in a standard cell after which gases are visible |
FACTOR_GAS_VISIBLE_MAX | moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility |
MOLES_GAS_VISIBLE_STEP | Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on |
TOTAL_VISIBLE_STATES | The total visible states |
NO_REACTION | The gas mixture is not reacting |
REACTING | The gas mixture is reacting |
STOP_REACTIONS | The gas mixture is able to stop all reactions |
FUSION_INSTABILITY_ENDOTHERMALITY | Maximum instability before the reaction goes endothermic |
FUSION_MAXIMUM_TEMPERATURE | Maximum reachable fusion temperature |
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 |
EXCITED_GROUP_DISMANTLE_CYCLES | number of FULL air controller ticks before an excited group dismantles and removes its turfs from active |
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 |
FIRE_MINIMUM_TEMPERATURE_TO_SPREAD | Minimum temperature for fire to move to the next turf (150 °C or 433 K) |
FIRE_MINIMUM_TEMPERATURE_TO_EXIST | Minimum temperature for fire to exist on a turf (100 °C or 373 K) |
FIRE_SPREAD_RADIOSITY_SCALE | Multiplier for the temperature shared to other turfs |
FIRE_GROWTH_RATE | Helper for small fires to grow |
COLD_FIRE_SPREAD_RADIOSITY_SCALE | Multiplier for the temperature shared to other turfs |
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 |
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 |
N2O_ANESTHETIC | N2O value for anesthetic canister |
NORMAL_TURF | Normal non-active turf |
MAKE_ACTIVE | Set the turf to be activated on the next calculation |
KILL_EXCITED | Disable excited group |
ATMOS_PRESSURE_APPROXIMATION_ITERATIONS | How 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