/tg/ Station 13 - Modules - TypesVar Details - Proc Details

duct

Vars

activewheter to even bother with plumbing code or not
capacityamount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct
color_to_color_supportTRUE to let colors connect when forced with a wrench, false to just not do that at all
connectsbitfield with the directions we're connected in
drop_on_wrenchwhat stack to drop when disconnected. Must be /obj/item/stack/ducts or a subtype
ductour ductnet, wich tracks what we're connected to
duct_colorthe color of our duct
duct_layer1,2,4,8,16
dumbset to TRUE to disable smart duct behaviour
ignore_colorsTRUE to ignore colors, so yeah we also connect with other colors without issue
lock_connectswheter we allow our connects to be changed after initialization or not
lock_layerswhether we allow our layers to be altered
neighbourstrack ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Procs

add_connectsadd a connect direction
add_neighbouradd a duct as neighbour. this means we're connected and will connect again if we ever regenerate
attempt_connectstart looking around us for stuff to connect to
can_anchorcollection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked
connect_ductconnect to a duct
connect_networksee if whatever we found can be connected to
connect_plumberconnect to a plumbing object
create_ductcreate a new duct datum
disconnect_ductwe disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one
generate_connectsSpecial proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds
get_adjacent_ductsget a list of the ducts we can connect to if we are dumb
handle_layerupdate the layer we are on
lose_neighboursremove all our neighbours, and remove us from our neighbours aswell
remove_connectsremove a connect direction
reset_connectsremove our connects

Var Details

active

wheter to even bother with plumbing code or not

capacity

amount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct

color_to_color_support

TRUE to let colors connect when forced with a wrench, false to just not do that at all

connects

bitfield with the directions we're connected in

drop_on_wrench

what stack to drop when disconnected. Must be /obj/item/stack/ducts or a subtype

duct

our ductnet, wich tracks what we're connected to

duct_color

the color of our duct

duct_layer

1,2,4,8,16

dumb

set to TRUE to disable smart duct behaviour

ignore_colors

TRUE to ignore colors, so yeah we also connect with other colors without issue

lock_connects

wheter we allow our connects to be changed after initialization or not

lock_layers

whether we allow our layers to be altered

neighbours

track ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Proc Details

add_connects

add a connect direction

add_neighbour

add a duct as neighbour. this means we're connected and will connect again if we ever regenerate

attempt_connect

start looking around us for stuff to connect to

can_anchor

collection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked

connect_duct

connect to a duct

connect_network

see if whatever we found can be connected to

connect_plumber

connect to a plumbing object

create_duct

create a new duct datum

disconnect_duct

we disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one

generate_connects

Special proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds

get_adjacent_ducts

get a list of the ducts we can connect to if we are dumb

handle_layer

update the layer we are on

lose_neighbours

remove all our neighbours, and remove us from our neighbours aswell

remove_connects

remove a connect direction

reset_connects

remove our connects