Yogstation 13 - Modules - TypesVar Details - Proc Details

/datum/liquid_group

Vars

always_evaporatesLiquids in this group will always evaporate regardless of height
burning_memberslist of all current burning members of our group
cached_edge_turfslist of cached edge turfs with a sublist of directions stored
cached_fire_spreadslist of cached spreadable turfs for each burning member
cached_reagent_listlist of old reagents
cached_temperature_shiftcached temperature between turfs recalculated on group_process
can_mergecan we merge?
colorthe generated color given to the group on creation for debugging
current_temperature_queuethis groups list of currently running turfs, we iterate over this to stop redundancy
evaporatesdo we evaporate
evaporation_multiplierThe multiplier added to the evaporation rate of all reagents in this group.
expected_turf_heightthe expected height of all the collective turfs
exposuredo we have any containing expose turf chemicals with volume to look for?
failed_death_checkhave we failed a process? if so we are added to a death check so it will gracefully die on its own
group_alphathe calculated alpha cache for our group
group_burn_powerthe burn power of our group, used to determine how strong we burn each process_fire()
group_burn_ratethe amount of reagents we attempt to burn each process_fire()
group_colorthe generated color used to apply coloring to all the members
group_fire_statethe icon state of our fire
group_overlay_statethe icon state our group currently uses
group_temperaturethe calculated temperature cache for our group
group_viscositythe viscosity of our group, determines how much we can spread with our total reagent pool, higher means less turfs per reagent
loss_precentnumber in decimal value that acts as a multiplier to the amount of liquids lost in applications
memberslist of all current members of the group saved in true/false format
mergingare we currently attempting a merge? if so don't process groups
reagentsour reagent holder, where the entire liquid groups reagents are stored
reagents_per_turfa cached value of our reagents per turf, used to determine liquid height and state
slipperyare we slippery
splitting_arrayarray generated by bulk splitting
temperature_shift_needs_actiondoes temperature need action
total_reagent_volumeA saved variable of the total reagent volumes to avoid calling reagents.total_volume constantly
turf_reagentsour reagent holder for a single turf

Procs

NewNEW/DESTROY
add_to_groupGROUP CONTROLLING
check_adjacencyEDGE COLLECTION AND PROCESSING
check_liquid_removalREAGENT ADD/REMOVAL HANDLING
cleanse_memberschange the location of explosions and sounds every group process
copy_propertiesSomeone made a massive fucky wucky if this is happening
expose_members_turfasses the group to see if it should exist EXPOSURE AND SPREADING
get_group_burnFire Related Procs / Handling
process_groupPROCESSING
remove_from_groupeach turf will hold 1000 units plus the base amount spread across the group
return_connected_liquidsSPLITING PROCS AND RETURNING CONNECTED PROCS
return_connected_liquids_in_rangethe 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_splitthe 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_splitthe 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_queuewe 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