mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-11 18:22:14 +00:00
How these new pipes work. -Smart pipes autoconnect to nearby smart pipes -They are now color coded, so they only connect to the same colored pipe, the GREY pipe is the wildcard and can connect to every other color, so be aware of this -ALL components spawned by the RPD can be colored (from pumps to connectors, from pipes to manifolds), if you leave them GREY they can connect to every other color. Color adapters can be colored, but they'll still connect two pipes with different colors. BUILDABLE machines are GREY (thermomachines, cryo, HFR) so be aware of this -Trying to go across another smart pipe will now build a bridge pipe automatically already colored of the color you choose, so you don't have to place it yourself anymore (is still available in the RPD tho) -ALL binary components, layer manifolds, color adapters and bridge pipe can be put ONTOP of a smart pipe, but not on another of these. Smart pipes can't be placed on top of these pipes, so you have to build them first. -Lcrossings can't be made anymore (sorry y'all i tryed, if someone have a way of doing them ping me on discord) -REMEMBER you still have 5 layers to go, these rules apply to the same layer pipes, so if you do a crossing on different layers you won't see a bridge pipe appear.
57 lines
2.5 KiB
Plaintext
57 lines
2.5 KiB
Plaintext
/client/proc/atmosscan()
|
|
set category = "Mapping"
|
|
set name = "Check Plumbing"
|
|
if(!src.holder)
|
|
to_chat(src, "Only administrators may use this command.", confidential = TRUE)
|
|
return
|
|
SSblackbox.record_feedback("tally", "admin_verb", 1, "Check Plumbing") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
|
|
//all plumbing - yes, some things might get stated twice, doesn't matter.
|
|
for(var/obj/machinery/atmospherics/components/pipe in GLOB.machines)
|
|
if(pipe.z && (!pipe.nodes || !pipe.nodes.len || (null in pipe.nodes)))
|
|
to_chat(usr, "Unconnected [pipe.name] located at [ADMIN_VERBOSEJMP(pipe)]", confidential = TRUE)
|
|
|
|
//Manifolds
|
|
for(var/obj/machinery/atmospherics/pipe/smart/manifold4w/pipe in GLOB.machines)
|
|
if(pipe.z && (!pipe.nodes || !pipe.nodes.len || (null in pipe.nodes)))
|
|
to_chat(usr, "Unconnected [pipe.name] located at [ADMIN_VERBOSEJMP(pipe)]", confidential = TRUE)
|
|
|
|
//Pipes
|
|
for(var/obj/machinery/atmospherics/pipe/smart/manifold4w/pipe in GLOB.machines)
|
|
if(pipe.z && (!pipe.nodes || !pipe.nodes.len || (null in pipe.nodes)))
|
|
to_chat(usr, "Unconnected [pipe.name] located at [ADMIN_VERBOSEJMP(pipe)]", confidential = TRUE)
|
|
|
|
/client/proc/powerdebug()
|
|
set category = "Mapping"
|
|
set name = "Check Power"
|
|
if(!src.holder)
|
|
to_chat(src, "Only administrators may use this command.", confidential = TRUE)
|
|
return
|
|
SSblackbox.record_feedback("tally", "admin_verb", 1, "Check Power") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
var/list/results = list()
|
|
|
|
for (var/datum/powernet/PN in GLOB.powernets)
|
|
if (!PN.nodes || !PN.nodes.len)
|
|
if(PN.cables && (PN.cables.len > 1))
|
|
var/obj/structure/cable/C = PN.cables[1]
|
|
results += "Powernet with no nodes! (number [PN.number]) - example cable at [ADMIN_VERBOSEJMP(C)]"
|
|
|
|
if (!PN.cables || (PN.cables.len < 10))
|
|
if(PN.cables && (PN.cables.len > 1))
|
|
var/obj/structure/cable/C = PN.cables[1]
|
|
results += "Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [ADMIN_VERBOSEJMP(C)]"
|
|
|
|
for(var/turf/T in world.contents)
|
|
var/found_one = FALSE
|
|
for(var/obj/structure/cable/C in T.contents)
|
|
if(found_one)
|
|
results += "Doubled wire at [ADMIN_VERBOSEJMP(C)]"
|
|
else
|
|
found_one = TRUE
|
|
var/obj/machinery/power/terminal/term = locate(/obj/machinery/power/terminal) in T.contents
|
|
if(term)
|
|
var/obj/structure/cable/C = locate(/obj/structure/cable) in T.contents
|
|
if(!C)
|
|
results += "Unwired terminal at [ADMIN_VERBOSEJMP(term)]"
|
|
to_chat(usr, "[results.Join("\n")]", confidential = TRUE)
|