diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index c1486e4fb5c..7999b36f467 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -9,7 +9,6 @@ GLOBAL_LIST_INIT(mechas_list, list()) //list of all mechs. Used by hostile mo
GLOBAL_LIST_INIT(spacepods_list, list()) //list of all space pods. Used by hostile mobs target tracking.
GLOBAL_LIST_INIT(joblist, list()) //list of all jobstypes, minus borg and AI
GLOBAL_LIST_INIT(airlocks, list()) //list of all airlocks
-GLOBAL_LIST_EMPTY(alarmdisplay) //list of all machines or programs that can display station alerts
GLOBAL_LIST_INIT(singularities, list()) //list of all singularities
GLOBAL_LIST_INIT(janitorial_equipment, list()) //list of janitorial equipment
GLOBAL_LIST_INIT(crafting_recipes, list()) //list of all crafting recipes
diff --git a/code/controllers/subsystem/alarm.dm b/code/controllers/subsystem/alarm.dm
index 62267e1ff4e..3d91d763be3 100644
--- a/code/controllers/subsystem/alarm.dm
+++ b/code/controllers/subsystem/alarm.dm
@@ -23,9 +23,8 @@ SUBSYSTEM_DEF(alarm)
if(I == A.name)
var/list/alarm = L[I]
var/list/srcs = alarm[3]
- if(origin.UID() in srcs)
- srcs -= origin.UID()
- if(srcs.len == 0)
+ srcs -= origin.UID()
+ if(!length(srcs))
cleared = TRUE
L -= I
diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm
index 66ddecdd1fe..723574ee949 100644
--- a/code/game/area/ai_monitored.dm
+++ b/code/game/area/ai_monitored.dm
@@ -13,7 +13,7 @@
/area/ai_monitored/Entered(atom/movable/O)
..()
- if(ismob(O) && motioncameras.len)
+ if(ismob(O) && length(motioncameras))
for(var/X in motioncameras)
var/obj/machinery/camera/cam = X
cam.newTarget(O)
@@ -21,7 +21,7 @@
/area/ai_monitored/Exited(atom/movable/O)
..()
- if(ismob(O) && motioncameras.len)
+ if(ismob(O) && length(motioncameras))
for(var/X in motioncameras)
var/obj/machinery/camera/cam = X
cam.lostTargetRef(O.UID())
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 3c47082d8b5..de913ac9f91 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -171,12 +171,12 @@
for(var/thing in cameras)
var/obj/machinery/camera/C = locateUID(thing)
if(!QDELETED(C) && is_station_level(C.z))
- if(state == 1)
+ if(state)
C.network -= "Power Alarms"
else
C.network |= "Power Alarms"
- if(state == 1)
+ if(state)
SSalarm.cancelAlarm("Power", src, source)
else
SSalarm.triggerAlarm("Power", src, cameras, source)
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 6041cdcf119..9c2b6c77925 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -46,7 +46,6 @@
GLOB.cameranet.cameras += src
GLOB.cameranet.addCamera(src)
if(isturf(loc))
- myArea = get_area(src)
LAZYADD(myArea.cameras, UID())
if(is_station_level(z) && prob(3) && !start_active)
toggle_cam(null, FALSE)
diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm
index 9615d4afcce..7d33361e4b9 100644
--- a/code/game/machinery/camera/motion.dm
+++ b/code/game/machinery/camera/motion.dm
@@ -39,7 +39,7 @@
/obj/machinery/camera/proc/lostTargetRef(uid)
var/list/targets = getTargetList()
targets -= uid
- if(targets.len == 0)
+ if(length(targets))
cancelAlarm()
/obj/machinery/camera/proc/cancelAlarm()
diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm
index 4d02d2047cd..3b4631b171a 100644
--- a/code/game/machinery/computer/station_alert.dm
+++ b/code/game/machinery/computer/station_alert.dm
@@ -49,7 +49,7 @@
for(var/area in SSalarm.alarms[class])
for(var/thing in SSalarm.alarms[class][area][3])
var/atom/A = locateUID(thing)
- if(A && A.z == z)
+ if(atoms_share_level(A, src))
data["alarms"][class] += area
return data
@@ -86,7 +86,7 @@
var/atom/A = locateUID(thing)
if(A && A.z != z)
L -= alarm
- if(L.len)
+ if(length(L))
active_alarms = TRUE
if(active_alarms)
icon_screen = "alert:2"
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index d1d61b39add..bd3e5543103 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
show_borg_info()
/mob/living/silicon/ai/proc/ai_alerts()
- var/dat = "
Current Station Alerts\n"
+ var/list/dat = list("Current Station Alerts\n")
dat += "Close
"
var/list/list/temp_alarm_list = SSalarm.alarms.Copy()
for(var/cat in temp_alarm_list)
@@ -278,7 +278,8 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
dat += "
\n"
viewalerts = TRUE
- src << browse(dat, "window=aialerts&can_close=0")
+ var/dat_text = dat.Join("")
+ src << browse(dat_text, "window=aialerts&can_close=0")
/mob/living/silicon/ai/proc/show_borg_info()
stat(null, text("Connected cyborgs: [connected_robots.len]"))
@@ -867,7 +868,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
if(!tracking)
cameraFollow = null
- if(!C || QDELETED(C) || stat == DEAD) //C.can_use())
+ if(QDELETED(C) || stat == DEAD) //C.can_use())
return FALSE
if(!eyeobj)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 04fa4b55d9f..85475bf8820 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -549,7 +549,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
robot_alerts()
/mob/living/silicon/robot/proc/robot_alerts()
- var/dat = ""
+ var/list/dat = list()
var/list/list/temp_alarm_list = SSalarm.alarms.Copy()
for(var/cat in temp_alarm_list)
if(!(cat in alarms_listend_for))
@@ -573,7 +573,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
dat += "
\n"
var/datum/browser/alerts = new(usr, "robotalerts", "Current Station Alerts", 400, 410)
- alerts.set_content(dat)
+ var/dat_text = dat.Join("")
+ alerts.set_content(dat_text)
alerts.open()
/mob/living/silicon/robot/proc/ionpulse()
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 48be46c89db..7f9c0849d9c 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -64,7 +64,7 @@
/mob/living/silicon/proc/alarm_cancelled(src, class, area/A, obj/origin, cleared)
return
-/mob/living/silicon/proc/queueAlarm(message, type, incoming = 1)
+/mob/living/silicon/proc/queueAlarm(message, type, incoming = TRUE)
var/in_cooldown = (alarms_to_show.len > 0 || alarms_to_clear.len > 0)
if(incoming)
alarms_to_show += message
@@ -82,9 +82,9 @@
if(alarms_to_show.len < 5)
for(var/msg in alarms_to_show)
to_chat(src, msg)
- else if(alarms_to_show.len)
+ else if(length(alarms_to_show))
- var/msg = "--- "
+ var/list/msg = list("--- ")
if(alarm_types_show["Burglar"])
msg += "BURGLAR: [alarm_types_show["Burglar"]] alarms detected. - "
@@ -105,14 +105,15 @@
msg += "CAMERA: [alarm_types_show["Camera"]] alarms detected. - "
msg += "\[Show Alerts\]"
- to_chat(src, msg)
+ var/msg_text = msg.Join("")
+ to_chat(src, msg_text)
if(alarms_to_clear.len < 3)
for(var/msg in alarms_to_clear)
to_chat(src, msg)
else if(alarms_to_clear.len)
- var/msg = "--- "
+ var/list/msg = list("--- ")
if(alarm_types_clear["Motion"])
msg += "MOTION: [alarm_types_clear["Motion"]] alarms cleared. - "
@@ -130,7 +131,9 @@
msg += "CAMERA: [alarm_types_clear["Camera"]] alarms cleared. - "
msg += "\[Show Alerts\]"
- to_chat(src, msg)
+
+ var/msg_text = msg.Join("")
+ to_chat(src, msg_text)
alarms_to_show.Cut()
diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm
index fe7e107781c..2f2f4a08232 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm
@@ -21,11 +21,10 @@
ui_header = "alarm_red.gif"
update_computer_icon()
else
- if(!has_alert)
- program_icon_state = "alert-green"
- ui_header = "alarm_green.gif"
- update_computer_icon()
- return 1
+ program_icon_state = "alert-green"
+ ui_header = "alarm_green.gif"
+ update_computer_icon()
+ return TRUE
/datum/computer_file/program/alarm_monitor/tgui_data(mob/user)
var/list/data = get_header_data()
@@ -62,7 +61,7 @@
if(!(cat in alarms_listend_for))
continue
var/list/L = alarms[cat]
- if(L.len)
+ if(length(L))
has_alert = TRUE
/datum/computer_file/program/alarm_monitor/run_program(mob/user)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index a457b6e6b9d..208d019ea50 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -1191,14 +1191,14 @@
environ = autoset(environ, 1)
autoflag = 3
if(report_power_alarm)
- area.poweralert(1, src)
+ area.poweralert(TRUE, src)
else if(cell.charge < 1250 && cell.charge > 750 && longtermpower < 0) // <30%, turn off equipment
if(autoflag != 2)
equipment = autoset(equipment, 2)
lighting = autoset(lighting, 1)
environ = autoset(environ, 1)
if(report_power_alarm)
- area.poweralert(0, src)
+ area.poweralert(FALSE, src)
autoflag = 2
else if(cell.charge < 750 && cell.charge > 10) // <15%, turn off lighting & equipment
if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0))
@@ -1206,7 +1206,7 @@
lighting = autoset(lighting, 2)
environ = autoset(environ, 1)
if(report_power_alarm)
- area.poweralert(0, src)
+ area.poweralert(FALSE, src)
autoflag = 1
else if(cell.charge <= 0) // zero charge, turn all off
if(autoflag != 0)
@@ -1214,7 +1214,7 @@
lighting = autoset(lighting, 0)
environ = autoset(environ, 0)
if(report_power_alarm)
- area.poweralert(0, src)
+ area.poweralert(FALSE, src)
autoflag = 0
// now trickle-charge the cell
@@ -1270,7 +1270,7 @@
lighting = autoset(lighting, 0)
environ = autoset(environ, 0)
if(report_power_alarm)
- area.poweralert(0, src)
+ area.poweralert(FALSE, src)
autoflag = 0
// update icon & area power if anything changed
diff --git a/nano/templates/alarm_monitor.tmpl b/nano/templates/alarm_monitor.tmpl
deleted file mode 100644
index 5dae051a576..00000000000
--- a/nano/templates/alarm_monitor.tmpl
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-{{for data.categories}}
- {{:value.category}}
- {{for value.alarms :alarmValue:alarmIndex}}
- {{if alarmValue.origin_lost}}
- {{:alarmValue.name}} Alarm Origin Lost
- {{else}}
- {{:alarmValue.name}}
- {{/if}}
- {{if alarmValue.has_cameras || alarmValue.lost_sources != ""}}
-
- {{if alarmValue.has_cameras}}
-
- {{for alarmValue.cameras :cameraValue:cameraIndex}}
- {{if cameraValue.deact}}
- {{:helper.link(cameraValue.name + " (deactivated)", '', {}, 'inactive')}}
- {{else}}
- {{:helper.link(cameraValue.name, '', {'switchTo' : cameraValue.camera})}}
- {{/if}}
- {{/for}}
-
- {{else}}
- No cameras found.
- {{/if}}
- {{if alarmValue.lost_sources != ""}}
-
-
Lost Alarm Sources: {{:alarmValue.lost_sources}}
-
- {{/if}}
-
- {{/if}}
- {{empty}}
- --All Systems Nominal
- {{/for}}
-{{/for}}
\ No newline at end of file
diff --git a/nano/templates/atmos_alert.tmpl b/nano/templates/atmos_alert.tmpl
deleted file mode 100644
index bdb6c2c872b..00000000000
--- a/nano/templates/atmos_alert.tmpl
+++ /dev/null
@@ -1,18 +0,0 @@
-Priority Alerts
-{{for data.priority_alarms}}
-
- {{:value.name}} {{:helper.link('Reset', null, {'clear_alarm' : value.ref})}}
-
-{{empty}}
- No priority alerts detected.
-{{/for}}
-
-Minor Alerts
-{{for data.minor_alarms}}
-
- {{:value.name}} {{:helper.link('Reset', null, {'clear_alarm' : value.ref})}}
-
-{{empty}}
- No minor alerts detected.
-{{/for}}
-