diff --git a/code/ATMOSPHERICS/pipes/heat_exchange/junction.dm b/code/ATMOSPHERICS/pipes/heat_exchange/junction.dm index b4424371ac0..0cba512ec63 100644 --- a/code/ATMOSPHERICS/pipes/heat_exchange/junction.dm +++ b/code/ATMOSPHERICS/pipes/heat_exchange/junction.dm @@ -7,7 +7,6 @@ minimum_temperature_difference = 300 thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT - volume = 70 dir = SOUTH initialize_directions = NORTH diff --git a/code/ATMOSPHERICS/pipes/heat_exchange/manifold.dm b/code/ATMOSPHERICS/pipes/heat_exchange/manifold.dm new file mode 100644 index 00000000000..b9e7780cbac --- /dev/null +++ b/code/ATMOSPHERICS/pipes/heat_exchange/manifold.dm @@ -0,0 +1,60 @@ +//3-way manifold +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold + icon_state = "manifold" + + name = "pipe manifold" + desc = "A manifold composed of regular pipes" + + dir = SOUTH + initialize_directions_he = EAST|NORTH|WEST + + device_type = TRINARY + +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/SetInitDirections() + switch(dir) + if(NORTH) + initialize_directions_he = EAST|SOUTH|WEST + if(SOUTH) + initialize_directions_he = WEST|NORTH|EAST + if(EAST) + initialize_directions_he = SOUTH|WEST|NORTH + if(WEST) + initialize_directions_he = NORTH|EAST|SOUTH + +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/update_icon() + var/invis = invisibility ? "-f" : "" + + icon_state = "manifold_center[invis]" + + overlays.Cut() + + //Add non-broken pieces + for(DEVICE_TYPE_LOOP) + if(NODE_I) + overlays += getpipeimage('icons/obj/atmospherics/pipes/heat.dmi', "manifold_intact[invis]", get_dir(src, NODE_I)) + +//4-way manifold +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w + icon_state = "manifold4w" + + name = "4-way pipe manifold" + desc = "A manifold composed of heat-exchanging pipes" + + initialize_directions_he = NORTH|SOUTH|EAST|WEST + + device_type = QUATERNARY + +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/SetInitDirections() + initialize_directions_he = initial(initialize_directions_he) + +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/update_icon() + var/invis = invisibility ? "-f" : "" + + icon_state = "manifold4w_center[invis]" + + overlays.Cut() + + //Add non-broken pieces + for(DEVICE_TYPE_LOOP) + if(NODE_I) + overlays += getpipeimage('icons/obj/atmospherics/pipes/heat.dmi', "manifold_intact[invis]", get_dir(src, NODE_I)) \ No newline at end of file diff --git a/code/ATMOSPHERICS/pipes/heat_exchange/simple.dm b/code/ATMOSPHERICS/pipes/heat_exchange/simple.dm index 71d9b06b647..040e3cf8ae6 100644 --- a/code/ATMOSPHERICS/pipes/heat_exchange/simple.dm +++ b/code/ATMOSPHERICS/pipes/heat_exchange/simple.dm @@ -4,8 +4,6 @@ name = "pipe" desc = "A one meter section of heat-exchanging pipe" - volume = 70 - dir = SOUTH initialize_directions_he = SOUTH|NORTH diff --git a/code/ATMOSPHERICS/pipes/manifold.dm b/code/ATMOSPHERICS/pipes/manifold.dm index afee736108c..bae84ae22ce 100644 --- a/code/ATMOSPHERICS/pipes/manifold.dm +++ b/code/ATMOSPHERICS/pipes/manifold.dm @@ -8,8 +8,6 @@ name = "pipe manifold" desc = "A manifold composed of regular pipes" - volume = 105 - dir = SOUTH initialize_directions = EAST|NORTH|WEST diff --git a/code/ATMOSPHERICS/pipes/manifold4w.dm b/code/ATMOSPHERICS/pipes/manifold4w.dm index aeacfcd0b48..7b5514adc0e 100644 --- a/code/ATMOSPHERICS/pipes/manifold4w.dm +++ b/code/ATMOSPHERICS/pipes/manifold4w.dm @@ -8,8 +8,6 @@ name = "4-way pipe manifold" desc = "A manifold composed of regular pipes" - volume = 140 - initialize_directions = NORTH|SOUTH|EAST|WEST device_type = QUATERNARY diff --git a/code/ATMOSPHERICS/pipes/pipes.dm b/code/ATMOSPHERICS/pipes/pipes.dm index ca295939ceb..df05d4d18bc 100644 --- a/code/ATMOSPHERICS/pipes/pipes.dm +++ b/code/ATMOSPHERICS/pipes/pipes.dm @@ -16,6 +16,7 @@ /obj/machinery/atmospherics/pipe/New() color = pipe_color + volume = 35 * device_type ..() /obj/machinery/atmospherics/pipe/nullifyNode(I) diff --git a/code/ATMOSPHERICS/pipes/simple.dm b/code/ATMOSPHERICS/pipes/simple.dm index 2830f75f804..02337d84ec3 100644 --- a/code/ATMOSPHERICS/pipes/simple.dm +++ b/code/ATMOSPHERICS/pipes/simple.dm @@ -10,8 +10,6 @@ The regular pipe you see everywhere, including bent ones. name = "pipe" desc = "A one meter section of regular pipe" - volume = 70 - dir = SOUTH initialize_directions = SOUTH|NORTH diff --git a/code/__DEFINES/pipe_construction.dm b/code/__DEFINES/pipe_construction.dm index f04e8a32ee9..f19c19824ab 100644 --- a/code/__DEFINES/pipe_construction.dm +++ b/code/__DEFINES/pipe_construction.dm @@ -9,6 +9,8 @@ Construction breaks otherwise #define PIPE_MANIFOLD /obj/machinery/atmospherics/pipe/manifold #define PIPE_4WAYMANIFOLD /obj/machinery/atmospherics/pipe/manifold4w #define PIPE_HE /obj/machinery/atmospherics/pipe/heat_exchanging/simple +#define PIPE_HE_MANIFOLD /obj/machinery/atmospherics/pipe/heat_exchanging/manifold +#define PIPE_HE_4WAYMANIFOLD /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w #define PIPE_JUNCTION /obj/machinery/atmospherics/pipe/heat_exchanging/junction //Unary #define PIPE_CONNECTOR /obj/machinery/atmospherics/components/unary/portables_connector diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 9644bc0e8a8..78adee3d5b0 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -26,6 +26,8 @@ Buildable meters PIPE_MANIFOLD, \ PIPE_4WAYMANIFOLD, \ PIPE_HE, \ + PIPE_HE_MANIFOLD, \ + PIPE_HE_4WAYMANIFOLD, \ PIPE_JUNCTION, \ \ PIPE_CONNECTOR, \ @@ -83,6 +85,8 @@ var/global/list/pipeID2State = list( "[PIPE_MANIFOLD]" = "manifold", \ "[PIPE_4WAYMANIFOLD]" = "manifold4w", \ "[PIPE_HE]" = "he", \ + "[PIPE_HE_MANIFOLD]" = "he_manifold", \ + "[PIPE_HE_4WAYMANIFOLD]" = "he_manifold4w", \ "[PIPE_JUNCTION]" = "junction", \ \ "[PIPE_CONNECTOR]" = "connector", \ @@ -108,6 +112,8 @@ var/global/list/pipeID2State = list( "[PIPE_4WAYMANIFOLD]" = "4-way manifold", \ "[PIPE_HE]" = "h/e pipe", \ "[PIPE_HE]_b" = "bent h/e pipe", \ + "[PIPE_HE_MANIFOLD]" = "h/e manifold", \ + "[PIPE_HE_4WAYMANIFOLD]"= "h/e 4-way manifold", \ "[PIPE_JUNCTION]" = "junction", \ \ "[PIPE_CONNECTOR]" = "connector", \ diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 749d167bc3a..a23489333ea 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -33,6 +33,8 @@ Heat exchange:
Pipe
Bent Pipe
+Manifold
+4-Way Manifold
Junction
Heat Exchanger
"} diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm index 424fc84ee3e..41162bbe617 100644 --- a/code/game/objects/items/weapons/RPD.dm +++ b/code/game/objects/items/weapons/RPD.dm @@ -103,6 +103,8 @@ var/global/list/RPD_recipes=list( "Heat Exchange" = list( "Pipe" = new /datum/pipe_info(PIPE_HE, 1, PIPE_BENDABLE), //"Bent Pipe" = new /datum/pipe_info(PIPE_HE, 5, PIPE_BENT), + "Manifold" = new /datum/pipe_info(PIPE_HE_MANIFOLD, 1, PIPE_TRINARY), + "4-Way Manifold" = new /datum/pipe_info(PIPE_HE_4WAYMANIFOLD, 1, PIPE_QUAD), "Junction" = new /datum/pipe_info(PIPE_JUNCTION, 1, PIPE_UNARY), "Heat Exchanger" = new /datum/pipe_info(PIPE_HEAT_EXCHANGE, 1, PIPE_UNARY), ), diff --git a/icons/obj/atmospherics/pipes/heat.dmi b/icons/obj/atmospherics/pipes/heat.dmi index 977fde8cad9..3545e22a8ce 100644 Binary files a/icons/obj/atmospherics/pipes/heat.dmi and b/icons/obj/atmospherics/pipes/heat.dmi differ diff --git a/icons/obj/atmospherics/pipes/pipe_item.dmi b/icons/obj/atmospherics/pipes/pipe_item.dmi index 376fb40b49f..e3ac2254bfd 100644 Binary files a/icons/obj/atmospherics/pipes/pipe_item.dmi and b/icons/obj/atmospherics/pipes/pipe_item.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 0117102b466..d6b0a07cea8 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -128,6 +128,7 @@ #include "code\ATMOSPHERICS\pipes\simple.dm" #include "code\ATMOSPHERICS\pipes\heat_exchange\he_pipes.dm" #include "code\ATMOSPHERICS\pipes\heat_exchange\junction.dm" +#include "code\ATMOSPHERICS\pipes\heat_exchange\manifold.dm" #include "code\ATMOSPHERICS\pipes\heat_exchange\simple.dm" #include "code\controllers\configuration.dm" #include "code\controllers\failsafe.dm"