diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 5d3c27ad1b8..cbd9b4e0708 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -23,6 +23,8 @@ Pipelines + Other Objects -> Pipe network // Which directions can we connect with? var/initialize_directions = 0 + var/obj/machinery/atmospherics/mirror //not actually an object reference, but a type. The reflection of the current pipe + // Pipe painter color setting. var/_color diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index 16060740686..cbeedeecdb6 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -5,6 +5,8 @@ obj/machinery/atmospherics/trinary/filter name = "Gas filter" + mirror = /obj/machinery/atmospherics/trinary/filter/mirrored + var/on = 0 var/temp = null // -- TLE @@ -235,3 +237,25 @@ obj/machinery/atmospherics/trinary/filter/Topic(href, href_list) // -- TLE return +/obj/machinery/atmospherics/trinary/filter/mirrored + icon_state = "intactm_off" + +/obj/machinery/atmospherics/trinary/filter/mirrored/initialize() + if(node1 && node2 && node3) return + + node1 = findConnecting(dir) + node2 = findConnecting(turn(dir, -90)) + node3 = findConnecting(turn(dir, -180)) + + update_icon() + +/obj/machinery/atmospherics/trinary/filter/mirrored/update_icon() + if(stat & NOPOWER) + icon_state = "intactm_off" + else if(node2 && node3 && node1) + icon_state = "intactm_[on?("on"):("off")]" + else + icon_state = "intactm_off" + on = 0 + + return \ No newline at end of file diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 15fff568535..27c96a9a9dd 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -5,6 +5,8 @@ obj/machinery/atmospherics/trinary/mixer name = "Gas mixer" + mirror = /obj/machinery/atmospherics/trinary/mixer/mirrored + var/on = 0 var/target_pressure = ONE_ATMOSPHERE @@ -160,3 +162,26 @@ obj/machinery/atmospherics/trinary/mixer src.update_icon() src.updateUsrDialog() return + +/obj/machinery/atmospherics/trinary/mixer/mirrored + icon_state = "intactm_off" + +/obj/machinery/atmospherics/trinary/mixer/mirrored/update_icon() + if(stat & NOPOWER) + icon_state = "intactm_off" + else if(node2 && node3 && node1) + icon_state = "intactm_[on?("on"):("off")]" + else + icon_state = "intactm_off" + on = 0 + + return + +/obj/machinery/atmospherics/trinary/mixer/mirrored/initialize() + if(node1 && node2 && node3) return + + node1 = findConnecting(dir) + node2 = findConnecting(turn(dir, -90)) + node3 = findConnecting(turn(dir, -180)) + + update_icon() diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index a4c5fb35680..78bc20f20be 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -35,6 +35,11 @@ obj/machinery/atmospherics/trinary air3.volume = 200 buildFrom(var/mob/usr,var/obj/item/pipe/pipe) + if(!(pipe.dir in list(NORTH, SOUTH, EAST, WEST)) && src.mirror) //because the dir isn't in the right set, we want to make the mirror kind + var/obj/machinery/atmospherics/trinary/mirrored_pipe = new mirror(src.loc) + pipe.dir = turn(pipe.dir, -45) + qdel(src) + return mirrored_pipe.buildFrom(usr, pipe) dir = pipe.dir initialize_directions = pipe.get_pipe_dir() if (pipe.pipename) diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm index 5f8d8bdf526..826cc236e98 100644 --- a/code/ATMOSPHERICS/components/tvalve.dm +++ b/code/ATMOSPHERICS/components/tvalve.dm @@ -8,6 +8,8 @@ obj/machinery/atmospherics/tvalve dir = SOUTH initialize_directions = SOUTH|NORTH|WEST + mirror = /obj/machinery/atmospherics/tvalve/mirrored + state = 0 // 0 = go straight, 1 = go to side // like a trinary component, node1 is input, node2 is side output, node3 is straight output @@ -30,6 +32,11 @@ obj/machinery/atmospherics/tvalve ..() buildFrom(var/mob/usr,var/obj/item/pipe/pipe) + if(!(pipe.dir in list(NORTH, SOUTH, EAST, WEST)) && src.mirror) + var/obj/machinery/atmospherics/tvalve/mirrored_pipe = new mirror(src.loc) + pipe.dir = turn(pipe.dir, -45) + qdel(src) + return mirrored_pipe.buildFrom(usr, pipe) dir = pipe.dir initialize_directions = pipe.get_pipe_dir() if (pipe.pipename) @@ -272,6 +279,8 @@ obj/machinery/atmospherics/tvalve desc = "A digitally controlled valve." icon = 'icons/obj/atmospherics/digital_valve.dmi' + mirror = /obj/machinery/atmospherics/tvalve/mirrored/digital + attack_ai(mob/user as mob) src.add_hiddenprint(user) return src.attack_hand(user) @@ -322,9 +331,6 @@ obj/machinery/atmospherics/tvalve attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) if (!istype(W, /obj/item/weapon/wrench)) return ..() - if (istype(src, /obj/machinery/atmospherics/tvalve/digital)) - user << "\red You cannot unwrench this [src], it's too complicated." - return 1 var/turf/T = src.loc if (level==1 && isturf(T) && T.intact) user << "\red You must remove the plating first." diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 9b053708cfe..a3306b3528e 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -2,6 +2,8 @@ Buildable pipes Buildable meters */ + +//Gas piping numbers - do NOT hardcode these, use the defines #define PIPE_SIMPLE_STRAIGHT 0 #define PIPE_SIMPLE_BENT 1 #define PIPE_HE_STRAIGHT 2 @@ -28,6 +30,17 @@ Buildable meters #define PIPE_INJECTOR 23 #define PIPE_DP_VENT 24 #define PIPE_PASV_VENT 25 +#define PIPE_DTVALVE 26 + +//Disposal piping numbers - do NOT hardcode these, use the defines +#define DISP_PIPE_STRAIGHT 0 +#define DISP_PIPE_BENT 1 +#define DISP_JUNCTION 2 +#define DISP_YJUNCTION 3 +#define DISP_END_TRUNK 4 +#define DISP_END_BIN 5 +#define DISP_END_OUTLET 6 +#define DISP_END_CHUTE 7 /obj/item/pipe_spawner name = "Pipe Spawner" @@ -101,8 +114,12 @@ Buildable meters src.pipe_type = PIPE_PUMP else if(istype(make_from, /obj/machinery/atmospherics/trinary/filter)) src.pipe_type = PIPE_GAS_FILTER + if(istype(make_from, /obj/machinery/atmospherics/trinary/filter/mirrored)) + src.dir = turn(src.dir, 45) //adjust it to have the proper icon else if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer)) src.pipe_type = PIPE_GAS_MIXER + if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer/mirrored)) + src.dir = turn(src.dir, 45) else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_scrubber)) src.pipe_type = PIPE_SCRUBBER else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate)) @@ -112,7 +129,12 @@ Buildable meters else if(istype(make_from, /obj/machinery/atmospherics/unary/heat_exchanger)) src.pipe_type = PIPE_HEAT_EXCHANGE else if(istype(make_from, /obj/machinery/atmospherics/tvalve)) - src.pipe_type = PIPE_MTVALVE + if(istype(make_from, /obj/machinery/atmospherics/tvalve/digital) || istype(make_from, /obj/machinery/atmospherics/tvalve/mirrored/digital)) + src.pipe_type = PIPE_DTVALVE + else + src.pipe_type = PIPE_MTVALVE + if(istype(make_from, /obj/machinery/atmospherics/tvalve/mirrored)) + src.dir = turn(src.dir, 45) //sets the angle and icon correctly else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w)) src.pipe_type = PIPE_MANIFOLD4W else if(istype(make_from, /obj/machinery/atmospherics/unary/cap)) @@ -161,7 +183,8 @@ var/global/list/pipeID2State = list( "thermalplate", "injector", "binary vent", - "passive vent" + "passive vent", + "dtvalve" ) /obj/item/pipe/proc/update() var/list/nlist = list( \ @@ -190,7 +213,8 @@ var/global/list/pipeID2State = list( "thermal plate", \ "injector", \ "dual-port vent", \ - "passive vent" + "passive vent", \ + "digital t-valve" ) name = nlist[pipe_type+1] + " fitting" icon = 'icons/obj/pipe-item.dmi' @@ -262,7 +286,7 @@ var/global/list/pipeID2State = list( return dir|flip|cw|acw if(PIPE_MANIFOLD) return flip|cw|acw - if(PIPE_GAS_FILTER, PIPE_GAS_MIXER,PIPE_MTVALVE) + if(PIPE_GAS_FILTER, PIPE_GAS_MIXER,PIPE_MTVALVE,PIPE_DTVALVE) return dir|flip|cw if(PIPE_CAP) return flip @@ -396,6 +420,9 @@ var/global/list/pipeID2State = list( if(PIPE_PASV_VENT) P=new /obj/machinery/atmospherics/pipe/vent(src.loc) + if(PIPE_DTVALVE) + P=new /obj/machinery/atmospherics/tvalve/digital(src.loc) + if(P.buildFrom(usr,src)) playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1) user.visible_message( \ diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 5069f5e8b88..8b69220ad54 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -4,7 +4,6 @@ icon_state = "pipe_d" density = 1 anchored = 1 - var/unwrenched = 0 var/wait = 0 machine_flags = WRENCHMOVE | FIXED2WORK @@ -36,42 +35,43 @@ var/dat = {" Regular pipes: Devices: Heat exchange: Insulated pipes: "} //What number the make points to is in the define # at the top of construction.dm in same folder @@ -83,7 +83,7 @@ /obj/machinery/pipedispenser/Topic(href, href_list) if(..()) return - if(unwrenched || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + if(!anchored || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=pipedispenser") return usr.set_machine(src) @@ -123,16 +123,8 @@ return ..() /obj/machinery/pipedispenser/wrenchAnchor(mob/user) - playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1) - user << "\blue You begin to [anchored ? "un" : ""]fasten \the [src] from the floor..." - if (do_after(user, 40)) - user.visible_message( \ - "[user] unfastens \the [src].", \ - "\blue You have [anchored ? "un" : ""]fastened \the [src]. Now it can [anchored ? "be pulled somewhere else" : "dispense pipes"].", \ - "You hear ratchet.") - src.anchored = !src.anchored - src.unwrenched = !src.unwrenched - if (unwrenched==0) + if(..() == 1) + if(anchored) src.stat |= MAINT if (usr.machine==src) usr << browse(null, "window=pipedispenser") @@ -191,14 +183,14 @@ Nah return var/dat = {"Disposal Pipes

-Pipe
-Bent Pipe
-Junction
-Y-Junction
-Trunk
-Bin
-Outlet
-Chute
+Pipe
+Bent Pipe
+Junction
+Y-Junction
+Trunk
+Bin
+Outlet
+Chute
"} user << browse("[src][dat]", "window=pipedispenser") @@ -213,14 +205,14 @@ Nah usr.set_machine(src) src.add_fingerprint(usr) if(href_list["dmake"]) - if(unwrenched || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + if(!anchored || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=pipedispenser") return if(!wait) var/p_type = text2num(href_list["dmake"]) var/obj/structure/disposalconstruct/C = new (src.loc) switch(p_type) - if(0) + if(0, 1, 2, 3, 4, 5) C.ptype = 0 if(1) C.ptype = 1 diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm index 03b5a12e023..31bbcbebeeb 100644 --- a/code/game/objects/items/weapons/RPD.dm +++ b/code/game/objects/items/weapons/RPD.dm @@ -4,10 +4,11 @@ CONTAINS: RPD */ -#define PIPE_BINARY 0 -#define PIPE_BENT 1 -#define PIPE_TRINARY 2 -#define PIPE_UNARY 3 +#define PIPE_BINARY 0 +#define PIPE_BENT 1 +#define PIPE_TRINARY 2 +#define PIPE_TRIN_M 3 +#define PIPE_UNARY 4 /datum/pipe_info var/id=-1 @@ -59,6 +60,7 @@ var/global/list/disposalpipeID2State=list( "pipe-j1s", "pipe-j2s" ) + /datum/pipe_info/disposal icon = 'icons/obj/pipes/disposal.dmi' icon_state = "meterX" @@ -74,51 +76,53 @@ var/global/list/disposalpipeID2State=list( /datum/pipe_info/disposal/Render(var/dispenser,var/label) return "
  • [label]
  • " +//find these defines in code\game\machinery\pipe\consruction.dm var/global/list/RPD_recipes=list( "Regular Pipes" = list( - "Pipe" = new /datum/pipe_info(0, 1, PIPE_BINARY), - "Bent Pipe" = new /datum/pipe_info(1, 5, PIPE_BENT), - "Manifold" = new /datum/pipe_info(5, 1, PIPE_TRINARY), - "Manual Valve" = new /datum/pipe_info(8, 1, PIPE_BINARY), - "Digital Valve" = new /datum/pipe_info(18, 1, PIPE_BINARY), - "Pipe Cap" = new /datum/pipe_info(21, 1, PIPE_UNARY), - "4-Way Manifold" = new /datum/pipe_info(20,-1, PIPE_BINARY), - "Manual T-Valve" = new /datum/pipe_info(19, 2, PIPE_TRINARY), + "Pipe" = new /datum/pipe_info(PIPE_SIMPLE_STRAIGHT, 1, PIPE_BINARY), + "Bent Pipe" = new /datum/pipe_info(PIPE_SIMPLE_BENT, 5, PIPE_BENT), + "Manifold" = new /datum/pipe_info(PIPE_MANIFOLD, 1, PIPE_TRINARY), + "Manual Valve" = new /datum/pipe_info(PIPE_MVALVE, 1, PIPE_BINARY), + "Digital Valve" = new /datum/pipe_info(PIPE_DVALVE, 1, PIPE_BINARY), + "Pipe Cap" = new /datum/pipe_info(PIPE_CAP, 1, PIPE_UNARY), + "4-Way Manifold" = new /datum/pipe_info(PIPE_MANIFOLD4W, -1, PIPE_BINARY), + "Manual T-Valve" = new /datum/pipe_info(PIPE_MTVALVE, 2, PIPE_TRIN_M), + "Digital T-Valve" = new /datum/pipe_info(PIPE_DTVALVE, 2, PIPE_TRIN_M), ), "Devices"=list( - "Connector" = new /datum/pipe_info(4, 1, PIPE_UNARY), - "Unary Vent" = new /datum/pipe_info(7, 1, PIPE_UNARY), - "Passive Vent" = new /datum/pipe_info(PIPE_PASV_VENT, 1, PIPE_UNARY), - "Gas Pump" = new /datum/pipe_info(9, 1, PIPE_UNARY), - "Passive Gate" = new /datum/pipe_info(15,1, PIPE_UNARY), - "Volume Pump" = new /datum/pipe_info(16,1, PIPE_UNARY), - "Scrubber" = new /datum/pipe_info(10,1, PIPE_UNARY), + "Connector" = new /datum/pipe_info(PIPE_CONNECTOR, 1, PIPE_UNARY), + "Unary Vent" = new /datum/pipe_info(PIPE_UVENT, 1, PIPE_UNARY), + "Passive Vent" = new /datum/pipe_info(PIPE_PASV_VENT, 1, PIPE_UNARY), + "Gas Pump" = new /datum/pipe_info(PIPE_PUMP, 1, PIPE_UNARY), + "Passive Gate" = new /datum/pipe_info(PIPE_PASSIVE_GATE, 1, PIPE_UNARY), + "Volume Pump" = new /datum/pipe_info(PIPE_VOLUME_PUMP, 1, PIPE_UNARY), + "Scrubber" = new /datum/pipe_info(PIPE_SCRUBBER, 1, PIPE_UNARY), "Meter" = new /datum/pipe_info/meter(), "Gas Sensor" = new /datum/pipe_info/gsensor(), - "Gas Filter" = new /datum/pipe_info(13,1, PIPE_TRINARY), - "Gas Mixer" = new /datum/pipe_info(14,1, PIPE_TRINARY), - "Thermal Plate" = new /datum/pipe_info(PIPE_THERMAL_PLATE,1, PIPE_UNARY), - "Injector" = new /datum/pipe_info(PIPE_INJECTOR, 1, PIPE_UNARY), + "Gas Filter" = new /datum/pipe_info(PIPE_GAS_FILTER, 1, PIPE_TRIN_M), + "Gas Mixer" = new /datum/pipe_info(PIPE_GAS_MIXER, 1, PIPE_TRIN_M), + "Thermal Plate" = new /datum/pipe_info(PIPE_THERMAL_PLATE, 1, PIPE_UNARY), + "Injector" = new /datum/pipe_info(PIPE_INJECTOR, 1, PIPE_UNARY), ), "Heat Exchange" = list( - "Pipe" = new /datum/pipe_info(2, 1, PIPE_BINARY), - "Bent Pipe" = new /datum/pipe_info(3, 5, PIPE_BENT), - "Junction" = new /datum/pipe_info(6, 1, PIPE_UNARY), - "Heat Exchanger" = new /datum/pipe_info(17,1, PIPE_UNARY), + "Pipe" = new /datum/pipe_info(PIPE_HE_STRAIGHT, 1, PIPE_BINARY), + "Bent Pipe" = new /datum/pipe_info(PIPE_HE_BENT, 5, PIPE_BENT), + "Junction" = new /datum/pipe_info(PIPE_JUNCTION, 1, PIPE_UNARY), + "Heat Exchanger" = new /datum/pipe_info(PIPE_HEAT_EXCHANGE, 1, PIPE_UNARY), ), "Insulated Pipes" = list( - "Pipe" = new /datum/pipe_info(11,1, PIPE_BINARY), - "Bent Pipe" = new /datum/pipe_info(12,5, PIPE_BENT), + "Pipe" = new /datum/pipe_info(PIPE_INSULATED_STRAIGHT,1, PIPE_BINARY), + "Bent Pipe" = new /datum/pipe_info(PIPE_INSULATED_BENT, 5, PIPE_BENT), ), "Disposal Pipes" = list( - "Pipe" = new /datum/pipe_info/disposal(0, PIPE_BINARY), - "Bent Pipe" = new /datum/pipe_info/disposal(1, PIPE_BENT), - "Junction" = new /datum/pipe_info/disposal(2, PIPE_TRINARY), - "Y-Junction" = new /datum/pipe_info/disposal(3, PIPE_TRINARY), - "Trunk" = new /datum/pipe_info/disposal(4, PIPE_TRINARY), - "Bin" = new /datum/pipe_info/disposal(5, PIPE_UNARY), - "Outlet" = new /datum/pipe_info/disposal(6, PIPE_UNARY), - "Chute" = new /datum/pipe_info/disposal(7, PIPE_UNARY), + "Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_STRAIGHT, PIPE_BINARY), + "Bent Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_BENT, PIPE_BENT), + "Junction" = new /datum/pipe_info/disposal(DISP_JUNCTION, PIPE_TRINARY), + "Y-Junction" = new /datum/pipe_info/disposal(DISP_YJUNCTION, PIPE_TRINARY), + "Trunk" = new /datum/pipe_info/disposal(DISP_END_TRUNK, PIPE_TRINARY), + "Bin" = new /datum/pipe_info/disposal(DISP_END_BIN, PIPE_UNARY), + "Outlet" = new /datum/pipe_info/disposal(DISP_END_OUTLET, PIPE_UNARY), + "Chute" = new /datum/pipe_info/disposal(DISP_END_CHUTE, PIPE_UNARY), ) ) /obj/item/weapon/pipe_dispenser @@ -169,7 +173,7 @@ var/global/list/RPD_recipes=list( /obj/item/weapon/pipe_dispenser/proc/render_dir_img(var/_dir,var/pic,var/title) var/selected="" - if(_dir==p_dir) + if(_dir == p_dir) selected=" class=\"selected\"" return "" @@ -288,6 +292,40 @@ var/global/list/RPD_recipes=list(

    "} + if(PIPE_TRIN_M) // Mirrored ones + if(preview) + user << browse_rsc(new /icon(preview, dir=NORTH), "s.png") + user << browse_rsc(new /icon(preview, dir=EAST), "w.png") + user << browse_rsc(new /icon(preview, dir=SOUTH), "n.png") + user << browse_rsc(new /icon(preview, dir=WEST), "e.png") + user << browse_rsc(new /icon(preview, dir=SOUTHEAST), "sm.png") //each mirror icon is 45 anticlockwise from it's real direction + user << browse_rsc(new /icon(preview, dir=NORTHEAST), "wm.png") + user << browse_rsc(new /icon(preview, dir=NORTHWEST), "nm.png") + user << browse_rsc(new /icon(preview, dir=SOUTHWEST), "em.png") + + dirsel += "

    " + dirsel += render_dir_img(1,"s.png","West South East") + dirsel += render_dir_img(4,"w.png","North West South") + dirsel += "
    " + dirsel += render_dir_img(2,"n.png","East North West") + dirsel += render_dir_img(8,"e.png","South East North") + dirsel += "
    " + dirsel += render_dir_img(6,"sm.png","West South East") + dirsel += render_dir_img(5,"wm.png","North West South") + dirsel += "
    " + dirsel += render_dir_img(9,"nm.png","East North West") + dirsel += render_dir_img(10,"em.png","South East North") + dirsel += "

    " + else + dirsel+={" +

    + + +
    + + +

    + "} if(PIPE_UNARY) // Unary if(preview) user << browse_rsc(new /icon(preview, dir=NORTH), "n.png") diff --git a/icons/obj/atmospherics/digital_valve.dmi b/icons/obj/atmospherics/digital_valve.dmi index 0b3dffd0ae5..ce06e3cd76a 100644 Binary files a/icons/obj/atmospherics/digital_valve.dmi and b/icons/obj/atmospherics/digital_valve.dmi differ diff --git a/icons/obj/atmospherics/filter.dmi b/icons/obj/atmospherics/filter.dmi index 3bb85fdb642..d4a4f359750 100644 Binary files a/icons/obj/atmospherics/filter.dmi and b/icons/obj/atmospherics/filter.dmi differ diff --git a/icons/obj/atmospherics/mixer.dmi b/icons/obj/atmospherics/mixer.dmi index 79b62c87df2..3ac7c1431c0 100644 Binary files a/icons/obj/atmospherics/mixer.dmi and b/icons/obj/atmospherics/mixer.dmi differ diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 159512dcbdf..e343f6869b1 100644 Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ