diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm index 7d15ffd19df..c0c005572e2 100644 --- a/code/ATMOSPHERICS/components/tvalve.dm +++ b/code/ATMOSPHERICS/components/tvalve.dm @@ -339,6 +339,18 @@ obj/machinery/atmospherics/tvalve obj/machinery/atmospherics/tvalve/mirrored icon_state = "tvalvem0" + New() + switch(dir) + if(NORTH) + initialize_directions = SOUTH|NORTH|WEST + if(SOUTH) + initialize_directions = NORTH|SOUTH|EAST + if(EAST) + initialize_directions = WEST|EAST|NORTH + if(WEST) + initialize_directions = EAST|WEST|SOUTH + ..() + initialize() var/node1_dir var/node2_dir diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm index 71d9490160a..b186603a44c 100644 --- a/code/ATMOSPHERICS/pipes.dm +++ b/code/ATMOSPHERICS/pipes.dm @@ -1015,10 +1015,22 @@ obj/machinery/atmospherics/pipe volume = 35 dir = SOUTH - initialize_directions = SOUTH + initialize_directions = NORTH var/obj/machinery/atmospherics/node + New() + ..() + switch(dir) + if(SOUTH) + initialize_directions = NORTH + if(NORTH) + initialize_directions = SOUTH + if(WEST) + initialize_directions = EAST + if(EAST) + initialize_directions = WEST + hide(var/i) if(level == 1 && istype(loc, /turf/simulated)) invisibility = i ? 101 : 0 diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index f0388c880c1..4dd15eac30e 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -19,6 +19,7 @@ Buildable meters #define PIPE_GAS_MIXER 14 #define PIPE_MTVALVE 15 #define PIPE_MANIFOLD4W 16 +#define PIPE_CAP 17 /obj/item/pipe name = "pipe" @@ -72,6 +73,8 @@ Buildable meters src.pipe_type = PIPE_MTVALVE else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold)) src.pipe_type = PIPE_MANIFOLD4W + else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap)) + src.pipe_type = PIPE_CAP else src.pipe_type = pipe_type src.dir = dir @@ -101,6 +104,7 @@ Buildable meters "gas mixer", \ "t-valve", \ "4-way manifold", \ + "pipe cap", \ ) name = nlist[pipe_type+1] + " fitting" var/list/islist = list( \ @@ -121,6 +125,7 @@ Buildable meters "mixer", \ "mtvalve", \ "manifold4w", \ + "cap", \ ) icon_state = islist[pipe_type + 1] @@ -187,6 +192,8 @@ Buildable meters return flip|cw|acw if(PIPE_GAS_FILTER, PIPE_GAS_MIXER,PIPE_MTVALVE) return dir|flip|cw + if(PIPE_CAP) + return flip return 0 /obj/item/pipe/proc/get_pdir() //endpoints for regular pipes @@ -510,6 +517,16 @@ Buildable meters V.node3.initialize() V.node3.build_network() + if(PIPE_CAP) + var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc) + C.dir = dir + C.initialize_directions = pipe_dir + C.initialize() + C.build_network() + if(C.node) + C.node.initialize() + C.node.build_network() + playsound(src.loc, 'Ratchet.ogg', 50, 1) user.visible_message( \ "[user] fastens the [src].", \ diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 68ae5bd58f6..20323f858ea 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -16,6 +16,7 @@ var/dat = {" Regular pipes:
Pipe
+Pipe Cap
`` Bent Pipe
Manifold
4-Way Manifold
@@ -33,9 +34,6 @@ Pipe
Bent Pipe
Junction
-Insulated pipes:
-Pipe
-Bent Pipe
"} diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 96cf274c7b8..4ea680ac809 100644 Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ