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}} -