Adds reversed trinaries and digital tvalve.
@@ -23,6 +23,8 @@ Pipelines + Other Objects -> Pipe network
|
||||
// Which directions can we connect with?
|
||||
var/initialize_directions = 0
|
||||
|
||||
var/obj/machinery/atmospherics/mirror //not actually an object reference, but a type. The reflection of the current pipe
|
||||
|
||||
// Pipe painter color setting.
|
||||
var/_color
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ obj/machinery/atmospherics/trinary/filter
|
||||
|
||||
name = "Gas filter"
|
||||
|
||||
mirror = /obj/machinery/atmospherics/trinary/filter/mirrored
|
||||
|
||||
var/on = 0
|
||||
var/temp = null // -- TLE
|
||||
|
||||
@@ -235,3 +237,25 @@ obj/machinery/atmospherics/trinary/filter/Topic(href, href_list) // -- TLE
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/atmospherics/trinary/filter/mirrored
|
||||
icon_state = "intactm_off"
|
||||
|
||||
/obj/machinery/atmospherics/trinary/filter/mirrored/initialize()
|
||||
if(node1 && node2 && node3) return
|
||||
|
||||
node1 = findConnecting(dir)
|
||||
node2 = findConnecting(turn(dir, -90))
|
||||
node3 = findConnecting(turn(dir, -180))
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/atmospherics/trinary/filter/mirrored/update_icon()
|
||||
if(stat & NOPOWER)
|
||||
icon_state = "intactm_off"
|
||||
else if(node2 && node3 && node1)
|
||||
icon_state = "intactm_[on?("on"):("off")]"
|
||||
else
|
||||
icon_state = "intactm_off"
|
||||
on = 0
|
||||
|
||||
return
|
||||
@@ -5,6 +5,8 @@ obj/machinery/atmospherics/trinary/mixer
|
||||
|
||||
name = "Gas mixer"
|
||||
|
||||
mirror = /obj/machinery/atmospherics/trinary/mixer/mirrored
|
||||
|
||||
var/on = 0
|
||||
|
||||
var/target_pressure = ONE_ATMOSPHERE
|
||||
@@ -160,3 +162,26 @@ obj/machinery/atmospherics/trinary/mixer
|
||||
src.update_icon()
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
/obj/machinery/atmospherics/trinary/mixer/mirrored
|
||||
icon_state = "intactm_off"
|
||||
|
||||
/obj/machinery/atmospherics/trinary/mixer/mirrored/update_icon()
|
||||
if(stat & NOPOWER)
|
||||
icon_state = "intactm_off"
|
||||
else if(node2 && node3 && node1)
|
||||
icon_state = "intactm_[on?("on"):("off")]"
|
||||
else
|
||||
icon_state = "intactm_off"
|
||||
on = 0
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/atmospherics/trinary/mixer/mirrored/initialize()
|
||||
if(node1 && node2 && node3) return
|
||||
|
||||
node1 = findConnecting(dir)
|
||||
node2 = findConnecting(turn(dir, -90))
|
||||
node3 = findConnecting(turn(dir, -180))
|
||||
|
||||
update_icon()
|
||||
|
||||
@@ -35,6 +35,11 @@ obj/machinery/atmospherics/trinary
|
||||
air3.volume = 200
|
||||
|
||||
buildFrom(var/mob/usr,var/obj/item/pipe/pipe)
|
||||
if(!(pipe.dir in list(NORTH, SOUTH, EAST, WEST)) && src.mirror) //because the dir isn't in the right set, we want to make the mirror kind
|
||||
var/obj/machinery/atmospherics/trinary/mirrored_pipe = new mirror(src.loc)
|
||||
pipe.dir = turn(pipe.dir, -45)
|
||||
qdel(src)
|
||||
return mirrored_pipe.buildFrom(usr, pipe)
|
||||
dir = pipe.dir
|
||||
initialize_directions = pipe.get_pipe_dir()
|
||||
if (pipe.pipename)
|
||||
|
||||
@@ -8,6 +8,8 @@ obj/machinery/atmospherics/tvalve
|
||||
dir = SOUTH
|
||||
initialize_directions = SOUTH|NORTH|WEST
|
||||
|
||||
mirror = /obj/machinery/atmospherics/tvalve/mirrored
|
||||
|
||||
state = 0 // 0 = go straight, 1 = go to side
|
||||
|
||||
// like a trinary component, node1 is input, node2 is side output, node3 is straight output
|
||||
@@ -30,6 +32,11 @@ obj/machinery/atmospherics/tvalve
|
||||
..()
|
||||
|
||||
buildFrom(var/mob/usr,var/obj/item/pipe/pipe)
|
||||
if(!(pipe.dir in list(NORTH, SOUTH, EAST, WEST)) && src.mirror)
|
||||
var/obj/machinery/atmospherics/tvalve/mirrored_pipe = new mirror(src.loc)
|
||||
pipe.dir = turn(pipe.dir, -45)
|
||||
qdel(src)
|
||||
return mirrored_pipe.buildFrom(usr, pipe)
|
||||
dir = pipe.dir
|
||||
initialize_directions = pipe.get_pipe_dir()
|
||||
if (pipe.pipename)
|
||||
@@ -272,6 +279,8 @@ obj/machinery/atmospherics/tvalve
|
||||
desc = "A digitally controlled valve."
|
||||
icon = 'icons/obj/atmospherics/digital_valve.dmi'
|
||||
|
||||
mirror = /obj/machinery/atmospherics/tvalve/mirrored/digital
|
||||
|
||||
attack_ai(mob/user as mob)
|
||||
src.add_hiddenprint(user)
|
||||
return src.attack_hand(user)
|
||||
@@ -322,9 +331,6 @@ obj/machinery/atmospherics/tvalve
|
||||
attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
if (!istype(W, /obj/item/weapon/wrench))
|
||||
return ..()
|
||||
if (istype(src, /obj/machinery/atmospherics/tvalve/digital))
|
||||
user << "\red You cannot unwrench this [src], it's too complicated."
|
||||
return 1
|
||||
var/turf/T = src.loc
|
||||
if (level==1 && isturf(T) && T.intact)
|
||||
user << "\red You must remove the plating first."
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
Buildable pipes
|
||||
Buildable meters
|
||||
*/
|
||||
|
||||
//Gas piping numbers - do NOT hardcode these, use the defines
|
||||
#define PIPE_SIMPLE_STRAIGHT 0
|
||||
#define PIPE_SIMPLE_BENT 1
|
||||
#define PIPE_HE_STRAIGHT 2
|
||||
@@ -28,6 +30,17 @@ Buildable meters
|
||||
#define PIPE_INJECTOR 23
|
||||
#define PIPE_DP_VENT 24
|
||||
#define PIPE_PASV_VENT 25
|
||||
#define PIPE_DTVALVE 26
|
||||
|
||||
//Disposal piping numbers - do NOT hardcode these, use the defines
|
||||
#define DISP_PIPE_STRAIGHT 0
|
||||
#define DISP_PIPE_BENT 1
|
||||
#define DISP_JUNCTION 2
|
||||
#define DISP_YJUNCTION 3
|
||||
#define DISP_END_TRUNK 4
|
||||
#define DISP_END_BIN 5
|
||||
#define DISP_END_OUTLET 6
|
||||
#define DISP_END_CHUTE 7
|
||||
|
||||
/obj/item/pipe_spawner
|
||||
name = "Pipe Spawner"
|
||||
@@ -101,8 +114,12 @@ Buildable meters
|
||||
src.pipe_type = PIPE_PUMP
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/trinary/filter))
|
||||
src.pipe_type = PIPE_GAS_FILTER
|
||||
if(istype(make_from, /obj/machinery/atmospherics/trinary/filter/mirrored))
|
||||
src.dir = turn(src.dir, 45) //adjust it to have the proper icon
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer))
|
||||
src.pipe_type = PIPE_GAS_MIXER
|
||||
if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer/mirrored))
|
||||
src.dir = turn(src.dir, 45)
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_scrubber))
|
||||
src.pipe_type = PIPE_SCRUBBER
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate))
|
||||
@@ -112,7 +129,12 @@ Buildable meters
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/heat_exchanger))
|
||||
src.pipe_type = PIPE_HEAT_EXCHANGE
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/tvalve))
|
||||
src.pipe_type = PIPE_MTVALVE
|
||||
if(istype(make_from, /obj/machinery/atmospherics/tvalve/digital) || istype(make_from, /obj/machinery/atmospherics/tvalve/mirrored/digital))
|
||||
src.pipe_type = PIPE_DTVALVE
|
||||
else
|
||||
src.pipe_type = PIPE_MTVALVE
|
||||
if(istype(make_from, /obj/machinery/atmospherics/tvalve/mirrored))
|
||||
src.dir = turn(src.dir, 45) //sets the angle and icon correctly
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w))
|
||||
src.pipe_type = PIPE_MANIFOLD4W
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/cap))
|
||||
@@ -161,7 +183,8 @@ var/global/list/pipeID2State = list(
|
||||
"thermalplate",
|
||||
"injector",
|
||||
"binary vent",
|
||||
"passive vent"
|
||||
"passive vent",
|
||||
"dtvalve"
|
||||
)
|
||||
/obj/item/pipe/proc/update()
|
||||
var/list/nlist = list( \
|
||||
@@ -190,7 +213,8 @@ var/global/list/pipeID2State = list(
|
||||
"thermal plate", \
|
||||
"injector", \
|
||||
"dual-port vent", \
|
||||
"passive vent"
|
||||
"passive vent", \
|
||||
"digital t-valve"
|
||||
)
|
||||
name = nlist[pipe_type+1] + " fitting"
|
||||
icon = 'icons/obj/pipe-item.dmi'
|
||||
@@ -262,7 +286,7 @@ var/global/list/pipeID2State = list(
|
||||
return dir|flip|cw|acw
|
||||
if(PIPE_MANIFOLD)
|
||||
return flip|cw|acw
|
||||
if(PIPE_GAS_FILTER, PIPE_GAS_MIXER,PIPE_MTVALVE)
|
||||
if(PIPE_GAS_FILTER, PIPE_GAS_MIXER,PIPE_MTVALVE,PIPE_DTVALVE)
|
||||
return dir|flip|cw
|
||||
if(PIPE_CAP)
|
||||
return flip
|
||||
@@ -396,6 +420,9 @@ var/global/list/pipeID2State = list(
|
||||
if(PIPE_PASV_VENT)
|
||||
P=new /obj/machinery/atmospherics/pipe/vent(src.loc)
|
||||
|
||||
if(PIPE_DTVALVE)
|
||||
P=new /obj/machinery/atmospherics/tvalve/digital(src.loc)
|
||||
|
||||
if(P.buildFrom(usr,src))
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user.visible_message( \
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
icon_state = "pipe_d"
|
||||
density = 1
|
||||
anchored = 1
|
||||
var/unwrenched = 0
|
||||
var/wait = 0
|
||||
machine_flags = WRENCHMOVE | FIXED2WORK
|
||||
|
||||
@@ -36,42 +35,43 @@
|
||||
var/dat = {"
|
||||
<b>Regular pipes:</b>
|
||||
<ul>
|
||||
<li><a href='?src=\ref[src];make=0;dir=1'>Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=1;dir=5'>Bent Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=5;dir=1'>Manifold</a></li>
|
||||
<li><a href='?src=\ref[src];make=8;dir=1'>Manual Valve</a></li>
|
||||
<li><a href='?src=\ref[src];make=18;dir=1'>Digital Valve</a></li>
|
||||
<li><a href='?src=\ref[src];make=21;dir=1'>Pipe Cap</a></li>
|
||||
<li><a href='?src=\ref[src];make=20;dir=1'>4-Way Manifold</a></li>
|
||||
<li><a href='?src=\ref[src];make=19;dir=1'>Manual T-Valve</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_SIMPLE_STRAIGHT];dir=1'>Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_SIMPLE_BENT];dir=5'>Bent Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_MANIFOLD];dir=1'>Manifold</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_MVALVE];dir=1'>Manual Valve</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_DVALVE];dir=1'>Digital Valve</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_CAP];dir=1'>Pipe Cap</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_MANIFOLD4W];dir=1'>4-Way Manifold</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_MTVALVE];dir=1'>Manual T-Valve</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_DTVALVE];dir=1'>Digital T-Valve</a></li>
|
||||
</ul>
|
||||
<b>Devices:</b>
|
||||
<ul>
|
||||
<li><a href='?src=\ref[src];make=4;dir=1'>Connector</a></li>
|
||||
<li><a href='?src=\ref[src];make=7;dir=1'>Unary Vent</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_CONNECTOR];dir=1'>Connector</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_UVENT];dir=1'>Unary Vent</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_PASV_VENT];dir=1'>Passive Vent</a></li>
|
||||
<li><a href='?src=\ref[src];make=9;dir=1'>Gas Pump</a></li>
|
||||
<li><a href='?src=\ref[src];make=15;dir=1'>Passive Gate</a></li>
|
||||
<li><a href='?src=\ref[src];make=16;dir=1'>Volume Pump</a></li>
|
||||
<li><a href='?src=\ref[src];make=10;dir=1'>Scrubber</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_PUMP];dir=1'>Gas Pump</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_PASSIVE_GATE];dir=1'>Passive Gate</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_VOLUME_PUMP];dir=1'>Volume Pump</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_SCRUBBER];dir=1'>Scrubber</a></li>
|
||||
<li><a href='?src=\ref[src];makemeter=1'>Meter</a></li>
|
||||
<li><a href='?src=\ref[src];makegsensor=1'>Gas Sensor</a></li>
|
||||
<li><a href='?src=\ref[src];make=13;dir=1'>Gas Filter</a></li>
|
||||
<li><a href='?src=\ref[src];make=14;dir=1'>Gas Mixer</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_GAS_FILTER];dir=1'>Gas Filter</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_GAS_MIXER];dir=1'>Gas Mixer</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_THERMAL_PLATE];dir=1'>Thermal Plate</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_INJECTOR];dir=1'>Injector</a></li>
|
||||
</ul>
|
||||
<b>Heat exchange:</b>
|
||||
<ul>
|
||||
<li><a href='?src=\ref[src];make=2;dir=1'>Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=3;dir=5'>Bent Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=6;dir=1'>Junction</a></li>
|
||||
<li><a href='?src=\ref[src];make=17;dir=1'>Heat Exchanger</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_HE_STRAIGHT];dir=1'>Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_HE_BENT];dir=5'>Bent Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_JUNCTION];dir=1'>Junction</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_HEAT_EXCHANGE];dir=1'>Heat Exchanger</a></li>
|
||||
</ul>
|
||||
<b>Insulated pipes:</b>
|
||||
<ul>
|
||||
<li><a href='?src=\ref[src];make=11;dir=1'>Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=12;dir=5'>Bent Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_INSULATED_STRAIGHT];dir=1'>Pipe</a></li>
|
||||
<li><a href='?src=\ref[src];make=[PIPE_INSULATED_BENT];dir=5'>Bent Pipe</a></li>
|
||||
</ul>
|
||||
"}
|
||||
//What number the make points to is in the define # at the top of construction.dm in same folder
|
||||
@@ -83,7 +83,7 @@
|
||||
/obj/machinery/pipedispenser/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
if(unwrenched || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
|
||||
if(!anchored || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
|
||||
usr << browse(null, "window=pipedispenser")
|
||||
return
|
||||
usr.set_machine(src)
|
||||
@@ -123,16 +123,8 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/pipedispenser/wrenchAnchor(mob/user)
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "\blue You begin to [anchored ? "un" : ""]fasten \the [src] from the floor..."
|
||||
if (do_after(user, 40))
|
||||
user.visible_message( \
|
||||
"[user] unfastens \the [src].", \
|
||||
"\blue You have [anchored ? "un" : ""]fastened \the [src]. Now it can [anchored ? "be pulled somewhere else" : "dispense pipes"].", \
|
||||
"You hear ratchet.")
|
||||
src.anchored = !src.anchored
|
||||
src.unwrenched = !src.unwrenched
|
||||
if (unwrenched==0)
|
||||
if(..() == 1)
|
||||
if(anchored)
|
||||
src.stat |= MAINT
|
||||
if (usr.machine==src)
|
||||
usr << browse(null, "window=pipedispenser")
|
||||
@@ -191,14 +183,14 @@ Nah
|
||||
return
|
||||
|
||||
var/dat = {"<b>Disposal Pipes</b><br><br>
|
||||
<A href='?src=\ref[src];dmake=0'>Pipe</A><BR>
|
||||
<A href='?src=\ref[src];dmake=1'>Bent Pipe</A><BR>
|
||||
<A href='?src=\ref[src];dmake=2'>Junction</A><BR>
|
||||
<A href='?src=\ref[src];dmake=3'>Y-Junction</A><BR>
|
||||
<A href='?src=\ref[src];dmake=4'>Trunk</A><BR>
|
||||
<A href='?src=\ref[src];dmake=5'>Bin</A><BR>
|
||||
<A href='?src=\ref[src];dmake=6'>Outlet</A><BR>
|
||||
<A href='?src=\ref[src];dmake=7'>Chute</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_PIPE_STRAIGHT]'>Pipe</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_PIPE_BENT]'>Bent Pipe</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_JUNCTION]'>Junction</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_YJUNCTION]'>Y-Junction</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_END_TRUNK]'>Trunk</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_END_BIN]'>Bin</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_END_OUTLET]'>Outlet</A><BR>
|
||||
<A href='?src=\ref[src];dmake=[DISP_END_CHUTE]'>Chute</A><BR>
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>[src]</TITLE></HEAD><TT>[dat]</TT>", "window=pipedispenser")
|
||||
@@ -213,14 +205,14 @@ Nah
|
||||
usr.set_machine(src)
|
||||
src.add_fingerprint(usr)
|
||||
if(href_list["dmake"])
|
||||
if(unwrenched || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
|
||||
if(!anchored || !usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
|
||||
usr << browse(null, "window=pipedispenser")
|
||||
return
|
||||
if(!wait)
|
||||
var/p_type = text2num(href_list["dmake"])
|
||||
var/obj/structure/disposalconstruct/C = new (src.loc)
|
||||
switch(p_type)
|
||||
if(0)
|
||||
if(0, 1, 2, 3, 4, 5)
|
||||
C.ptype = 0
|
||||
if(1)
|
||||
C.ptype = 1
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
CONTAINS:
|
||||
RPD
|
||||
*/
|
||||
#define PIPE_BINARY 0
|
||||
#define PIPE_BENT 1
|
||||
#define PIPE_TRINARY 2
|
||||
#define PIPE_UNARY 3
|
||||
#define PIPE_BINARY 0
|
||||
#define PIPE_BENT 1
|
||||
#define PIPE_TRINARY 2
|
||||
#define PIPE_TRIN_M 3
|
||||
#define PIPE_UNARY 4
|
||||
|
||||
/datum/pipe_info
|
||||
var/id=-1
|
||||
@@ -59,6 +60,7 @@ var/global/list/disposalpipeID2State=list(
|
||||
"pipe-j1s",
|
||||
"pipe-j2s"
|
||||
)
|
||||
|
||||
/datum/pipe_info/disposal
|
||||
icon = 'icons/obj/pipes/disposal.dmi'
|
||||
icon_state = "meterX"
|
||||
@@ -74,51 +76,53 @@ var/global/list/disposalpipeID2State=list(
|
||||
/datum/pipe_info/disposal/Render(var/dispenser,var/label)
|
||||
return "<li><a href='?src=\ref[dispenser];dmake=[id];type=3'>[label]</a></li>"
|
||||
|
||||
//find these defines in code\game\machinery\pipe\consruction.dm
|
||||
var/global/list/RPD_recipes=list(
|
||||
"Regular Pipes" = list(
|
||||
"Pipe" = new /datum/pipe_info(0, 1, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info(1, 5, PIPE_BENT),
|
||||
"Manifold" = new /datum/pipe_info(5, 1, PIPE_TRINARY),
|
||||
"Manual Valve" = new /datum/pipe_info(8, 1, PIPE_BINARY),
|
||||
"Digital Valve" = new /datum/pipe_info(18, 1, PIPE_BINARY),
|
||||
"Pipe Cap" = new /datum/pipe_info(21, 1, PIPE_UNARY),
|
||||
"4-Way Manifold" = new /datum/pipe_info(20,-1, PIPE_BINARY),
|
||||
"Manual T-Valve" = new /datum/pipe_info(19, 2, PIPE_TRINARY),
|
||||
"Pipe" = new /datum/pipe_info(PIPE_SIMPLE_STRAIGHT, 1, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info(PIPE_SIMPLE_BENT, 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),
|
||||
"Pipe Cap" = new /datum/pipe_info(PIPE_CAP, 1, PIPE_UNARY),
|
||||
"4-Way Manifold" = new /datum/pipe_info(PIPE_MANIFOLD4W, -1, PIPE_BINARY),
|
||||
"Manual T-Valve" = new /datum/pipe_info(PIPE_MTVALVE, 2, PIPE_TRIN_M),
|
||||
"Digital T-Valve" = new /datum/pipe_info(PIPE_DTVALVE, 2, PIPE_TRIN_M),
|
||||
),
|
||||
"Devices"=list(
|
||||
"Connector" = new /datum/pipe_info(4, 1, PIPE_UNARY),
|
||||
"Unary Vent" = new /datum/pipe_info(7, 1, PIPE_UNARY),
|
||||
"Passive Vent" = new /datum/pipe_info(PIPE_PASV_VENT, 1, PIPE_UNARY),
|
||||
"Gas Pump" = new /datum/pipe_info(9, 1, PIPE_UNARY),
|
||||
"Passive Gate" = new /datum/pipe_info(15,1, PIPE_UNARY),
|
||||
"Volume Pump" = new /datum/pipe_info(16,1, PIPE_UNARY),
|
||||
"Scrubber" = new /datum/pipe_info(10,1, PIPE_UNARY),
|
||||
"Connector" = new /datum/pipe_info(PIPE_CONNECTOR, 1, PIPE_UNARY),
|
||||
"Unary Vent" = new /datum/pipe_info(PIPE_UVENT, 1, PIPE_UNARY),
|
||||
"Passive Vent" = new /datum/pipe_info(PIPE_PASV_VENT, 1, PIPE_UNARY),
|
||||
"Gas Pump" = new /datum/pipe_info(PIPE_PUMP, 1, PIPE_UNARY),
|
||||
"Passive Gate" = new /datum/pipe_info(PIPE_PASSIVE_GATE, 1, PIPE_UNARY),
|
||||
"Volume Pump" = new /datum/pipe_info(PIPE_VOLUME_PUMP, 1, PIPE_UNARY),
|
||||
"Scrubber" = new /datum/pipe_info(PIPE_SCRUBBER, 1, PIPE_UNARY),
|
||||
"Meter" = new /datum/pipe_info/meter(),
|
||||
"Gas Sensor" = new /datum/pipe_info/gsensor(),
|
||||
"Gas Filter" = new /datum/pipe_info(13,1, PIPE_TRINARY),
|
||||
"Gas Mixer" = new /datum/pipe_info(14,1, PIPE_TRINARY),
|
||||
"Thermal Plate" = new /datum/pipe_info(PIPE_THERMAL_PLATE,1, PIPE_UNARY),
|
||||
"Injector" = new /datum/pipe_info(PIPE_INJECTOR, 1, PIPE_UNARY),
|
||||
"Gas Filter" = new /datum/pipe_info(PIPE_GAS_FILTER, 1, PIPE_TRIN_M),
|
||||
"Gas Mixer" = new /datum/pipe_info(PIPE_GAS_MIXER, 1, PIPE_TRIN_M),
|
||||
"Thermal Plate" = new /datum/pipe_info(PIPE_THERMAL_PLATE, 1, PIPE_UNARY),
|
||||
"Injector" = new /datum/pipe_info(PIPE_INJECTOR, 1, PIPE_UNARY),
|
||||
),
|
||||
"Heat Exchange" = list(
|
||||
"Pipe" = new /datum/pipe_info(2, 1, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info(3, 5, PIPE_BENT),
|
||||
"Junction" = new /datum/pipe_info(6, 1, PIPE_UNARY),
|
||||
"Heat Exchanger" = new /datum/pipe_info(17,1, PIPE_UNARY),
|
||||
"Pipe" = new /datum/pipe_info(PIPE_HE_STRAIGHT, 1, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info(PIPE_HE_BENT, 5, PIPE_BENT),
|
||||
"Junction" = new /datum/pipe_info(PIPE_JUNCTION, 1, PIPE_UNARY),
|
||||
"Heat Exchanger" = new /datum/pipe_info(PIPE_HEAT_EXCHANGE, 1, PIPE_UNARY),
|
||||
),
|
||||
"Insulated Pipes" = list(
|
||||
"Pipe" = new /datum/pipe_info(11,1, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info(12,5, PIPE_BENT),
|
||||
"Pipe" = new /datum/pipe_info(PIPE_INSULATED_STRAIGHT,1, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info(PIPE_INSULATED_BENT, 5, PIPE_BENT),
|
||||
),
|
||||
"Disposal Pipes" = list(
|
||||
"Pipe" = new /datum/pipe_info/disposal(0, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info/disposal(1, PIPE_BENT),
|
||||
"Junction" = new /datum/pipe_info/disposal(2, PIPE_TRINARY),
|
||||
"Y-Junction" = new /datum/pipe_info/disposal(3, PIPE_TRINARY),
|
||||
"Trunk" = new /datum/pipe_info/disposal(4, PIPE_TRINARY),
|
||||
"Bin" = new /datum/pipe_info/disposal(5, PIPE_UNARY),
|
||||
"Outlet" = new /datum/pipe_info/disposal(6, PIPE_UNARY),
|
||||
"Chute" = new /datum/pipe_info/disposal(7, PIPE_UNARY),
|
||||
"Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_STRAIGHT, PIPE_BINARY),
|
||||
"Bent Pipe" = new /datum/pipe_info/disposal(DISP_PIPE_BENT, PIPE_BENT),
|
||||
"Junction" = new /datum/pipe_info/disposal(DISP_JUNCTION, PIPE_TRINARY),
|
||||
"Y-Junction" = new /datum/pipe_info/disposal(DISP_YJUNCTION, PIPE_TRINARY),
|
||||
"Trunk" = new /datum/pipe_info/disposal(DISP_END_TRUNK, PIPE_TRINARY),
|
||||
"Bin" = new /datum/pipe_info/disposal(DISP_END_BIN, PIPE_UNARY),
|
||||
"Outlet" = new /datum/pipe_info/disposal(DISP_END_OUTLET, PIPE_UNARY),
|
||||
"Chute" = new /datum/pipe_info/disposal(DISP_END_CHUTE, PIPE_UNARY),
|
||||
)
|
||||
)
|
||||
/obj/item/weapon/pipe_dispenser
|
||||
@@ -169,7 +173,7 @@ var/global/list/RPD_recipes=list(
|
||||
|
||||
/obj/item/weapon/pipe_dispenser/proc/render_dir_img(var/_dir,var/pic,var/title)
|
||||
var/selected=""
|
||||
if(_dir==p_dir)
|
||||
if(_dir == p_dir)
|
||||
selected=" class=\"selected\""
|
||||
return "<a href=\"?src=\ref[src];setdir=[_dir]\" title=\"[title]\"[selected]><img src=\"[pic]\" /></a>"
|
||||
|
||||
@@ -288,6 +292,40 @@ var/global/list/RPD_recipes=list(
|
||||
<a href="?src=\ref[src];setdir=8" title="South, East, North">╠</a>
|
||||
</p>
|
||||
"}
|
||||
if(PIPE_TRIN_M) // Mirrored ones
|
||||
if(preview)
|
||||
user << browse_rsc(new /icon(preview, dir=NORTH), "s.png")
|
||||
user << browse_rsc(new /icon(preview, dir=EAST), "w.png")
|
||||
user << browse_rsc(new /icon(preview, dir=SOUTH), "n.png")
|
||||
user << browse_rsc(new /icon(preview, dir=WEST), "e.png")
|
||||
user << browse_rsc(new /icon(preview, dir=SOUTHEAST), "sm.png") //each mirror icon is 45 anticlockwise from it's real direction
|
||||
user << browse_rsc(new /icon(preview, dir=NORTHEAST), "wm.png")
|
||||
user << browse_rsc(new /icon(preview, dir=NORTHWEST), "nm.png")
|
||||
user << browse_rsc(new /icon(preview, dir=SOUTHWEST), "em.png")
|
||||
|
||||
dirsel += "<p>"
|
||||
dirsel += render_dir_img(1,"s.png","West South East")
|
||||
dirsel += render_dir_img(4,"w.png","North West South")
|
||||
dirsel += "<br />"
|
||||
dirsel += render_dir_img(2,"n.png","East North West")
|
||||
dirsel += render_dir_img(8,"e.png","South East North")
|
||||
dirsel += "<br />"
|
||||
dirsel += render_dir_img(6,"sm.png","West South East")
|
||||
dirsel += render_dir_img(5,"wm.png","North West South")
|
||||
dirsel += "<br />"
|
||||
dirsel += render_dir_img(9,"nm.png","East North West")
|
||||
dirsel += render_dir_img(10,"em.png","South East North")
|
||||
dirsel += "</p>"
|
||||
else
|
||||
dirsel+={"
|
||||
<p>
|
||||
<a href="?src=\ref[src];setdir=1" title="West, South, East">╦</a>
|
||||
<a href="?src=\ref[src];setdir=4" title="North, West, South">╣</a>
|
||||
<br />
|
||||
<a href="?src=\ref[src];setdir=2" title="East, North, West">╩</a>
|
||||
<a href="?src=\ref[src];setdir=8" title="South, East, North">╠</a>
|
||||
</p>
|
||||
"}
|
||||
if(PIPE_UNARY) // Unary
|
||||
if(preview)
|
||||
user << browse_rsc(new /icon(preview, dir=NORTH), "n.png")
|
||||
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 29 KiB |