mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
/var/xgm_gas_data/gas_data
|
|
|
|
/xgm_gas_data
|
|
//Simple list of all the gas IDs.
|
|
var/list/gases = list()
|
|
//The friendly, human-readable name for the gas.
|
|
var/list/name = list()
|
|
//Specific heat of the gas. Used for calculating heat capacity.
|
|
var/list/specific_heat = list()
|
|
//Molar mass of the gas. Used for calculating specific entropy.
|
|
var/list/molar_mass = list()
|
|
//Tile overlays. /images, created from references to 'icons/effects/tile_effects.dmi'
|
|
var/list/tile_overlay = list()
|
|
//Overlay limits. There must be at least this many moles for the overlay to appear.
|
|
var/list/overlay_limit = list()
|
|
//Flags.
|
|
var/list/flags = list()
|
|
|
|
/xgm_gas
|
|
var/id = ""
|
|
var/name = "Unnamed Gas"
|
|
var/specific_heat = 20 // J/(mol*K)
|
|
var/molar_mass = 0.032 // kg/mol
|
|
|
|
var/tile_overlay = null
|
|
var/overlay_limit = null
|
|
|
|
var/flags = 0
|
|
|
|
/hook/startup/proc/generateGasData()
|
|
gas_data = new
|
|
for(var/p in (typesof(/xgm_gas) - /xgm_gas))
|
|
var/xgm_gas/gas = new p
|
|
|
|
if(gas.id in gas_data.gases)
|
|
error("Duplicate gas id `[gas.id]` in `[p]`")
|
|
|
|
gas_data.gases += gas.id
|
|
gas_data.name[gas.id] = gas.name
|
|
gas_data.specific_heat[gas.id] = gas.specific_heat
|
|
gas_data.molar_mass[gas.id] = gas.molar_mass
|
|
if(gas.tile_overlay) gas_data.tile_overlay[gas.id] = image('icons/effects/tile_effects.dmi', gas.tile_overlay, FLY_LAYER)
|
|
if(gas.overlay_limit) gas_data.overlay_limit[gas.id] = gas.overlay_limit
|
|
gas_data.flags[gas.id] = gas.flags
|
|
|
|
return 1
|