gas_mixture
Vars | |
gas_list_view_only | Never ever set this variable, hooked into vv_get_var for view variables viewing. |
---|---|
Procs | |
__auxtools_parse_gas_string | Returns: true. Parses gas strings like "o2=2500;plasma=5000;TEMP=370" and turns src mixes into the parsed gas mixture, invalid patterns will be ignored |
__gasmixture_register | Fills in the first unused slot in the gas mixtures vector, or adds another one, then sets the argument ByondValue to point to it. |
__gasmixture_unregister | Adds the gas mixture's ID to the queue of mixtures that have been deleted, to be reused later. This version is only if auxcleanup is not being used; it should be called from /datum/gas_mixture/Del. |
__remove | Args: (mixture, amount). Takes the given amount of gas from src and puts it into the argument mixture. Amount is amount of substance in moles. |
__remove_by_flag | Args: (mixture, flag, amount). Takes amount from src that have the given flag and puts them into the given mixture . Returns: 0 if gas didn't have any with that flag, 1 if it did. |
__remove_ratio | Args: (mixture, ratio). Takes the given ratio of gas from src and puts it into the argument mixture. Ratio is a number between 0 and 1. |
add | Args: (amount). Adds the given amount to each gas. |
adjust_heat | Args: (heat). Adds a given amount of heat to the mixture, i.e. in joules taking into account capacity. |
adjust_moles | Args: (gas_id, moles). Adjusts the given gas's amount by the given amount, e.g. (GAS_O2, -0.1) will remove 0.1 moles of oxygen from the mixture. |
adjust_moles_temp | Args: (gas_id, moles, temp). Adjusts the given gas's amount by the given amount, with that gas being treated as if it is at the given temperature. |
adjust_multi | Args: (gas_id_1, amount_1, gas_id_2, amount_2, ...). As adjust_moles, but with variadic arguments. |
clear | Clears the gas mixture my removing all of its gases. |
compare | Returns: true if the two mixtures are different enough for processing, false otherwise. |
copy_from | Arg: (mixture). Makes src into a copy of the argument mixture. |
divide | Args: (coefficient). Divides all gases by this amount. |
equalize_with | Args: (mixture). Makes src a copy of mixture , with volumes taken into account. |
get_by_flag | Args: (flag). As get_gases(), but only returns gases with the given flag. |
get_fuel_amount | Args: (temperature). Returns: how much fuel for fire is in the mixture at the given temperature. If temperature is omitted, just uses current temperature instead. |
get_gases | Returns: a list of the gases in the mixture, associated with their IDs. |
get_moles | Args: (gas_id). Returns: the amount of substance of the given gas, in moles. |
get_oxidation_power | Args: (temperature). Returns: how much oxidizer for fire is in the mixture at the given temperature. If temperature is omitted, just uses current temperature instead. |
heat_capacity | Returns: Heat capacity, in J/K (probably). |
mark_immutable | Marks the mix as immutable, meaning it will never change. This cannot be undone. |
merge | Args: (mixture). Merges the gas from the giver into src, without modifying the giver mix. |
multiply | Args: (coefficient). Multiplies all gases by this amount. |
partial_heat_capacity | Args: (gas_id). Returns the heat capacity from the given gas, in J/K (probably). |
react | Args: (holder). Runs all reactions on this gas mixture. Holder is used by the reactions, and can be any arbitrary datum or null. |
release_gas_to | Mathematical proofs: get_breath_partial_pressure(gas_pp) --> gas_pp/total_moles()breath_pp = pp get_true_breath_pressure(pp) --> gas_pp = pp/breath_pptotal_moles() |
return_pressure | Returns: the mix's pressure, in kilopascals. |
return_temperature | Returns: the mix's temperature, in kelvins. |
return_volume | Returns: the mix's volume, in liters. |
scrub_into | Args: (mixture, ratio, gas_list). Takes gases given by gas_list and moves ratio amount of those gases from src into mixture . |
set_min_heat_capacity | Args: (min_heat_cap). Sets the mix's minimum heat capacity. |
set_moles | Args: (gas_id, moles). Sets the amount of substance of the given gas, in moles. |
set_temperature | Args: (temperature). Sets the temperature of the mixture. Will be set to 2.7 if it's too low. |
set_volume | Args: (volume). Sets the volume of the gas. |
subtract | Args: (amount). Subtracts the given amount from each gas. |
temperature_share | Args: (src, mixture, conductivity) or (src, conductivity, temperature, heat_capacity). Adjusts temperature of src based on parameters. Returns: temperature of sharer after sharing is complete. |
thermal_energy | Returns: the mix's thermal energy, the product of the mixture's heat capacity and its temperature. |
total_moles | Returns: Amount of substance, in moles. |
transfer_ratio_to | Args: (mixture, ratio). Transfers ratio of src to mixture . |
transfer_to | Args: (mixture, amount). Takes the amount given and transfers it from src to mixture . |
Var Details
gas_list_view_only
Never ever set this variable, hooked into vv_get_var for view variables viewing.
Proc Details
__auxtools_parse_gas_string
Returns: true. Parses gas strings like "o2=2500;plasma=5000;TEMP=370" and turns src mixes into the parsed gas mixture, invalid patterns will be ignored
__gasmixture_register
Fills in the first unused slot in the gas mixtures vector, or adds another one, then sets the argument ByondValue to point to it.
__gasmixture_unregister
Adds the gas mixture's ID to the queue of mixtures that have been deleted, to be reused later. This version is only if auxcleanup is not being used; it should be called from /datum/gas_mixture/Del.
__remove
Args: (mixture, amount). Takes the given amount of gas from src and puts it into the argument mixture. Amount is amount of substance in moles.
__remove_by_flag
Args: (mixture, flag, amount). Takes amount
from src that have the given flag
and puts them into the given mixture
. Returns: 0 if gas didn't have any with that flag, 1 if it did.
__remove_ratio
Args: (mixture, ratio). Takes the given ratio of gas from src and puts it into the argument mixture. Ratio is a number between 0 and 1.
add
Args: (amount). Adds the given amount to each gas.
adjust_heat
Args: (heat). Adds a given amount of heat to the mixture, i.e. in joules taking into account capacity.
adjust_moles
Args: (gas_id, moles). Adjusts the given gas's amount by the given amount, e.g. (GAS_O2, -0.1) will remove 0.1 moles of oxygen from the mixture.
adjust_moles_temp
Args: (gas_id, moles, temp). Adjusts the given gas's amount by the given amount, with that gas being treated as if it is at the given temperature.
adjust_multi
Args: (gas_id_1, amount_1, gas_id_2, amount_2, ...). As adjust_moles, but with variadic arguments.
clear
Clears the gas mixture my removing all of its gases.
compare
Returns: true if the two mixtures are different enough for processing, false otherwise.
copy_from
Arg: (mixture). Makes src into a copy of the argument mixture.
divide
Args: (coefficient). Divides all gases by this amount.
equalize_with
Args: (mixture). Makes src
a copy of mixture
, with volumes taken into account.
get_by_flag
Args: (flag). As get_gases(), but only returns gases with the given flag.
get_fuel_amount
Args: (temperature). Returns: how much fuel for fire is in the mixture at the given temperature. If temperature is omitted, just uses current temperature instead.
get_gases
Returns: a list of the gases in the mixture, associated with their IDs.
get_moles
Args: (gas_id). Returns: the amount of substance of the given gas, in moles.
get_oxidation_power
Args: (temperature). Returns: how much oxidizer for fire is in the mixture at the given temperature. If temperature is omitted, just uses current temperature instead.
heat_capacity
Returns: Heat capacity, in J/K (probably).
mark_immutable
Marks the mix as immutable, meaning it will never change. This cannot be undone.
merge
Args: (mixture). Merges the gas from the giver into src, without modifying the giver mix.
multiply
Args: (coefficient). Multiplies all gases by this amount.
partial_heat_capacity
Args: (gas_id). Returns the heat capacity from the given gas, in J/K (probably).
react
Args: (holder). Runs all reactions on this gas mixture. Holder is used by the reactions, and can be any arbitrary datum or null.
release_gas_to
Mathematical proofs: get_breath_partial_pressure(gas_pp) --> gas_pp/total_moles()breath_pp = pp get_true_breath_pressure(pp) --> gas_pp = pp/breath_pptotal_moles()
10/205 = 2.5 10 = 2.5/520 Releases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure.
return_pressure
Returns: the mix's pressure, in kilopascals.
return_temperature
Returns: the mix's temperature, in kelvins.
return_volume
Returns: the mix's volume, in liters.
scrub_into
Args: (mixture, ratio, gas_list). Takes gases given by gas_list
and moves ratio
amount of those gases from src
into mixture
.
set_min_heat_capacity
Args: (min_heat_cap). Sets the mix's minimum heat capacity.
set_moles
Args: (gas_id, moles). Sets the amount of substance of the given gas, in moles.
set_temperature
Args: (temperature). Sets the temperature of the mixture. Will be set to 2.7 if it's too low.
set_volume
Args: (volume). Sets the volume of the gas.
subtract
Args: (amount). Subtracts the given amount from each gas.
temperature_share
Args: (src, mixture, conductivity) or (src, conductivity, temperature, heat_capacity). Adjusts temperature of src based on parameters. Returns: temperature of sharer after sharing is complete.
thermal_energy
Returns: the mix's thermal energy, the product of the mixture's heat capacity and its temperature.
total_moles
Returns: Amount of substance, in moles.
transfer_ratio_to
Args: (mixture, ratio). Transfers ratio
of src
to mixture
.
transfer_to
Args: (mixture, amount). Takes the amount
given and transfers it from src
to mixture
.