diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index a4a60a4e413..4b862a69453 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -444,44 +444,59 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
var/list/areas_with_intercom = list()
var/list/areas_with_camera = list()
+ var/list/areas_with_multiple_APCs = list()
+ var/list/areas_with_multiple_air_alarms = list()
+
for(var/area/A in world)
- if(!(A.type in areas_all))
- areas_all.Add(A.type)
+ areas_all |= A.type
for(var/obj/machinery/power/apc/APC in world)
var/area/A = get_area(APC)
+ if(!A)
+ continue
if(!(A.type in areas_with_APC))
- areas_with_APC.Add(A.type)
+ areas_with_APC |= A.type
+ else
+ areas_with_multiple_APCs |= A.type
for(var/obj/machinery/alarm/alarm in world)
var/area/A = get_area(alarm)
+ if(!A)
+ continue
if(!(A.type in areas_with_air_alarm))
- areas_with_air_alarm.Add(A.type)
+ areas_with_air_alarm |= A.type
+ else
+ areas_with_multiple_air_alarms |= A.type
for(var/obj/machinery/requests_console/RC in world)
var/area/A = get_area(RC)
- if(!(A.type in areas_with_RC))
- areas_with_RC.Add(A.type)
+ if(!A)
+ continue
+ areas_with_RC |= A.type
for(var/obj/machinery/light/L in world)
var/area/A = get_area(L)
- if(!(A.type in areas_with_light))
- areas_with_light.Add(A.type)
+ if(!A)
+ continue
+ areas_with_light |= A.type
for(var/obj/machinery/light_switch/LS in world)
var/area/A = get_area(LS)
- if(!(A.type in areas_with_LS))
- areas_with_LS.Add(A.type)
+ if(!A)
+ continue
+ areas_with_LS |= A.type
for(var/obj/item/device/radio/intercom/I in world)
var/area/A = get_area(I)
- if(!(A.type in areas_with_intercom))
- areas_with_intercom.Add(A.type)
+ if(!A)
+ continue
+ areas_with_intercom |= A.type
for(var/obj/machinery/camera/C in world)
var/area/A = get_area(C)
- if(!(A.type in areas_with_camera))
- areas_with_camera.Add(A.type)
+ if(!A)
+ continue
+ areas_with_camera |= A.type
var/list/areas_without_APC = areas_all - areas_with_APC
var/list/areas_without_air_alarm = areas_all - areas_with_air_alarm
@@ -499,6 +514,14 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
for(var/areatype in areas_without_air_alarm)
world << "* [areatype]"
+ world << "AREAS WITH TOO MANY APCS:"
+ for(var/areatype in areas_with_multiple_APCs)
+ world << "* [areatype]"
+
+ world << "AREAS WITH TOO MANY AIR ALARMS:"
+ for(var/areatype in areas_with_multiple_air_alarms)
+ world << "* [areatype]"
+
world << "AREAS WITHOUT A REQUEST CONSOLE:"
for(var/areatype in areas_without_RC)
world << "* [areatype]"