From 0a43bddaa19b3b7d730502ef44efc2b6789f7ada Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 25 Sep 2017 13:27:29 -0400 Subject: [PATCH] Merge pull request #30863 from pubby/bluepipe Bluespace pipes --- code/__DEFINES/pipe_construction.dm | 3 +- code/game/machinery/pipe/construction.dm | 3 ++ code/game/machinery/pipe/pipe_dispenser.dm | 3 +- code/game/objects/items/RPD.dm | 3 +- .../objects/items/devices/pipe_painter.dm | 25 +++------- .../atmospherics/machinery/atmosmachinery.dm | 18 +++++-- .../machinery/components/components_base.dm | 14 +----- .../machinery/pipes/bluespace_pipe.dm | 47 ++++++++++++++++++ .../atmospherics/machinery/pipes/pipes.dm | 7 +++ icons/obj/atmospherics/pipes/bluespace.dmi | Bin 0 -> 677 bytes icons/obj/atmospherics/pipes/pipe_item.dmi | Bin 19514 -> 23898 bytes tgstation.dme | 1 + 12 files changed, 88 insertions(+), 36 deletions(-) create mode 100644 code/modules/atmospherics/machinery/pipes/bluespace_pipe.dm create mode 100644 icons/obj/atmospherics/pipes/bluespace.dmi diff --git a/code/__DEFINES/pipe_construction.dm b/code/__DEFINES/pipe_construction.dm index b8a83ee3fa..2d15b8aed3 100644 --- a/code/__DEFINES/pipe_construction.dm +++ b/code/__DEFINES/pipe_construction.dm @@ -12,6 +12,7 @@ Construction breaks otherwise #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 +#define PIPE_BLUESPACE /obj/machinery/atmospherics/pipe/bluespace //Unary #define PIPE_CONNECTOR /obj/machinery/atmospherics/components/unary/portables_connector #define PIPE_UVENT /obj/machinery/atmospherics/components/unary/vent_pump @@ -56,4 +57,4 @@ Construction breaks otherwise #define STATION_TUBE_OPEN 0 #define STATION_TUBE_OPENING 1 #define STATION_TUBE_CLOSED 2 -#define STATION_TUBE_CLOSING 3 \ No newline at end of file +#define STATION_TUBE_CLOSING 3 diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 4a5e32d4e8..3fb3447f61 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -30,6 +30,7 @@ Buildable meters PIPE_HE_MANIFOLD, \ PIPE_HE_4WAYMANIFOLD, \ PIPE_JUNCTION, \ + PIPE_BLUESPACE, \ \ PIPE_CONNECTOR, \ PIPE_UVENT, \ @@ -90,6 +91,7 @@ GLOBAL_LIST_INIT(pipeID2State, list( "[PIPE_HE_MANIFOLD]" = "he_manifold", \ "[PIPE_HE_4WAYMANIFOLD]" = "he_manifold4w", \ "[PIPE_JUNCTION]" = "junction", \ + "[PIPE_BLUESPACE]" = "bluespace", \ \ "[PIPE_CONNECTOR]" = "connector", \ "[PIPE_UVENT]" = "uvent", \ @@ -118,6 +120,7 @@ GLOBAL_LIST_INIT(pipeID2State, list( "[PIPE_HE_MANIFOLD]" = "h/e manifold", \ "[PIPE_HE_4WAYMANIFOLD]"= "h/e 4-way manifold", \ "[PIPE_JUNCTION]" = "junction", \ + "[PIPE_BLUESPACE]" = "bluespace pipe", \ \ "[PIPE_CONNECTOR]" = "connector", \ "[PIPE_UVENT]" = "vent", \ diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 456fc1d0bd..39b3760f7e 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -13,13 +13,14 @@ if(..()) return 1 var/dat = {" -Regular pipes:
+Pipes:
Pipe
Bent Pipe
Manifold
4-Way Manifold
Manual Valve
Digital Valve
+Bluespace Pipe
Devices:
Connector
Vent
diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index 4aa37253c4..15abe72a52 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -79,13 +79,14 @@ GLOBAL_LIST_INIT(disposalpipeID2State, list( //find these defines in code\game\machinery\pipe\consruction.dm GLOBAL_LIST_INIT(RPD_recipes, list( - "Regular Pipes" = list( + "Pipes" = list( "Pipe" = new /datum/pipe_info(PIPE_SIMPLE, 1, PIPE_BENDABLE), //"Bent Pipe" = new /datum/pipe_info(PIPE_SIMPLE, 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), "4-Way Manifold" = new /datum/pipe_info(PIPE_4WAYMANIFOLD, 1, PIPE_QUAD), + "Bluespace Pipe" = new /datum/pipe_info(PIPE_BLUESPACE, 1, PIPE_UNARY), ), "Devices"=list( "Connector" = new /datum/pipe_info(PIPE_CONNECTOR, 1, PIPE_UNARY), diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index fdcf781a4d..19a81e8640 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -1,3 +1,4 @@ +GLOBAL_LIST_INIT(pipe_paint_colors, list("grey"=rgb(255,255,255), "red"=rgb(255,0,0), "blue"=rgb(0,0,255), "cyan"=rgb(0,256,249), "green"=rgb(30,255,0), "yellow"=rgb(255,198,0), "purple"=rgb(130,43,255))) /obj/item/device/pipe_painter name = "pipe painter" @@ -5,16 +6,7 @@ icon_state = "labeler1" item_state = "flight" flags_1 = NOBLUDGEON_1 - var/list/modes = list( - "grey" = rgb(255,255,255), - "red" = rgb(255,0,0), - "blue" = rgb(0,0,255), - "cyan" = rgb(0,256,249), - "green" = rgb(30,255,0), - "yellow" = rgb(255,198,0), - "purple" = rgb(130,43,255) - ) - var/mode = "grey" + var/paint_color = "grey" materials = list(MAT_METAL=5000, MAT_GLASS=2000) @@ -27,14 +19,13 @@ return var/obj/machinery/atmospherics/pipe/P = A - P.add_atom_colour(modes[mode], FIXED_COLOUR_PRIORITY) - P.pipe_color = modes[mode] - user.visible_message("[user] paints \the [P] [mode].","You paint \the [P] [mode].") - P.update_node_icon() //updates the neighbors + if(P.paint(GLOB.pipe_paint_colors[paint_color])) + playsound(src, 'sound/machines/click.ogg', 50, 1) + user.visible_message("[user] paints \the [P] [paint_color].","You paint \the [P] [paint_color].") /obj/item/device/pipe_painter/attack_self(mob/user) - mode = input("Which colour do you want to use?","Pipe painter") in modes + paint_color = input("Which colour do you want to use?","Pipe painter") in GLOB.pipe_paint_colors -/obj/item/device/pipe_painter/examine() +/obj/item/device/pipe_painter/examine(mob/user) ..() - to_chat(usr, "It is set to [mode].") + to_chat(user, "It is set to [paint_color].") diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 977d48fbd7..585b4c4550 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -91,7 +91,7 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/proc/can_be_node(obj/machinery/atmospherics/target) if(target.initialize_directions & get_dir(target,src)) - return 1 + return TRUE /obj/machinery/atmospherics/proc/pipeline_expansion() return nodes @@ -208,6 +208,17 @@ Pipelines + Other Objects -> Pipe network pipe_overlay = . = pipeimages[identifier] = image(iconset, iconstate, dir = direction) pipe_overlay.color = col +/obj/machinery/atmospherics/proc/icon_addintact(var/obj/machinery/atmospherics/node) + var/image/img = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_intact", get_dir(src,node), node.pipe_color) + underlays += img + return img.dir + +/obj/machinery/atmospherics/proc/icon_addbroken(var/connected = FALSE) + var/unconnected = (~connected) & initialize_directions + for(var/direction in GLOB.cardinals) + if(unconnected & direction) + underlays += getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_exposed", direction) + /obj/machinery/atmospherics/on_construction(pipe_type, obj_color) if(can_unwrench) add_atom_colour(obj_color, FIXED_COLOUR_PRIORITY) @@ -275,7 +286,7 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/proc/can_crawl_through() - return 1 + return TRUE /obj/machinery/atmospherics/proc/returnPipenets() return list() @@ -288,4 +299,5 @@ Pipelines + Other Objects -> Pipe network //Used for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it. /obj/machinery/atmospherics/proc/can_see_pipes() - return 1 \ No newline at end of file + return TRUE + diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index 95357a4a7f..5fb4611d92 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -23,18 +23,6 @@ On top of that, now people can add component-speciic procs/vars if they want! Iconnery */ -/obj/machinery/atmospherics/components/proc/icon_addintact(var/obj/machinery/atmospherics/node) - var/image/img = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_intact", get_dir(src,node), node.pipe_color) - underlays += img - - return img.dir - -/obj/machinery/atmospherics/components/proc/icon_addbroken(var/connected = FALSE) - var/unconnected = (~connected) & initialize_directions - for(var/direction in GLOB.cardinals) - if(unconnected & direction) - underlays += getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_exposed", direction) - /obj/machinery/atmospherics/components/proc/update_icon_nopipes() return @@ -52,7 +40,7 @@ Iconnery if(!showpipe) return //no need to update the pipes if they aren't showing - var/connected = FALSE + var/connected = 0 //Direction bitset for(DEVICE_TYPE_LOOP) //adds intact pieces if(NODE_I) diff --git a/code/modules/atmospherics/machinery/pipes/bluespace_pipe.dm b/code/modules/atmospherics/machinery/pipes/bluespace_pipe.dm new file mode 100644 index 0000000000..476235d3d9 --- /dev/null +++ b/code/modules/atmospherics/machinery/pipes/bluespace_pipe.dm @@ -0,0 +1,47 @@ +GLOBAL_LIST_EMPTY(bluespace_pipes) + +/obj/machinery/atmospherics/pipe/bluespace + name = "bluespace pipe" + desc = "Transmits gas across large distances of space. Developed using bluespace technology." + icon = 'icons/obj/atmospherics/pipes/bluespace.dmi' + icon_state = "map" + dir = SOUTH + initialize_directions = SOUTH + device_type = UNARY + can_buckle = FALSE + +/obj/machinery/atmospherics/pipe/bluespace/New() + icon_state = "pipe" + GLOB.bluespace_pipes += src + ..() + +/obj/machinery/atmospherics/pipe/bluespace/Destroy() + GLOB.bluespace_pipes -= src + for(var/p in GLOB.bluespace_pipes) + var/obj/machinery/atmospherics/pipe/bluespace/P = p + QDEL_NULL(P.parent) + P.build_network() + return ..() + +/obj/machinery/atmospherics/pipe/bluespace/SetInitDirections() + initialize_directions = dir + +/obj/machinery/atmospherics/pipe/bluespace/pipeline_expansion() + return ..() + GLOB.bluespace_pipes - src + +/obj/machinery/atmospherics/components/pipe/bluespace/hide() + update_icon() + +/obj/machinery/atmospherics/pipe/bluespace/update_icon(showpipe) + underlays.Cut() + var/turf/T = loc + if(level != 2 && T.intact) + return //no need to update the pipes if they aren't showing + var/connected = 0 //Direction bitset + for(DEVICE_TYPE_LOOP) //adds intact pieces + if(NODE_I) + connected |= icon_addintact(NODE_I) + icon_addbroken(connected) //adds broken pieces + +/obj/machinery/atmospherics/pipe/bluespace/paint() + return FALSE diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 53f7050e05..49383a74cb 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -98,3 +98,10 @@ if(damage_flag == "melee" && damage_amount < 12) return 0 . = ..() + +/obj/machinery/atmospherics/pipe/proc/paint(paint_color) + add_atom_colour(paint_color, FIXED_COLOUR_PRIORITY) + pipe_color = paint_color + update_node_icon() + return TRUE + diff --git a/icons/obj/atmospherics/pipes/bluespace.dmi b/icons/obj/atmospherics/pipes/bluespace.dmi new file mode 100644 index 0000000000000000000000000000000000000000..866e6f9b844f4f4a9c987755618f0d3ca5a9087f GIT binary patch literal 677 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 CpBT0P diff --git a/tgstation.dme b/tgstation.dme index eb1bfd6c11..2d99d5777a 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1153,6 +1153,7 @@ #include "code\modules\atmospherics\machinery\other\meter.dm" #include "code\modules\atmospherics\machinery\other\miner.dm" #include "code\modules\atmospherics\machinery\other\zvent.dm" +#include "code\modules\atmospherics\machinery\pipes\bluespace_pipe.dm" #include "code\modules\atmospherics\machinery\pipes\manifold.dm" #include "code\modules\atmospherics\machinery\pipes\manifold4w.dm" #include "code\modules\atmospherics\machinery\pipes\pipes.dm"