/datum/liquid_group
Vars | |
always_evaporates | Liquids in this group will always evaporate regardless of height |
---|---|
burning_members | list of all current burning members of our group |
cached_edge_turfs | list of cached edge turfs with a sublist of directions stored |
cached_fire_spreads | list of cached spreadable turfs for each burning member |
cached_reagent_list | list of old reagents |
cached_temperature_shift | cached temperature between turfs recalculated on group_process |
can_merge | can we merge? |
color | the generated color given to the group on creation for debugging |
current_temperature_queue | this groups list of currently running turfs, we iterate over this to stop redundancy |
evaporates | do we evaporate |
evaporation_multiplier | The multiplier added to the evaporation rate of all reagents in this group. |
expected_turf_height | the expected height of all the collective turfs |
exposure | do we have any containing expose turf chemicals with volume to look for? |
failed_death_check | have we failed a process? if so we are added to a death check so it will gracefully die on its own |
group_alpha | the calculated alpha cache for our group |
group_burn_power | the burn power of our group, used to determine how strong we burn each process_fire() |
group_burn_rate | the amount of reagents we attempt to burn each process_fire() |
group_color | the generated color used to apply coloring to all the members |
group_fire_state | the icon state of our fire |
group_overlay_state | the icon state our group currently uses |
group_temperature | the calculated temperature cache for our group |
group_viscosity | the viscosity of our group, determines how much we can spread with our total reagent pool, higher means less turfs per reagent |
loss_precent | number in decimal value that acts as a multiplier to the amount of liquids lost in applications |
members | list of all current members of the group saved in true/false format |
merging | are we currently attempting a merge? if so don't process groups |
reagents | our reagent holder, where the entire liquid groups reagents are stored |
reagents_per_turf | a cached value of our reagents per turf, used to determine liquid height and state |
slippery | are we slippery |
splitting_array | array generated by bulk splitting |
temperature_shift_needs_action | does temperature need action |
total_reagent_volume | A saved variable of the total reagent volumes to avoid calling reagents.total_volume constantly |
turf_reagents | our reagent holder for a single turf |
Procs | |
New | NEW/DESTROY |
add_to_group | GROUP CONTROLLING |
check_adjacency | EDGE COLLECTION AND PROCESSING |
check_liquid_removal | REAGENT ADD/REMOVAL HANDLING |
cleanse_members | change the location of explosions and sounds every group process |
copy_properties | Someone made a massive fucky wucky if this is happening |
expose_members_turf | asses the group to see if it should exist EXPOSURE AND SPREADING |
get_group_burn | Fire Related Procs / Handling |
process_group | PROCESSING |
remove_from_group | each turf will hold 1000 units plus the base amount spread across the group |
return_connected_liquids | SPLITING PROCS AND RETURNING CONNECTED PROCS |
return_connected_liquids_in_range | the current queue the turfs that we have previously visited with unique ids the turf object the liquid resides on compares after each iteration to see if we even need to continue |
try_bulk_split | the section is a little funky, as if say a cross shaped liquid removal occurs this will leave 3 of them in the same group, not a big deal as this only affects turfs that are like 5 tiles total if there is only 1 adjacent liquid it physically can't split asses the group to see if it should exist |
try_split | the current queue the turfs that we have previously visited with unique ids the turf object the liquid resides on compares after each iteration to see if we even need to continue |
work_on_split_queue | we try and work on the split queue from this point on |
Var Details
always_evaporates
Liquids in this group will always evaporate regardless of height
burning_members
list of all current burning members of our group
cached_edge_turfs
list of cached edge turfs with a sublist of directions stored
cached_fire_spreads
list of cached spreadable turfs for each burning member
cached_reagent_list
list of old reagents
cached_temperature_shift
cached temperature between turfs recalculated on group_process
can_merge
can we merge?
color
the generated color given to the group on creation for debugging
current_temperature_queue
this groups list of currently running turfs, we iterate over this to stop redundancy
evaporates
do we evaporate
evaporation_multiplier
The multiplier added to the evaporation rate of all reagents in this group.
expected_turf_height
the expected height of all the collective turfs
exposure
do we have any containing expose turf chemicals with volume to look for?
failed_death_check
have we failed a process? if so we are added to a death check so it will gracefully die on its own
group_alpha
the calculated alpha cache for our group
group_burn_power
the burn power of our group, used to determine how strong we burn each process_fire()
group_burn_rate
the amount of reagents we attempt to burn each process_fire()
group_color
the generated color used to apply coloring to all the members
group_fire_state
the icon state of our fire
group_overlay_state
the icon state our group currently uses
group_temperature
the calculated temperature cache for our group
group_viscosity
the viscosity of our group, determines how much we can spread with our total reagent pool, higher means less turfs per reagent
loss_precent
number in decimal value that acts as a multiplier to the amount of liquids lost in applications
members
list of all current members of the group saved in true/false format
merging
are we currently attempting a merge? if so don't process groups
reagents
our reagent holder, where the entire liquid groups reagents are stored
reagents_per_turf
a cached value of our reagents per turf, used to determine liquid height and state
slippery
are we slippery
splitting_array
array generated by bulk splitting
temperature_shift_needs_action
does temperature need action
total_reagent_volume
A saved variable of the total reagent volumes to avoid calling reagents.total_volume constantly
turf_reagents
our reagent holder for a single turf
Proc Details
New
NEW/DESTROY
add_to_group
GROUP CONTROLLING
check_adjacency
EDGE COLLECTION AND PROCESSING
check_liquid_removal
REAGENT ADD/REMOVAL HANDLING
cleanse_members
change the location of explosions and sounds every group process
copy_properties
Someone made a massive fucky wucky if this is happening
expose_members_turf
asses the group to see if it should exist EXPOSURE AND SPREADING
get_group_burn
Fire Related Procs / Handling
process_group
PROCESSING
remove_from_group
each turf will hold 1000 units plus the base amount spread across the group
return_connected_liquids
SPLITING PROCS AND RETURNING CONNECTED PROCS
return_connected_liquids_in_range
the current queue the turfs that we have previously visited with unique ids the turf object the liquid resides on compares after each iteration to see if we even need to continue
try_bulk_split
the section is a little funky, as if say a cross shaped liquid removal occurs this will leave 3 of them in the same group, not a big deal as this only affects turfs that are like 5 tiles total if there is only 1 adjacent liquid it physically can't split asses the group to see if it should exist
try_split
the current queue the turfs that we have previously visited with unique ids the turf object the liquid resides on compares after each iteration to see if we even need to continue
work_on_split_queue
we try and work on the split queue from this point on