Merge pull request #6967 from VOREStation/pol-pipes

Add 2 new pipe types
This commit is contained in:
Atermonera
2020-04-12 23:00:41 -07:00
committed by GitHub
24 changed files with 351 additions and 46 deletions
@@ -468,6 +468,10 @@
return "REGULAR"
if(PIPING_LAYER_SCRUBBER)
return "SCRUBBER"
if(PIPING_LAYER_FUEL)
return "FUEL"
if(PIPING_LAYER_AUX)
return "AUX"
/proc/atmos_pipe_flags_str(pipe_flags)
var/list/dat = list()
@@ -489,6 +493,10 @@
dat += "SUPPLY"
if(connect_types & CONNECT_TYPE_SCRUBBER)
dat += "SCRUBBER"
if(connect_types & CONNECT_TYPE_FUEL)
dat += "FUEL"
if(connect_types & CONNECT_TYPE_AUX)
dat += "AUX"
if(connect_types & CONNECT_TYPE_HE)
dat += "HE"
return dat.Join("|")
+11 -1
View File
@@ -209,8 +209,18 @@ Pipelines + Other Objects -> Pipe network
connect_types = CONNECT_TYPE_SUPPLY
layer = PIPES_SUPPLY_LAYER
icon_connect_type = "-supply"
if(PIPING_LAYER_FUEL)
icon_state = "[icon_state]-fuel"
connect_types = CONNECT_TYPE_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
if(PIPING_LAYER_AUX)
icon_state = "[icon_state]-aux"
connect_types = CONNECT_TYPE_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
if(pipe_flags & PIPING_ALL_LAYER)
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX
// Or if we were to do it the TG way...
// pixel_x = PIPE_PIXEL_OFFSET_X(piping_layer)
// pixel_y = PIPE_PIXEL_OFFSET_Y(piping_layer)
@@ -18,6 +18,7 @@ Thus, the two variables affect pump operation are set in New():
construction_type = /obj/item/pipe/directional
pipe_state = "pump"
level = 1
var/base_icon = "pump"
name = "gas pump"
desc = "A pump that moves gas from one place to another."
@@ -49,12 +50,31 @@ Thus, the two variables affect pump operation are set in New():
icon_state = "map_on"
use_power = USE_POWER_IDLE
/obj/machinery/atmospherics/binary/pump/fuel
icon_state = "map_off-fuel"
base_icon = "pump-fuel"
icon_connect_type = "-fuel"
connect_types = CONNECT_TYPE_FUEL
/obj/machinery/atmospherics/binary/pump/fuel/on
icon_state = "map_on-fuel"
use_power = USE_POWER_IDLE
/obj/machinery/atmospherics/binary/pump/aux
icon_state = "map_off-aux"
base_icon = "pump-aux"
icon_connect_type = "-aux"
connect_types = CONNECT_TYPE_AUX
/obj/machinery/atmospherics/binary/pump/aux/on
icon_state = "map_on-aux"
use_power = USE_POWER_IDLE
/obj/machinery/atmospherics/binary/pump/update_icon()
if(!powered())
icon_state = "off"
icon_state = "[base_icon]-off"
else
icon_state = "[use_power ? "on" : "off"]"
icon_state = "[use_power ? "[base_icon]-on" : "[base_icon]-off"]"
/obj/machinery/atmospherics/binary/pump/update_underlays()
if(..())
@@ -62,8 +82,8 @@ Thus, the two variables affect pump operation are set in New():
var/turf/T = get_turf(src)
if(!istype(T))
return
add_underlay(T, node1, turn(dir, -180))
add_underlay(T, node2, dir)
add_underlay(T, node1, turn(dir, -180), node1?.icon_connect_type)
add_underlay(T, node2, dir, node2?.icon_connect_type)
/obj/machinery/atmospherics/binary/pump/hide(var/i)
update_underlays()
@@ -21,6 +21,20 @@
use_power = USE_POWER_OFF
level = 1
/obj/machinery/atmospherics/portables_connector/fuel
icon_state = "map_connector-fuel"
pipe_state = "connector-fuel"
icon_connect_type = "-fuel"
pipe_flags = PIPING_ONE_PER_TURF
connect_types = CONNECT_TYPE_FUEL
/obj/machinery/atmospherics/portables_connector/aux
icon_state = "map_connector-aux"
pipe_state = "connector-aux"
icon_connect_type = "-aux"
pipe_flags = PIPING_ONE_PER_TURF
connect_types = CONNECT_TYPE_AUX
/obj/machinery/atmospherics/portables_connector/init_dir()
initialize_directions = dir
@@ -33,7 +47,7 @@
var/turf/T = get_turf(src)
if(!istype(T))
return
add_underlay(T, node, dir)
add_underlay(T, node, dir, node?.icon_connect_type)
/obj/machinery/atmospherics/portables_connector/hide(var/i)
update_underlays()
@@ -53,6 +53,11 @@
use_power = USE_POWER_IDLE
icon_state = "map_vent_out"
/obj/machinery/atmospherics/unary/vent_pump/aux
icon_state = "map_vent_aux"
icon_connect_type = "-aux"
connect_types = CONNECT_TYPE_AUX //connects to aux pipes
/obj/machinery/atmospherics/unary/vent_pump/siphon
pump_direction = 0
@@ -98,6 +103,11 @@
power_channel = EQUIP
power_rating = 15000 //15 kW ~ 20 HP
/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux
icon_state = "map_vent_aux"
icon_connect_type = "-aux"
connect_types = CONNECT_TYPE_AUX //connects to aux pipes
/obj/machinery/atmospherics/unary/vent_pump/high_volume/New()
..()
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800
+40
View File
@@ -93,6 +93,26 @@
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/cap/visible/fuel
name = "fuel pipe endcap"
desc = "An endcap for fuel pipes"
icon_state = "cap-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/cap/visible/aux
name = "aux pipe endcap"
desc = "An endcap for aux pipes"
icon_state = "cap-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
/obj/machinery/atmospherics/pipe/cap/hidden
level = 1
icon_state = "cap"
@@ -117,3 +137,23 @@
layer = PIPES_SUPPLY_LAYER
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/cap/visible/fuel
name = "fuel pipe endcap"
desc = "An endcap for fuel pipes"
icon_state = "cap-f-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/cap/hidden/aux
name = "aux pipe endcap"
desc = "An endcap for aux pipes"
icon_state = "cap-f-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
+40
View File
@@ -195,6 +195,26 @@
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/manifold/visible/fuel
name="Fuel pipe manifold"
desc = "A manifold composed of fuel pipes"
icon_state = "map-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/manifold/visible/aux
name="Aux pipe manifold"
desc = "A manifold composed of aux pipes"
icon_state = "map-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
/obj/machinery/atmospherics/pipe/manifold/visible/yellow
color = PIPE_COLOR_YELLOW
@@ -241,6 +261,26 @@
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/manifold/hidden/fuel
name="Fuel pipe manifold"
desc = "A manifold composed of fuel pipes"
icon_state = "map-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/manifold/hidden/aux
name="Aux pipe manifold"
desc = "A manifold composed of aux pipes"
icon_state = "map-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
/obj/machinery/atmospherics/pipe/manifold/hidden/yellow
color = PIPE_COLOR_YELLOW
+40
View File
@@ -197,6 +197,26 @@
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/manifold4w/visible/fuel
name="4-way fuel pipe manifold"
desc = "A manifold composed of fuel pipes"
icon_state = "map_4way-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/manifold4w/visible/aux
name="4-way aux pipe manifold"
desc = "A manifold composed of aux pipes"
icon_state = "map_4way-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow
color = PIPE_COLOR_YELLOW
@@ -243,6 +263,26 @@
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/manifold4w/hidden/fuel
name="4-way fuel pipe manifold"
desc = "A manifold composed of fuel pipes"
icon_state = "map_4way-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/manifold4w/hidden/aux
name="4-way aux pipe manifold"
desc = "A manifold composed of aux pipes"
icon_state = "map_4way-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow
color = PIPE_COLOR_YELLOW
+40
View File
@@ -203,6 +203,26 @@
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/simple/visible/fuel
name = "Fuel pipe"
desc = "A one meter section of fuel pipe"
icon_state = "intact-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/simple/visible/aux
name = "Aux pipe"
desc = "A one meter section of aux pipe"
icon_state = "intact-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
/obj/machinery/atmospherics/pipe/simple/visible/yellow
color = PIPE_COLOR_YELLOW
@@ -249,6 +269,26 @@
icon_connect_type = "-supply"
color = PIPE_COLOR_BLUE
/obj/machinery/atmospherics/pipe/simple/hidden/fuel
name = "Fuel pipe"
desc = "A one meter section of fuel pipe"
icon_state = "intact-fuel"
connect_types = CONNECT_TYPE_FUEL
piping_layer = PIPING_LAYER_FUEL
layer = PIPES_FUEL_LAYER
icon_connect_type = "-fuel"
color = PIPE_COLOR_YELLOW
/obj/machinery/atmospherics/pipe/simple/hidden/aux
name = "Aux pipe"
desc = "A one meter section of aux pipe"
icon_state = "intact-aux"
connect_types = CONNECT_TYPE_AUX
piping_layer = PIPING_LAYER_AUX
layer = PIPES_AUX_LAYER
icon_connect_type = "-aux"
color = PIPE_COLOR_CYAN
/obj/machinery/atmospherics/pipe/simple/hidden/yellow
color = PIPE_COLOR_YELLOW
+1
View File
@@ -135,6 +135,7 @@
/obj/machinery/atmospherics/pipe/tank/phoron
name = "Pressure Tank (Phoron)"
icon_state = "phoron_map"
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL
/obj/machinery/atmospherics/pipe/tank/phoron/New()
air_temporary = new
+35 -14
View File
@@ -4,7 +4,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/universal
name="Universal pipe adapter"
desc = "An adapter for regular, supply and scrubbers pipes"
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX
icon_state = "map_universal"
pipe_flags = PIPING_ALL_LAYER|PIPING_CARDINAL_AUTONORMALIZE
construction_type = /obj/item/pipe/binary
@@ -42,7 +42,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/universal
name="Universal pipe adapter"
desc = "An adapter for regular, supply and scrubbers pipes"
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER
connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX
icon_state = "map_universal"
pipe_flags = PIPING_ALL_LAYER|PIPING_CARDINAL_AUTONORMALIZE
construction_type = /obj/item/pipe/binary
@@ -81,21 +81,42 @@
var/turf/T = loc
if(node)
var/node_dir = get_dir(src,node)
if(node.icon_connect_type == "-supply")
add_underlay_adapter(T, , node_dir, "")
add_underlay_adapter(T, node, node_dir, "-supply")
add_underlay_adapter(T, , node_dir, "-scrubbers")
else if (node.icon_connect_type == "-scrubbers")
add_underlay_adapter(T, , node_dir, "")
add_underlay_adapter(T, , node_dir, "-supply")
add_underlay_adapter(T, node, node_dir, "-scrubbers")
else
add_underlay_adapter(T, node, node_dir, "")
add_underlay_adapter(T, , node_dir, "-supply")
add_underlay_adapter(T, , node_dir, "-scrubbers")
switch(node.icon_connect_type)
if("-supply")
add_underlay_adapter(T, , node_dir, "")
add_underlay_adapter(T, node, node_dir, "-supply")
add_underlay_adapter(T, , node_dir, "-scrubbers")
add_underlay_adapter(T, , node_dir, "-fuel")
add_underlay_adapter(T, , node_dir, "-aux")
if ("-scrubbers")
add_underlay_adapter(T, , node_dir, "")
add_underlay_adapter(T, , node_dir, "-supply")
add_underlay_adapter(T, node, node_dir, "-scrubbers")
add_underlay_adapter(T, , node_dir, "-fuel")
add_underlay_adapter(T, , node_dir, "-aux")
if ("-fuel")
add_underlay_adapter(T, , node_dir, "")
add_underlay_adapter(T, , node_dir, "-supply")
add_underlay_adapter(T, , node_dir, "-scrubbers")
add_underlay_adapter(T, node, node_dir, "-fuel")
add_underlay_adapter(T, , node_dir, "-aux")
if ("-aux")
add_underlay_adapter(T, , node_dir, "")
add_underlay_adapter(T, , node_dir, "-supply")
add_underlay_adapter(T, , node_dir, "-scrubbers")
add_underlay_adapter(T, , node_dir, "-fuel")
add_underlay_adapter(T, node, node_dir, "-aux")
else
add_underlay_adapter(T, node, node_dir, "")
add_underlay_adapter(T, , node_dir, "-supply")
add_underlay_adapter(T, , node_dir, "-scrubbers")
add_underlay_adapter(T, , node_dir, "-fuel")
add_underlay_adapter(T, , node_dir, "-aux")
else
add_underlay_adapter(T, , direction, "-supply")
add_underlay_adapter(T, , direction, "-scrubbers")
add_underlay_adapter(T, , direction, "-fuel")
add_underlay_adapter(T, , direction, "-aux")
add_underlay_adapter(T, , direction, "")
/obj/machinery/atmospherics/proc/add_underlay_adapter(var/turf/T, var/obj/machinery/atmospherics/node, var/direction, var/icon_connect_type) //modified from add_underlay, does not make exposed underlays