mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Adds a new mapping tool for finding if supply and waste cross at any point (#23859)
This commit is contained in:
committed by
Kurfursten
parent
dd77cdfb87
commit
c7d570bae4
@@ -169,6 +169,7 @@ var/intercom_range_display_status = 0
|
||||
src.verbs += /client/proc/stop_line_profiling
|
||||
src.verbs += /client/proc/show_line_profiling
|
||||
src.verbs += /client/proc/check_wires
|
||||
src.verbs += /client/proc/check_pipes
|
||||
#if UNIT_TESTS_ENABLED
|
||||
src.verbs += /client/proc/unit_test_panel
|
||||
#endif
|
||||
@@ -434,4 +435,72 @@ var/global/movement_disabled_exception //This is the client that calls the proc,
|
||||
to_chat(usr, "<span class = 'warning'>Disconnected wire at [formatJumpTo(get_turf(C))]</span>")
|
||||
neighbour = locate() in get_step(get_turf(C),C.d2)
|
||||
if(!neighbour || neighbour.get_powernet() != C.get_powernet())
|
||||
to_chat(usr, "<span class = 'warning'>Disconnected wire at [formatJumpTo(get_turf(C))]</span>")
|
||||
to_chat(usr, "<span class = 'warning'>Disconnected wire at [formatJumpTo(get_turf(C))]</span>")
|
||||
|
||||
/client/proc/check_pipes()
|
||||
set category = "Mapping"
|
||||
set name = "Check if Distro and Waste mix"
|
||||
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
var/bad_pipes = 0
|
||||
var/list/supply_pipes = list(/obj/machinery/atmospherics/pipe/layer_adapter/supply, /obj/machinery/atmospherics/pipe/manifold/supply, /obj/machinery/atmospherics/pipe/manifold4w/supply, /obj/machinery/atmospherics/pipe/simple/supply)
|
||||
var/list/waste_pipes = list(/obj/machinery/atmospherics/pipe/layer_adapter/scrubbers, /obj/machinery/atmospherics/pipe/manifold/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /obj/machinery/atmospherics/pipe/simple/scrubbers)
|
||||
|
||||
for(var/datum/pipe_network/PN in pipe_networks)
|
||||
//Forgive me for what I must do
|
||||
for(var/datum/pipeline/P in PN.line_members)
|
||||
for(var/obj/machinery/atmospherics/AM in P.members)
|
||||
if(is_type_in_list(AM, supply_pipes))
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/simple))
|
||||
var/obj/machinery/atmospherics/pipe/simple/SP = AM
|
||||
if(is_type_in_list(SP.node1, waste_pipes) || is_type_in_list(SP.node2, waste_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/layer_adapter))
|
||||
var/obj/machinery/atmospherics/pipe/layer_adapter/LA = AM
|
||||
if(is_type_in_list(LA.layer_node, waste_pipes) || is_type_in_list(LA.mid_node, waste_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/manifold))
|
||||
var/obj/machinery/atmospherics/pipe/manifold/MF = AM
|
||||
if(is_type_in_list(MF.node1, waste_pipes) || is_type_in_list(MF.node2, waste_pipes) || is_type_in_list(MF.node3, waste_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/manifold4w))
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/MF4 = AM
|
||||
if(is_type_in_list(MF4.node1, waste_pipes) || is_type_in_list(MF4.node2, waste_pipes) || is_type_in_list(MF4.node3, waste_pipes)|| is_type_in_list(MF4.node4, waste_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
if(is_type_in_list(AM, waste_pipes))
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/simple))
|
||||
var/obj/machinery/atmospherics/pipe/simple/SP = AM
|
||||
if(is_type_in_list(SP.node1, supply_pipes) || is_type_in_list(SP.node2, supply_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/layer_adapter))
|
||||
var/obj/machinery/atmospherics/pipe/layer_adapter/LA = AM
|
||||
if(is_type_in_list(LA.layer_node, supply_pipes) || is_type_in_list(LA.mid_node, supply_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/manifold))
|
||||
var/obj/machinery/atmospherics/pipe/manifold/MF = AM
|
||||
if(is_type_in_list(MF.node1, supply_pipes) || is_type_in_list(MF.node2, supply_pipes) || is_type_in_list(MF.node3, supply_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
if(istype(AM, /obj/machinery/atmospherics/pipe/manifold4w))
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/MF4 = AM
|
||||
if(is_type_in_list(MF4.node1, supply_pipes) || is_type_in_list(MF4.node2, supply_pipes) || is_type_in_list(MF4.node3, supply_pipes)|| is_type_in_list(MF4.node4, supply_pipes))
|
||||
bad_pipes++
|
||||
to_chat(world, "Distro/Waste cross at [formatJumpTo(get_turf(AM))]")
|
||||
continue
|
||||
|
||||
to_chat(world, "[bad_pipes] bad pipes detected.")
|
||||
Reference in New Issue
Block a user