mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-22 16:21:31 +00:00
This converts the machine and mob processes to the SMC. Additionally, it adds the Atom subsystem, which handles all Initialize() calls in place of the old gameticker. Due to incompatibility with our atmospherics (FUCK OUR ATMOSPHERICS FOR FUCKING EVER JESUS CHRIST WHO THE FUCK MADE THIS PIECE OF GODDAMN SHIT) atmospherics machines do not use Initialize() as they should, instead opting for a custom atmos_init proc that the air controller handles.
64 lines
2.6 KiB
Plaintext
64 lines
2.6 KiB
Plaintext
/client/proc/atmosscan()
|
|
set category = "Mapping"
|
|
set name = "Check Piping"
|
|
set background = 1
|
|
if(!src.holder)
|
|
to_chat(src, "Only administrators may use this command.")
|
|
return
|
|
feedback_add_details("admin_verb","CP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
|
|
if(alert("WARNING: This command should not be run on a live server. Do you want to continue?", "Check Piping", "No", "Yes") == "No")
|
|
return
|
|
|
|
to_chat(usr, "Checking for disconnected pipes...")
|
|
//all plumbing - yes, some things might get stated twice, doesn't matter.
|
|
for(var/obj/machinery/atmospherics/plumbing in world)
|
|
if(plumbing.nodealert)
|
|
to_chat(usr, "Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])")
|
|
|
|
//Manifolds
|
|
for(var/obj/machinery/atmospherics/pipe/manifold/pipe in world)
|
|
if(!pipe.node1 || !pipe.node2 || !pipe.node3)
|
|
to_chat(usr, "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])")
|
|
|
|
//Pipes
|
|
for(var/obj/machinery/atmospherics/pipe/simple/pipe in world)
|
|
if(!pipe.node1 || !pipe.node2)
|
|
to_chat(usr, "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])")
|
|
|
|
to_chat(usr, "Checking for overlapping pipes...")
|
|
for(var/turf/T in world)
|
|
for(var/dir in cardinal)
|
|
var/list/check = list(0, 0, 0)
|
|
var/done = 0
|
|
for(var/obj/machinery/atmospherics/pipe in T)
|
|
if(dir & pipe.initialize_directions)
|
|
for(var/ct in pipe.connect_types)
|
|
check[ct]++
|
|
if(check[ct] > 1)
|
|
to_chat(usr, "Overlapping pipe ([pipe.name]) located at [T.x],[T.y],[T.z] ([get_area(T)])")
|
|
done = 1
|
|
break
|
|
if(done)
|
|
break
|
|
to_chat(usr, "Done")
|
|
|
|
/client/proc/powerdebug()
|
|
set category = "Mapping"
|
|
set name = "Check Power"
|
|
if(!src.holder)
|
|
to_chat(src, "Only administrators may use this command.")
|
|
return
|
|
feedback_add_details("admin_verb","CPOW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
|
|
for(var/datum/powernet/PN in SSmachines.powernets)
|
|
if(!PN.nodes || !PN.nodes.len)
|
|
if(PN.cables && (PN.cables.len > 1))
|
|
var/obj/structure/cable/C = PN.cables[1]
|
|
to_chat(usr, "Powernet with no nodes! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]")
|
|
|
|
if(!PN.cables || (PN.cables.len < 10))
|
|
if(PN.cables && (PN.cables.len > 1))
|
|
var/obj/structure/cable/C = PN.cables[1]
|
|
to_chat(usr, "Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]")
|