diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 4cd1061abf2..01129916d63 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -1020,14 +1020,6 @@ category = CAT_MISC tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) -/datum/crafting_recipe/multiduct - name = "Multi-layer duct" - result = /obj/machinery/duct/multilayered - time = 5 - reqs = list(/obj/item/stack/ducts = 5) - category = CAT_MISC - tool_behaviors = list(TOOL_WELDER) - /datum/crafting_recipe/rib name = "Collosal Rib" always_available = FALSE diff --git a/code/datums/components/plumbing/IV_drip.dm b/code/datums/components/plumbing/IV_drip.dm index c4cd9830440..26b6bd4e403 100644 --- a/code/datums/components/plumbing/IV_drip.dm +++ b/code/datums/components/plumbing/IV_drip.dm @@ -5,9 +5,9 @@ methods = INJECT -/datum/component/plumbing/iv_drip/Initialize() +/datum/component/plumbing/iv_drip/Initialize(start=TRUE, _ducting_layer, _turn_connects=TRUE, datum/reagents/custom_receiver) . = ..() - + recipient_reagents_holder = null /datum/component/plumbing/iv_drip/RegisterWithParent() diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm index d0636a0719b..c30f0edf2ff 100644 --- a/code/datums/components/plumbing/_plumbing.dm +++ b/code/datums/components/plumbing/_plumbing.dm @@ -1,4 +1,5 @@ /datum/component/plumbing + dupe_mode = COMPONENT_DUPE_ALLOWED ///Index with "1" = /datum/ductnet/theductpointingnorth etc. "1" being the num2text from NORTH define var/list/datum/ductnet/ducts = list() ///shortcut to our parents' reagent holder @@ -27,12 +28,12 @@ var/supply_color = "blue" ///turn_connects is for wheter or not we spin with the object to change our pipes -/datum/component/plumbing/Initialize(start=TRUE, _turn_connects=TRUE, _ducting_layer, datum/reagents/custom_receiver) +/datum/component/plumbing/Initialize(start=TRUE, _ducting_layer, _turn_connects=TRUE, datum/reagents/custom_receiver) if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE if(_ducting_layer) - ducting_layer = ducting_layer + ducting_layer = _ducting_layer var/atom/movable/AM = parent if(!AM.reagents && !custom_receiver) @@ -230,9 +231,12 @@ var/obj/machinery/duct/duct = A duct.attempt_connect() else - var/datum/component/plumbing/P = A.GetComponent(/datum/component/plumbing) - if(P && P.ducting_layer == ducting_layer) - direct_connect(P, D) + for(var/plumber in A.GetComponents(/datum/component/plumbing)) + if(!plumber) //apparently yes it will be null hahahaasahsdvashufv + continue + var/datum/component/plumbing/plumb = plumber + if(plumb && plumb.ducting_layer == ducting_layer) + direct_connect(plumb, D) /// Toggle our machinery on or off. This is called by a hook from default_unfasten_wrench with anchored as only param, so we dont have to copypaste this on every object that can move /datum/component/plumbing/proc/toggle_active(obj/O, new_state) @@ -317,6 +321,13 @@ demand_connects = WEST supply_connects = EAST +/datum/component/plumbing/manifold + demand_connects = NORTH + supply_connects = SOUTH + +/datum/component/plumbing/manifold/change_ducting_layer(obj/caller, obj/O, new_layer) + return + #define READY 2 ///Baby component for the buffer plumbing machine /datum/component/plumbing/buffer diff --git a/code/datums/components/plumbing/chemical_acclimator.dm b/code/datums/components/plumbing/chemical_acclimator.dm index b85eccc8665..777a2804a78 100644 --- a/code/datums/components/plumbing/chemical_acclimator.dm +++ b/code/datums/components/plumbing/chemical_acclimator.dm @@ -3,7 +3,7 @@ supply_connects = EAST var/obj/machinery/plumbing/acclimator/myacclimator -/datum/component/plumbing/acclimator/Initialize(start=TRUE, _turn_connects=TRUE) +/datum/component/plumbing/acclimator/Initialize(start=TRUE, _ducting_layer, _turn_connects=TRUE, datum/reagents/custom_receiver) . = ..() if(!istype(parent, /obj/machinery/plumbing/acclimator)) return COMPONENT_INCOMPATIBLE diff --git a/code/datums/components/plumbing/filter.dm b/code/datums/components/plumbing/filter.dm index 76b76323c5b..4b8dd8d54a6 100644 --- a/code/datums/components/plumbing/filter.dm +++ b/code/datums/components/plumbing/filter.dm @@ -3,7 +3,7 @@ demand_connects = NORTH supply_connects = SOUTH | EAST | WEST //SOUTH is straight, EAST is left and WEST is right. We look from the perspective of the insert -/datum/component/plumbing/filter/Initialize() +/datum/component/plumbing/filter/Initialize(start=TRUE, _ducting_layer, _turn_connects=TRUE, datum/reagents/custom_receiver) . = ..() if(!istype(parent, /obj/machinery/plumbing/filter)) return COMPONENT_INCOMPATIBLE diff --git a/code/datums/components/plumbing/reaction_chamber.dm b/code/datums/components/plumbing/reaction_chamber.dm index 2366c0dbfe1..d270fbee7a3 100644 --- a/code/datums/components/plumbing/reaction_chamber.dm +++ b/code/datums/components/plumbing/reaction_chamber.dm @@ -2,7 +2,7 @@ demand_connects = NORTH supply_connects = SOUTH -/datum/component/plumbing/reaction_chamber/Initialize(start=TRUE, _turn_connects=TRUE) +/datum/component/plumbing/reaction_chamber/Initialize(start=TRUE, _ducting_layer, _turn_connects=TRUE, datum/reagents/custom_receiver) . = ..() if(!istype(parent, /obj/machinery/plumbing/reaction_chamber)) return COMPONENT_INCOMPATIBLE diff --git a/code/datums/components/plumbing/splitter.dm b/code/datums/components/plumbing/splitter.dm index e0cef916a10..4dd68a9e578 100644 --- a/code/datums/components/plumbing/splitter.dm +++ b/code/datums/components/plumbing/splitter.dm @@ -2,7 +2,7 @@ demand_connects = NORTH supply_connects = SOUTH | EAST -/datum/component/plumbing/splitter/Initialize() +/datum/component/plumbing/splitter/Initialize(start=TRUE, _ducting_layer, _turn_connects=TRUE, datum/reagents/custom_receiver) . = ..() if(. && !istype(parent, /obj/machinery/plumbing/splitter)) return FALSE diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index a3f36d3f485..94c279a9ed9 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -990,6 +990,10 @@ RLD var/list/machinery_data = list("cost" = list()) ///This list that holds all the plumbing design types the plumberer can construct. Its purpose is to make it easy to make new plumberer subtypes with a different selection of machines. var/list/plumbing_design_types + ///Possible layers to pick from + var/static/list/layers = list("Second Layer" = SECOND_DUCT_LAYER, "Default Layer" = DUCT_LAYER_DEFAULT, "Fourth Layer" = FOURTH_DUCT_LAYER) + ///Current selected layer + var/current_layer = "Default Layer" /obj/item/construction/plumbing/Initialize(mapload) . = ..() @@ -1022,8 +1026,9 @@ RLD /obj/machinery/plumbing/synthesizer = 15, /obj/machinery/plumbing/reaction_chamber = 15, /obj/machinery/plumbing/buffer = 10, + /obj/machinery/plumbing/layer_manifold = 5, + //Above are the most common machinery which is shown on the first cycle. Keep new additions below THIS line, unless they're probably gonna be needed alot /obj/machinery/plumbing/pill_press = 20, - //Above are the most common machinery which is shown on the first cycle. Keep new additions below THIS line /obj/machinery/plumbing/acclimator = 10, /obj/machinery/plumbing/bottler = 50, /obj/machinery/plumbing/disposer = 10, @@ -1048,7 +1053,7 @@ RLD useResource(machinery_data["cost"][blueprint], user) activate() playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) - new blueprint (A, FALSE, FALSE) + new blueprint (A, FALSE, layers[current_layer]) return TRUE /obj/item/construction/plumbing/proc/canPlace(turf/T) @@ -1074,6 +1079,20 @@ RLD else create_machine(A, user) +/obj/item/construction/plumbing/AltClick(mob/user) + if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) + return + + //this is just cycling options through a list + var/current_loc = layers.Find(current_layer) + 1 + + if(current_loc > layers.len) + current_loc = 1 + + //We want the key (the define), not the index (the string) + current_layer = layers[current_loc] + to_chat(user, "You switch [src] to [current_layer].") + /obj/item/construction/plumbing/research name = "research plumbing constructor" desc = "A type of plumbing constructor designed to rapidly deploy the machines needed to conduct cytological research." diff --git a/code/game/objects/structures/lavaland/geyser.dm b/code/game/objects/structures/lavaland/geyser.dm index 22bee6024d7..d8350c89e52 100644 --- a/code/game/objects/structures/lavaland/geyser.dm +++ b/code/game/objects/structures/lavaland/geyser.dm @@ -76,7 +76,7 @@ var/target_layer = DUCT_LAYER_DEFAULT ///Assoc list for possible layers - var/list/layers = list("Alternate Layer" = SECOND_DUCT_LAYER, "Default Layer" = DUCT_LAYER_DEFAULT) + var/list/layers = list("Second Layer" = SECOND_DUCT_LAYER, "Default Layer" = DUCT_LAYER_DEFAULT, "Fourth Layer" = FOURTH_DUCT_LAYER) /obj/item/plunger/attack_obj(obj/O, mob/living/user, params) if(layer_mode) diff --git a/code/modules/plumbing/ducts.dm b/code/modules/plumbing/ducts.dm index 8a3399c9f2b..897c1ccd0af 100644 --- a/code/modules/plumbing/ducts.dm +++ b/code/modules/plumbing/ducts.dm @@ -72,10 +72,14 @@ All the important duct code: /obj/machinery/duct/proc/attempt_connect() for(var/atom/movable/AM in loc) - var/datum/component/plumbing/P = AM.GetComponent(/datum/component/plumbing) - if(P?.active) - disconnect_duct() //let's not built under plumbing machinery - return + for(var/plumber in AM.GetComponents(/datum/component/plumbing)) + if(!plumber) //apparently yes it will be null hahahaasahsdvashufv + continue + var/datum/component/plumbing/plumb = plumber + if(plumb.active) + disconnect_duct() //let's not built under plumbing machinery + return + for(var/D in GLOB.cardinals) if(dumb && !(D & connects)) continue @@ -91,7 +95,7 @@ All the important duct code: for(var/plumber in AM.GetComponents(/datum/component/plumbing)) if(!plumber) //apparently yes it will be null hahahaasahsdvashufv - return + continue . += connect_plumber(plumber, direction) //so that if one is true, all is true. beautiful. ///connect to a duct @@ -183,10 +187,11 @@ All the important duct code: duct.add_duct(D) D.reconnect() else - var/datum/component/plumbing/P = AM.GetComponent(/datum/component/plumbing) if(AM in get_step(src, neighbours[AM])) //did we move? - if(P) - connect_plumber(P, neighbours[AM]) + for(var/plumber in AM.GetComponents(/datum/component/plumbing)) + if(!plumber) //apparently yes it will be null hahahaasahsdvashufv + return + connect_plumber(plumber, neighbours[AM]) else neighbours -= AM //we moved @@ -296,6 +301,7 @@ All the important duct code: "You [anchored ? null : "un"]fasten \the [src].", \ "You hear ratcheting.") return TRUE + ///collection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked /obj/machinery/duct/proc/can_anchor(turf/T) if(!T) @@ -338,53 +344,6 @@ All the important duct code: connect_network(D, direction, TRUE) update_appearance() -///has a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect. -/obj/machinery/duct/multilayered - name = "duct layer-manifold" - icon = 'icons/obj/2x2.dmi' - icon_state = "multiduct" - pixel_x = -15 - pixel_y = -15 - - color_to_color_support = FALSE - duct_layer = FIRST_DUCT_LAYER | SECOND_DUCT_LAYER | THIRD_DUCT_LAYER | FOURTH_DUCT_LAYER | FIFTH_DUCT_LAYER - drop_on_wrench = null - - lock_connects = TRUE - lock_layers = TRUE - ignore_colors = TRUE - dumb = TRUE - - active = FALSE - anchored = FALSE - -/obj/machinery/duct/multilayered/Initialize(mapload, no_anchor, color_of_duct, layer_of_duct = DUCT_LAYER_DEFAULT, force_connects) - . = ..() - update_connects() - -/obj/machinery/duct/multilayered/ComponentInitialize() - . = ..() - AddElement(/datum/element/update_icon_blocker) - -/obj/machinery/duct/multilayered/wrench_act(mob/living/user, obj/item/I) - . = ..() - update_connects() - -/obj/machinery/duct/multilayered/proc/update_connects() - if(dir & NORTH || dir & SOUTH) - connects = NORTH | SOUTH - else - connects = EAST | WEST - -///don't connect to other multilayered stuff because honestly it shouldn't be done and I dont wanna deal with it -/obj/machinery/duct/multilayered/connect_duct(obj/machinery/duct/D, direction, ignore_color) - if(istype(D, /obj/machinery/duct/multilayered)) - return - return ..() - -/obj/machinery/duct/multilayered/handle_layer() - return - /obj/item/stack/ducts name = "stack of duct" desc = "A stack of fluid ducts." @@ -402,7 +361,7 @@ All the important duct code: ///Default layer of our duct var/duct_layer = "Default Layer" ///Assoc index with all the available layers. yes five might be a bit much. Colors uses a global by the way - var/list/layers = list("Alternate Layer" = SECOND_DUCT_LAYER, "Default Layer" = DUCT_LAYER_DEFAULT) + var/list/layers = list("Second Layer" = SECOND_DUCT_LAYER, "Default Layer" = DUCT_LAYER_DEFAULT, "Fourth Layer" = FOURTH_DUCT_LAYER) /obj/item/stack/ducts/examine(mob/user) . = ..() diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm index 293d32fd742..42dcdbf1843 100644 --- a/code/modules/plumbing/plumbers/_plumb_machinery.dm +++ b/code/modules/plumbing/plumbers/_plumb_machinery.dm @@ -60,9 +60,9 @@ icon_state = "pipe_input" reagent_flags = TRANSPARENT | REFILLABLE -/obj/machinery/plumbing/input/Initialize(mapload, bolt) +/obj/machinery/plumbing/input/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_supply, bolt) + AddComponent(/datum/component/plumbing/simple_supply, bolt, layer) ///We can fill beakers in here and everything. we dont inheret from input because it has nothing that we need /obj/machinery/plumbing/output @@ -71,9 +71,9 @@ icon_state = "pipe_output" reagent_flags = TRANSPARENT | DRAINABLE -/obj/machinery/plumbing/output/Initialize(mapload, bolt) +/obj/machinery/plumbing/output/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) + AddComponent(/datum/component/plumbing/simple_demand, bolt, layer) /obj/machinery/plumbing/tank name = "chemical tank" @@ -81,6 +81,21 @@ icon_state = "tank" buffer = 400 -/obj/machinery/plumbing/tank/Initialize(mapload, bolt) +/obj/machinery/plumbing/tank/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/tank, bolt) + AddComponent(/datum/component/plumbing/tank, bolt, layer) + + +///Layer manifold machine that connects a bunch of layers +/obj/machinery/plumbing/layer_manifold + name = "layer manifold" + desc = "A plumbing manifold for layers." + icon_state = "manifold" + density = FALSE + +/obj/machinery/plumbing/layer_manifold/Initialize(mapload, bolt, layer) + . = ..() + + AddComponent(/datum/component/plumbing/manifold, bolt, SECOND_DUCT_LAYER) + AddComponent(/datum/component/plumbing/manifold, bolt, THIRD_DUCT_LAYER) + AddComponent(/datum/component/plumbing/manifold, bolt, FOURTH_DUCT_LAYER) diff --git a/code/modules/plumbing/plumbers/acclimator.dm b/code/modules/plumbing/plumbers/acclimator.dm index 9e9114014ac..7707bce23f1 100644 --- a/code/modules/plumbing/plumbers/acclimator.dm +++ b/code/modules/plumbing/plumbers/acclimator.dm @@ -27,9 +27,9 @@ */ var/emptying = FALSE -/obj/machinery/plumbing/acclimator/Initialize(mapload, bolt) +/obj/machinery/plumbing/acclimator/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/acclimator, bolt) + AddComponent(/datum/component/plumbing/acclimator, bolt, layer) /obj/machinery/plumbing/acclimator/process(delta_time) if(machine_stat & NOPOWER || !enabled || !reagents.total_volume || reagents.chem_temp == target_temperature) diff --git a/code/modules/plumbing/plumbers/bottler.dm b/code/modules/plumbing/plumbers/bottler.dm index c20e520c681..a7b0dacb2d9 100644 --- a/code/modules/plumbing/plumbers/bottler.dm +++ b/code/modules/plumbing/plumbers/bottler.dm @@ -16,9 +16,9 @@ ///where beakers that are already full will be sent var/turf/badspot = null -/obj/machinery/plumbing/bottler/Initialize(mapload, bolt) +/obj/machinery/plumbing/bottler/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) + AddComponent(/datum/component/plumbing/simple_demand, bolt, layer) setDir(dir) /obj/machinery/plumbing/bottler/examine(mob/user) diff --git a/code/modules/plumbing/plumbers/destroyer.dm b/code/modules/plumbing/plumbers/destroyer.dm index 92747d6c59e..4560cee67d1 100644 --- a/code/modules/plumbing/plumbers/destroyer.dm +++ b/code/modules/plumbing/plumbers/destroyer.dm @@ -5,9 +5,9 @@ ///we remove 5 reagents per second var/disposal_rate = 5 -/obj/machinery/plumbing/disposer/Initialize(mapload, bolt) +/obj/machinery/plumbing/disposer/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) + AddComponent(/datum/component/plumbing/simple_demand, bolt, layer) /obj/machinery/plumbing/disposer/process(delta_time) if(machine_stat & NOPOWER) diff --git a/code/modules/plumbing/plumbers/fermenter.dm b/code/modules/plumbing/plumbers/fermenter.dm index 76af7989766..e67f6401769 100644 --- a/code/modules/plumbing/plumbers/fermenter.dm +++ b/code/modules/plumbing/plumbers/fermenter.dm @@ -10,9 +10,9 @@ ///input dir var/eat_dir = SOUTH -/obj/machinery/plumbing/fermenter/Initialize(mapload, bolt) +/obj/machinery/plumbing/fermenter/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_supply, bolt) + AddComponent(/datum/component/plumbing/simple_supply, bolt, layer) /obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user, rotation_type) if(anchored) diff --git a/code/modules/plumbing/plumbers/filter.dm b/code/modules/plumbing/plumbers/filter.dm index 92f1949fd48..02e1e425c14 100644 --- a/code/modules/plumbing/plumbers/filter.dm +++ b/code/modules/plumbing/plumbers/filter.dm @@ -14,9 +14,9 @@ ///whitelist of chems but their name instead of path var/list/english_right = list() -/obj/machinery/plumbing/filter/Initialize(mapload, bolt) +/obj/machinery/plumbing/filter/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/filter, bolt) + AddComponent(/datum/component/plumbing/filter, bolt, layer) /obj/machinery/plumbing/filter/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/plumbing/plumbers/grinder_chemical.dm b/code/modules/plumbing/plumbers/grinder_chemical.dm index e93c0d5b65c..6c1eff4acbe 100644 --- a/code/modules/plumbing/plumbers/grinder_chemical.dm +++ b/code/modules/plumbing/plumbers/grinder_chemical.dm @@ -9,9 +9,9 @@ var/eat_dir = SOUTH -/obj/machinery/plumbing/grinder_chemical/Initialize(mapload, bolt) +/obj/machinery/plumbing/grinder_chemical/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_supply, bolt) + AddComponent(/datum/component/plumbing/simple_supply, bolt, layer) /obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user, rotation_type) if(anchored) diff --git a/code/modules/plumbing/plumbers/pill_press.dm b/code/modules/plumbing/plumbers/pill_press.dm index 1c185590d72..61a0c741401 100644 --- a/code/modules/plumbing/plumbers/pill_press.dm +++ b/code/modules/plumbing/plumbers/pill_press.dm @@ -33,9 +33,9 @@ . = ..() . += "The [name] currently has [stored_products.len] stored. There needs to be less than [max_floor_products] on the floor to continue dispensing." -/obj/machinery/plumbing/pill_press/Initialize(mapload, bolt) +/obj/machinery/plumbing/pill_press/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) + AddComponent(/datum/component/plumbing/simple_demand, bolt, layer) //expertly copypasted from chemmasters var/datum/asset/spritesheet/simple/assets = get_asset_datum(/datum/asset/spritesheet/simple/pills) diff --git a/code/modules/plumbing/plumbers/plumbing_buffer.dm b/code/modules/plumbing/plumbers/plumbing_buffer.dm index 4cece32aff6..25dadcfb2fb 100644 --- a/code/modules/plumbing/plumbers/plumbing_buffer.dm +++ b/code/modules/plumbing/plumbers/plumbing_buffer.dm @@ -12,10 +12,10 @@ var/activation_volume = 100 var/mode -/obj/machinery/plumbing/buffer/Initialize(mapload, bolt) +/obj/machinery/plumbing/buffer/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/buffer, bolt) + AddComponent(/datum/component/plumbing/buffer, bolt, layer) /obj/machinery/plumbing/buffer/create_reagents(max_vol, flags) . = ..() diff --git a/code/modules/plumbing/plumbers/pumps.dm b/code/modules/plumbing/plumbers/pumps.dm index 5f82b4550bd..3c8514aedd3 100644 --- a/code/modules/plumbing/plumbers/pumps.dm +++ b/code/modules/plumbing/plumbers/pumps.dm @@ -19,9 +19,9 @@ ///volume of our internal buffer var/volume = 200 -/obj/machinery/plumbing/liquid_pump/Initialize(mapload, bolt) +/obj/machinery/plumbing/liquid_pump/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_supply, bolt) + AddComponent(/datum/component/plumbing/simple_supply, bolt, layer) ///please note that the component has a hook in the parent call, wich handles activating and deactivating /obj/machinery/plumbing/liquid_pump/default_unfasten_wrench(mob/user, obj/item/I, time = 20) diff --git a/code/modules/plumbing/plumbers/reaction_chamber.dm b/code/modules/plumbing/plumbers/reaction_chamber.dm index 06f3628cbee..64cd694a515 100644 --- a/code/modules/plumbing/plumbers/reaction_chamber.dm +++ b/code/modules/plumbing/plumbers/reaction_chamber.dm @@ -24,9 +24,9 @@ ///beaker that holds the alkaline buffer. var/obj/item/reagent_containers/glass/beaker/alkaline_beaker -/obj/machinery/plumbing/reaction_chamber/Initialize(mapload, bolt) +/obj/machinery/plumbing/reaction_chamber/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/reaction_chamber, bolt) + AddComponent(/datum/component/plumbing/reaction_chamber, bolt, layer) acidic_beaker = new (src) alkaline_beaker = new (src) diff --git a/code/modules/plumbing/plumbers/splitters.dm b/code/modules/plumbing/plumbers/splitters.dm index b1add57c3b3..ceedf7d955b 100644 --- a/code/modules/plumbing/plumbers/splitters.dm +++ b/code/modules/plumbing/plumbers/splitters.dm @@ -16,9 +16,9 @@ //the maximum you can set the transfer to var/max_transfer = 9 -/obj/machinery/plumbing/splitter/Initialize(mapload, bolt) +/obj/machinery/plumbing/splitter/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/splitter, bolt) + AddComponent(/datum/component/plumbing/splitter, bolt, layer) /obj/machinery/plumbing/splitter/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/plumbing/plumbers/synthesizer.dm b/code/modules/plumbing/plumbers/synthesizer.dm index 43ae1570108..6f49377a0e0 100644 --- a/code/modules/plumbing/plumbers/synthesizer.dm +++ b/code/modules/plumbing/plumbers/synthesizer.dm @@ -41,9 +41,9 @@ /datum/reagent/fuel, ) -/obj/machinery/plumbing/synthesizer/Initialize(mapload, bolt) +/obj/machinery/plumbing/synthesizer/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_supply, bolt) + AddComponent(/datum/component/plumbing/simple_supply, bolt, layer) /obj/machinery/plumbing/synthesizer/process(delta_time) if(machine_stat & NOPOWER || !reagent_id || !amount) diff --git a/code/modules/plumbing/plumbers/teleporter.dm b/code/modules/plumbing/plumbers/teleporter.dm index 311199a00a0..7a1f20204ed 100644 --- a/code/modules/plumbing/plumbers/teleporter.dm +++ b/code/modules/plumbing/plumbers/teleporter.dm @@ -9,9 +9,9 @@ ///whoever we teleport our chems to var/obj/machinery/plumbing/receiver/target = null -/obj/machinery/plumbing/sender/Initialize(mapload, bolt) +/obj/machinery/plumbing/sender/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) + AddComponent(/datum/component/plumbing/simple_demand, bolt, layer) /obj/machinery/plumbing/sender/multitool_act(mob/living/user, obj/item/I) if(!multitool_check_buffer(user, I)) diff --git a/icons/obj/plumbing/plumbers.dmi b/icons/obj/plumbing/plumbers.dmi index 35adac58da2..4381bef335c 100644 Binary files a/icons/obj/plumbing/plumbers.dmi and b/icons/obj/plumbing/plumbers.dmi differ