diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index baa5b9f975..c08eb80a79 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -48,6 +48,8 @@ Buildable meters
#define PIPE_SCRUBBERS_DOWN 40
#define PIPE_SUPPLY_CAP 41
#define PIPE_SCRUBBERS_CAP 42
+///// Mirrored T-valve ~ because I couldn't be bothered re-sorting all of the defines
+#define PIPE_MTVALVEM 43
/obj/item/pipe
name = "pipe"
@@ -130,6 +132,8 @@ Buildable meters
src.pipe_type = PIPE_PASSIVE_GATE
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/mirrored))
+ src.pipe_type = PIPE_MTVALVEM
else if(istype(make_from, /obj/machinery/atmospherics/tvalve))
src.pipe_type = PIPE_MTVALVE
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply))
@@ -244,6 +248,7 @@ Buildable meters
"scrubbers pipe down", \
"supply pipe cap", \
"scrubbers pipe cap", \
+ "t-valve m", \
)
name = nlist[pipe_type+1] + " fitting"
var/list/islist = list( \
@@ -293,6 +298,7 @@ Buildable meters
"cap", \
"cap", \
"cap", \
+ "mtvalvem", \
)
icon_state = islist[pipe_type + 1]
@@ -369,9 +375,9 @@ Buildable meters
return dir|flip|cw|acw
if(PIPE_MANIFOLD, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD)
return flip|cw|acw
- if(PIPE_GAS_FILTER, PIPE_GAS_MIXER,PIPE_MTVALVE)
+ if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_MTVALVE)
return dir|flip|cw
- if(PIPE_GAS_FILTER_M, PIPE_GAS_MIXER_M)
+ if(PIPE_GAS_FILTER_M, PIPE_GAS_MIXER_M, PIPE_MTVALVEM)
return dir|flip|acw
if(PIPE_GAS_MIXER_T)
return dir|cw|acw
@@ -925,6 +931,26 @@ Buildable meters
V.node3.initialize()
V.node3.build_network()
+ if(PIPE_MTVALVEM) //manual t-valve
+ var/obj/machinery/atmospherics/tvalve/mirrored/V = new(src.loc)
+ V.set_dir(dir)
+ V.initialize_directions = pipe_dir
+ if (pipename)
+ V.name = pipename
+ var/turf/T = V.loc
+ V.level = T.intact ? 2 : 1
+ V.initialize()
+ V.build_network()
+ if (V.node1)
+ V.node1.initialize()
+ V.node1.build_network()
+ if (V.node2)
+ V.node2.initialize()
+ V.node2.build_network()
+ if (V.node3)
+ V.node3.initialize()
+ V.node3.build_network()
+
if(PIPE_CAP)
var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc)
C.set_dir(dir)
@@ -1168,6 +1194,7 @@ Buildable meters
#undef PIPE_VOLUME_PUMP
#undef PIPE_OUTLET_INJECT
#undef PIPE_MTVALVE
+#undef PIPE_MTVALVEM
#undef PIPE_GAS_FILTER_M
#undef PIPE_GAS_MIXER_T
#undef PIPE_GAS_MIXER_M
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 49f566af57..fb296d2409 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -20,6 +20,7 @@
Pipe Cap
4-Way Manifold
Manual T-Valve
+Manual T-Valve - Mirrored
Upward Pipe
Downward Pipe
Supply pipes:
@@ -48,10 +49,10 @@
Scrubber
Meter
Gas Filter
-Gas Filter-Mirrored
+Gas Filter - Mirrored
Gas Mixer
-Gas Mixer-Mirrored
-Gas Mixer-T
+Gas Mixer - Mirrored
+Gas Mixer - T
Omni Gas Mixer
Omni Gas Filter
Heat exchange:
diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi
index 2fa39fec04..1ad833316d 100644
Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ