Daedalus Dock - Modules - TypesVar Details - Proc Details

reagents

////////////////////////////Main reagents code///////////////////////////////////////////// Holder for a bunch of /datum/reagent

Vars

chem_tempCurrent temp of the holder volume
failed_but_capable_reactionsIf a reaction fails due to temperature, this tracks the required temperature for it to be enabled.
flagsvarious flags, see code__DEFINES\reagents.dm
is_reactingHard check to see if the reagents is presently reacting
last_tickunused
maximum_volumeMax volume of this holder
metabolism_classThe metabolism type this container uses. For mobs.
my_atomThe atom this holder is attached to
previous_reagent_listcached list of reagents typepaths (not object references), this is a lazylist for optimisation
reaction_listlist of reactions currently on going, this is a lazylist for optimisation
reagent_listThe reagents being held
total_volumeCurrent volume of all the reagents
ui_beaker_syncIf we're syncing with the beaker - so return reactions that are actively happening
ui_reaction_idUI lookup stuff Keeps the id of the reaction displayed in the ui
ui_reaction_indexWhat index we're at if we have multiple reactions for a reagent product
ui_reagent_idKeeps the id of the reagent displayed in the ui
ui_tags_selectedThe bitflag of the currently selected tags in the ui

Procs

add_reagentAdds a reagent to this holder
add_reagent_listLike add_reagent but you can enter a list. Arguments
add_reagent_up_toAdds a reagent up to a cap.
adjust_thermal_energy
clear_reagentsRemoves all reagents
copy_dataShallow copies (deep copy of viruses) data from the provided reagent into our copy of that reagent
copy_toCopies the reagents to the target object
del_reagentRemoves an specific reagent from this holder Arguments
determine_reaction_thermicsReturns a string descriptor of a reactions themic_constant
end_metabolizationSignals that metabolization has stopped, triggering the end of trait-based effects
exposeApplies the relevant expose_ proc for every reagent in this holder
expose_singleSame as /datum/reagents/proc/expose but only for one reagent
expose_temperatureApplies heat to this holder
generate_taste_messageReturns what this holder's reagents taste like
generate_thermodynamic_profileGenerates a (rough) rate vs temperature graph profile
getHeatCapacityReturns the total heat capacity for all of the reagents currently in this holder.
get_datahelper function to preserve data across reactions (needed for xenoarch)
get_external_reagent_log_stringOutputs a log-friendly list of reagents based on an external reagent list.
get_master_reagentGet a reference to the reagent there is the most of in this holder
get_master_reagent_idGet the id of the reagent there is the most of in this holder
get_master_reagent_nameGet the name of the reagent there is the most of in this holder
get_priority_instant_reactionPossibly remove - see if multiple instant reactions is okay (Though, this "sorts" reactions by temp decending) Presently unused
get_reagentGet a reference to the reagent if it exists
get_reagent_amountGet the amount of this reagent
get_reagent_log_stringOutputs a log-friendly list of reagents based on the internal reagent_list.
get_reagent_namesGet a comma separated string of every reagent name in this holder. UNUSED
handle_reactionsHandle any reactions possible in this holder Also UPDATES the reaction list High potential for infinite loopsa if you're editing this.
has_changed_stateChecks to see if the reagents has a difference in reagents_list and previous_reagent_list (I.e. if there's a difference between the previous call and the last) Also checks to see if the saved reactions in failed_but_capable_reactions can start as a result of temp change
has_chemical_flagCheck if this holder contains a reagent with a chemical_flags containing this flag Reagent takes the bitflag to search for Amount checks for having a specific amount of reagents matching that chemical
has_reagentCheck if this holder contains this reagent. Reagent takes a PATH to a reagent. Amount checks for having a specific amount of that chemical. Needs matabolizing takes into consideration if the chemical is matabolizing when it's checked.
has_reagent_listLike has_reagent but you can enter a list.
holder_fullIs this holder full or not
instant_reactOld reaction mechanics, edited to work on one only This is changed from the old - purity of the reagents will affect yield
is_reaction_overheatingReturns TRUE if this container's temp would overheat a reaction.
isolate_reagentRemove every reagent except this one
metabolizeTriggers metabolizing for all the reagents in this holder
multiply_reagentsMultiplies the reagents inside this holder by a specific amount
reaction_messageGives feedback that a reaction is occuring. Returns an icon2html string.
remove_allRemoves all reagents either proportionally(amount is the direct volume to remove) when proportional the total volume of all reagents removed will equal to amount or relatively(amount is a percentile between 0->1) when relative amount is the % of each reagent to be removed
remove_reagentRemoves a specific reagent. can supress reactions if needed Arguments
remove_reagent_listLike remove_reagent but you can enter a list.
set_datahelper function to preserve data across reactions (needed for xenoarch)
set_temperature
trans_id_toTransfer a specific reagent id to the target object. Accepts a reagent instance, but assumes the reagent is in src.
trans_toTransfer some stuff from this holder to a target object
ui_interactUI / REAGENTS LOOKUP CODE
update_totalUpdates /datum/reagents/var/total_volume

Var Details

chem_temp

Current temp of the holder volume

failed_but_capable_reactions

If a reaction fails due to temperature, this tracks the required temperature for it to be enabled.

flags

various flags, see code__DEFINES\reagents.dm

is_reacting

Hard check to see if the reagents is presently reacting

last_tick

unused

maximum_volume

Max volume of this holder

metabolism_class

The metabolism type this container uses. For mobs.

my_atom

The atom this holder is attached to

previous_reagent_list

cached list of reagents typepaths (not object references), this is a lazylist for optimisation

reaction_list

list of reactions currently on going, this is a lazylist for optimisation

reagent_list

The reagents being held

total_volume

Current volume of all the reagents

ui_beaker_sync

If we're syncing with the beaker - so return reactions that are actively happening

ui_reaction_id

UI lookup stuff Keeps the id of the reaction displayed in the ui

ui_reaction_index

What index we're at if we have multiple reactions for a reagent product

ui_reagent_id

Keeps the id of the reagent displayed in the ui

ui_tags_selected

The bitflag of the currently selected tags in the ui

Proc Details

add_reagent

Adds a reagent to this holder

Arguments:

add_reagent_list

Like add_reagent but you can enter a list. Arguments

add_reagent_up_to

Adds a reagent up to a cap.

adjust_thermal_energy

clear_reagents

Removes all reagents

copy_data

Shallow copies (deep copy of viruses) data from the provided reagent into our copy of that reagent

copy_to

Copies the reagents to the target object

del_reagent

Removes an specific reagent from this holder Arguments

determine_reaction_thermics

Returns a string descriptor of a reactions themic_constant

end_metabolization

Signals that metabolization has stopped, triggering the end of trait-based effects

expose

Applies the relevant expose_ proc for every reagent in this holder

Arguments

expose_single

Same as /datum/reagents/proc/expose but only for one reagent

expose_temperature

Applies heat to this holder

generate_taste_message

Returns what this holder's reagents taste like

Arguments:

generate_thermodynamic_profile

Generates a (rough) rate vs temperature graph profile

getHeatCapacity

Returns the total heat capacity for all of the reagents currently in this holder.

get_data

helper function to preserve data across reactions (needed for xenoarch)

get_external_reagent_log_string

Outputs a log-friendly list of reagents based on an external reagent list.

Arguments:

get_master_reagent

Get a reference to the reagent there is the most of in this holder

get_master_reagent_id

Get the id of the reagent there is the most of in this holder

get_master_reagent_name

Get the name of the reagent there is the most of in this holder

get_priority_instant_reaction

Possibly remove - see if multiple instant reactions is okay (Though, this "sorts" reactions by temp decending) Presently unused

get_reagent

Get a reference to the reagent if it exists

get_reagent_amount

Get the amount of this reagent

get_reagent_log_string

Outputs a log-friendly list of reagents based on the internal reagent_list.

Arguments:

get_reagent_names

Get a comma separated string of every reagent name in this holder. UNUSED

handle_reactions

Handle any reactions possible in this holder Also UPDATES the reaction list High potential for infinite loopsa if you're editing this.

has_changed_state

Checks to see if the reagents has a difference in reagents_list and previous_reagent_list (I.e. if there's a difference between the previous call and the last) Also checks to see if the saved reactions in failed_but_capable_reactions can start as a result of temp change

has_chemical_flag

Check if this holder contains a reagent with a chemical_flags containing this flag Reagent takes the bitflag to search for Amount checks for having a specific amount of reagents matching that chemical

has_reagent

Check if this holder contains this reagent. Reagent takes a PATH to a reagent. Amount checks for having a specific amount of that chemical. Needs matabolizing takes into consideration if the chemical is matabolizing when it's checked.

has_reagent_list

Like has_reagent but you can enter a list.

holder_full

Is this holder full or not

instant_react

Old reaction mechanics, edited to work on one only This is changed from the old - purity of the reagents will affect yield

is_reaction_overheating

Returns TRUE if this container's temp would overheat a reaction.

isolate_reagent

Remove every reagent except this one

metabolize

Triggers metabolizing for all the reagents in this holder

Arguments:

multiply_reagents

Multiplies the reagents inside this holder by a specific amount

reaction_message

Gives feedback that a reaction is occuring. Returns an icon2html string.

remove_all

Removes all reagents either proportionally(amount is the direct volume to remove) when proportional the total volume of all reagents removed will equal to amount or relatively(amount is a percentile between 0->1) when relative amount is the % of each reagent to be removed

Arguments

remove_reagent

Removes a specific reagent. can supress reactions if needed Arguments

remove_reagent_list

Like remove_reagent but you can enter a list.

set_data

helper function to preserve data across reactions (needed for xenoarch)

set_temperature

trans_id_to

Transfer a specific reagent id to the target object. Accepts a reagent instance, but assumes the reagent is in src.

trans_to

Transfer some stuff from this holder to a target object

Arguments:

ui_interact

UI / REAGENTS LOOKUP CODE

update_total

Updates /datum/reagents/var/total_volume