From c38ba98498595fa6f8bd1c460ccc3383dda0ec0f Mon Sep 17 00:00:00 2001 From: "n3ophyt3@gmail.com" Date: Wed, 10 Nov 2010 05:24:56 +0000 Subject: [PATCH] More work on buildable piping Manifolds, unary vents, scrubbers, manual valves, connectors, and pumps are now also makable testing has not been overly robust thus far Known issues: scrubbers don't seem to be able to grab nodes properly when constructed runtime errors if you try making a pipe/manifold that doesn't connect to an already-constructed atmos object corner pipe sections have a tendency to defy euclidian logic (most notable example has been a section of pipe that somehow had both ends tied to the same end of a different pipe section) Added a disposal pipe dispenser that had been sitting unused in the code to Atmos. No clue if it actually works, I know the regular pipe dispenser worked fine Did NOT add a pipe dispenser to the map, but it is there if admins want to spawn one git-svn-id: http://tgstation13.googlecode.com/svn/trunk@396 316c924e-a436-60f5-8080-3fe189b3f50e --- code/ATMOSPHERICS/atmospherics.dm | 1 + code/ATMOSPHERICS/pipes.dm | 2 +- code/game/machinery/pipe/construction.dm | 191 +- code/game/machinery/pipe/pipe_dispenser.dm | 11 +- goonstation.dme | 1 + icons/obj/pipe-item.dmi | Bin 9379 -> 12646 bytes maps/trunkmap.dmm | 6315 ++++++++++---------- 7 files changed, 3313 insertions(+), 3208 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 9f807c29709..57cf83abde3 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -14,6 +14,7 @@ obj/machinery/atmospherics anchored = 1 var/initialize_directions = 0 + var/color process() build_network() diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm index f6bc5b80c1d..19106f6f9d2 100644 --- a/code/ATMOSPHERICS/pipes.dm +++ b/code/ATMOSPHERICS/pipes.dm @@ -6,7 +6,7 @@ obj/machinery/atmospherics/pipe var/volume = 0 var/nodealert = 0 - var/color + var/alert_pressure = 80*ONE_ATMOSPHERE //minimum pressure before check_pressure(...) should be called diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 777629404ef..cb982fe491f 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -22,7 +22,7 @@ Buildable meters //update the name and icon of the pipe item depending on the type /obj/item/weapon/pipe/proc/update() - var/list/nlist = list("pipe", "bent pipe", "h/e pipe", "bent h/e pipe", "connector", "manifold", "junction", "vent", "valve", "pump", "filter") + var/list/nlist = list("pipe", "bent pipe", "h/e pipe", "bent h/e pipe", "connector", "manifold", "junction", "uvent", "mvalve", "pump", "scrubber") name = nlist[pipe_type+1] + " fitting" updateicon() @@ -30,7 +30,7 @@ Buildable meters /obj/item/weapon/pipe/proc/updateicon() - var/list/islist = list("straight", "bend", "he-straight", "he-bend", "connector", "manifold", "junction", "vent", "valve", "pump", "filter") + var/list/islist = list("straight", "bend", "he-straight", "he-bend", "connector", "manifold", "junction", "uvent", "mvalve", "pump", "scrubber") icon_state = islist[pipe_type + 1] @@ -179,7 +179,7 @@ Buildable meters switch(pipe_type) - if(0,1) // straight or bent pipe + if(0) // straight pipe var/obj/machinery/atmospherics/pipe/simple/P = new /obj/machinery/atmospherics/pipe/simple( src.loc ) P.dir = dir P.New() @@ -188,10 +188,47 @@ Buildable meters P.pipeline_expansion() if (P.node1) P.node1:initialize() - P.node1:pipeline_expansion() + if (istype (P.node1, /obj/machinery/atmospherics/pipe)) + P.node1:pipeline_expansion() + else + P.node1:network_expand() if (P.node2) P.node2:initialize() - P.node2:pipeline_expansion() + if (istype (P.node2, /obj/machinery/atmospherics/pipe)) + P.node2:pipeline_expansion() + else + P.node2:network_expand() + + if(1) // bent pipe + var/obj/machinery/atmospherics/pipe/simple/P = new /obj/machinery/atmospherics/pipe/simple( src.loc ) + switch (icon_state) + if("bend") + P.dir = SOUTHWEST + P.initialize_directions = SOUTH|WEST + if("bend6") + P.dir = SOUTHEAST + P.initialize_directions = SOUTH|EAST + if("bend5") + P.dir = NORTHEAST + P.initialize_directions = NORTH|EAST + if("bend9") + P.dir = NORTHWEST + P.initialize_directions = NORTH|WEST + P.level = level + P.initialize() + P.pipeline_expansion() + if (P.node1) + P.node1:initialize() + if (istype (P.node1, /obj/machinery/atmospherics/pipe)) + P.node1:pipeline_expansion() + else + P.node1:network_expand() + if (P.node2) + P.node2:initialize() + if (istype (P.node2, /obj/machinery/atmospherics/pipe)) + P.node2:pipeline_expansion() + else + P.node2:network_expand() /* if(2,3) // straight or bent h/e pipe @@ -202,59 +239,127 @@ Buildable meters P.update() var/list/dirs = P.get_dirs() - +*/ if(4) // connector - var/obj/machinery/connector/C = new( src.loc ) - C.dir = src.dir - C.p_dir = src.dir + var/obj/machinery/atmospherics/portables_connector/C = new( src.loc ) + C.dir = dir + C.New() C.level = level + C.initialize() + C.network_expand() + if (C.node) + C.node:initialize() + if (istype (C.node, /obj/machinery/atmospherics/pipe)) + C.node:pipeline_expansion() + else + C.node:network_expand() if(5) //manifold - var/obj/machinery/manifold/M = new( src.loc ) + var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc ) M.dir = dir - M.p_dir = pipedir + M.New() M.level = level - + M.initialize() + M.pipeline_expansion() + if (M.node1) + M.node1:initialize() + if (istype (M.node1, /obj/machinery/atmospherics/pipe)) + M.node1:pipeline_expansion() + else + M.node1:network_expand() + if (M.node2) + M.node2:initialize() + if (istype (M.node2, /obj/machinery/atmospherics/pipe)) + M.node2:pipeline_expansion() + else + M.node2:network_expand() + if (M.node3) + M.node3:initialize() + if (istype (M.node3, /obj/machinery/atmospherics/pipe)) + M.node3:pipeline_expansion() + else + M.node3:network_expand() +/* if(6) //junctions var/obj/machinery/junction/J = new( src.loc ) J.dir = dir J.p_dir = src.get_pdir() J.h_dir = src.get_hdir() J.level = 2 - - if(7) // vent - var/obj/machinery/vent/V = new( src.loc ) - V.dir = src.dir - V.p_dir = src.dir - V.level = level - - - if(8) //valve - var/obj/machinery/valve/mvalve/V = new( src.loc) - V.dir = src.dir - switch(dir) - if(1, 2) - V.p_dir = 3 - if(4,8) - V.p_dir = 12 - - if(9) //Pipe pump - var/obj/machinery/oneway/pipepump/PP = new(src.loc) - - PP.dir = src.dir - PP.p_dir = dir|turn(dir, 180) - - - if(10) //filter inlet - var/obj/machinery/inlet/filter/F = new(src.loc) - F.dir = src.dir - F.p_dir = src.dir - F.level = level - - // for pipe objects, now do updating of pipelines if needed */ + if(7) //unary vent + var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc ) + V.dir = dir + V.New() + V.level = level + V.initialize() + V.network_expand() + if (V.node) + V.node:initialize() + if (istype (V.node, /obj/machinery/atmospherics/pipe)) + V.node:pipeline_expansion() + else + V.node:network_expand() + + + if(8) //manual valve + var/obj/machinery/atmospherics/valve/V = new( src.loc) + V.dir = dir + V.New() + V.level = level + V.initialize() + V.network_expand() + if (V.node1) + V.node1:initialize() + if (istype (V.node1, /obj/machinery/atmospherics/pipe)) + V.node1:pipeline_expansion() + else + V.node1:network_expand() + if (V.node2) + V.node2:initialize() + if (istype (V.node2, /obj/machinery/atmospherics/pipe)) + V.node2:pipeline_expansion() + else + V.node2:network_expand() + + if(9) //gas pump + var/obj/machinery/atmospherics/binary/pump/P = new(src.loc) + P.dir = dir + P.New() + P.level = level + P.initialize() + P.network_expand() + if (P.node1) + P.node1:initialize() + if (istype (P.node1, /obj/machinery/atmospherics/pipe)) + P.node1:pipeline_expansion() + else + P.node1:network_expand() + if (P.node2) + P.node2:initialize() + if (istype (P.node2, /obj/machinery/atmospherics/pipe)) + P.node2:pipeline_expansion() + else + P.node2:network_expand() + + + if(10) //scrubber + var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc) + S.dir = dir + S.New() + S.level = level + S.initialize() + S.network_expand() + if (S.node) + S.node:initialize() + if (istype (S.node, /obj/machinery/atmospherics/pipe)) + S.node:pipeline_expansion() + else + S.node:network_expand() + + user << "You have fastened the pipe" diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 931f45dc22f..564d4c7820f 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -15,15 +15,12 @@ var/dat = {" Pipe
Bent Pipe
-
Heat Exchange Pipe
-
Heat Exchange Bent Pipe
Connector
Manifold
-
Junction
-
Vent
-
Valve
-
Pipe-Pump
"} -//
Filter Inlet
+
Unary Vent
+
Manual Valve
+
Gas Pump
+
Scrubber
"} user << browse("Pipe Dispenser[dat]", "window=pipedispenser") diff --git a/goonstation.dme b/goonstation.dme index 213840e7aba..038624b536b 100644 --- a/goonstation.dme +++ b/goonstation.dme @@ -382,6 +382,7 @@ #include "code\game\machinery\embedded_controller\airlock_controller.dm" #include "code\game\machinery\embedded_controller\embedded_controller_base.dm" #include "code\game\machinery\pipe\construction.dm" +#include "code\game\machinery\pipe\pipe_dispenser.dm" #include "code\game\magic\library.dm" #include "code\game\magic\magicmonster.dm" #include "code\game\magic\musician.dm" diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 99b1f5883bf343a9b1f491c789838fa7ada02496..acd3d2b85581e54b02a154cc2fd65cdeba7a7874 100644 GIT binary patch literal 12646 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