Shiptest 13 - Modules - TypesVar Details - Proc Details

gas_mixture

Vars

gas_list_view_onlyNever ever set this variable, hooked into vv_get_var for view variables viewing.

Procs

__auxtools_parse_gas_stringReturns: 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_registerFills in the first unused slot in the gas mixtures vector, or adds another one, then sets the argument ByondValue to point to it.
__gasmixture_unregisterAdds 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.
__removeArgs: (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_flagArgs: (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_ratioArgs: (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.
addArgs: (amount). Adds the given amount to each gas.
adjust_heatArgs: (heat). Adds a given amount of heat to the mixture, i.e. in joules taking into account capacity.
adjust_molesArgs: (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_tempArgs: (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_multiArgs: (gas_id_1, amount_1, gas_id_2, amount_2, ...). As adjust_moles, but with variadic arguments.
clearClears the gas mixture my removing all of its gases.
compareReturns: true if the two mixtures are different enough for processing, false otherwise.
copy_fromArg: (mixture). Makes src into a copy of the argument mixture.
divideArgs: (coefficient). Divides all gases by this amount.
equalize_withArgs: (mixture). Makes src a copy of mixture, with volumes taken into account.
get_by_flagArgs: (flag). As get_gases(), but only returns gases with the given flag.
get_fuel_amountArgs: (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_gasesReturns: a list of the gases in the mixture, associated with their IDs.
get_molesArgs: (gas_id). Returns: the amount of substance of the given gas, in moles.
get_oxidation_powerArgs: (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_capacityReturns: Heat capacity, in J/K (probably).
mark_immutableMarks the mix as immutable, meaning it will never change. This cannot be undone.
mergeArgs: (mixture). Merges the gas from the giver into src, without modifying the giver mix.
multiplyArgs: (coefficient). Multiplies all gases by this amount.
partial_heat_capacityArgs: (gas_id). Returns the heat capacity from the given gas, in J/K (probably).
reactArgs: (holder). Runs all reactions on this gas mixture. Holder is used by the reactions, and can be any arbitrary datum or null.
release_gas_toMathematical 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_pressureReturns: the mix's pressure, in kilopascals.
return_temperatureReturns: the mix's temperature, in kelvins.
return_volumeReturns: the mix's volume, in liters.
scrub_intoArgs: (mixture, ratio, gas_list). Takes gases given by gas_list and moves ratio amount of those gases from src into mixture.
set_min_heat_capacityArgs: (min_heat_cap). Sets the mix's minimum heat capacity.
set_molesArgs: (gas_id, moles). Sets the amount of substance of the given gas, in moles.
set_temperatureArgs: (temperature). Sets the temperature of the mixture. Will be set to 2.7 if it's too low.
set_volumeArgs: (volume). Sets the volume of the gas.
subtractArgs: (amount). Subtracts the given amount from each gas.
temperature_shareArgs: (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_energyReturns: the mix's thermal energy, the product of the mixture's heat capacity and its temperature.
total_molesReturns: Amount of substance, in moles.
transfer_ratio_toArgs: (mixture, ratio). Transfers ratio of src to mixture.
transfer_toArgs: (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.