This commit is contained in:
Fox McCloud
2020-09-13 18:33:21 -04:00
parent 2ea712188d
commit e6bd4b6638
14 changed files with 35 additions and 91 deletions
-1
View File
@@ -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
+2 -3
View File
@@ -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
+2 -2
View File
@@ -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())
+2 -2
View File
@@ -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)
-1
View File
@@ -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)
+1 -1
View File
@@ -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()
@@ -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"
+4 -3
View File
@@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
show_borg_info()
/mob/living/silicon/ai/proc/ai_alerts()
var/dat = "<HEAD><TITLE>Current Station Alerts</TITLE><META HTTP-EQUIV='Refresh' CONTENT='10'></HEAD><BODY>\n"
var/list/dat = list("<HEAD><TITLE>Current Station Alerts</TITLE><META HTTP-EQUIV='Refresh' CONTENT='10'></HEAD><BODY>\n")
dat += "<A HREF='?src=[UID()];mach_close=aialerts'>Close</A><BR><BR>"
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 += "<BR>\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)
@@ -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 += "<BR>\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()
+9 -6
View File
@@ -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 += "<A href=?src=[UID()];showalerts=1'>\[Show Alerts\]</a>"
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 += "<A href=?src=[UID()];showalerts=1'>\[Show Alerts\]</a>"
to_chat(src, msg)
var/msg_text = msg.Join("")
to_chat(src, msg_text)
alarms_to_show.Cut()
@@ -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)
+5 -5
View File
@@ -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
-39
View File
@@ -1,39 +0,0 @@
<!--
Title: Alarm Monitor Console (Main content)
Used In File(s): \code\modules\nano\modules\alarm_monitor.dm
-->
{{for data.categories}}
<h2 style="color: #e9c183;">{{:value.category}}</h2>
{{for value.alarms :alarmValue:alarmIndex}}
{{if alarmValue.origin_lost}}
<b>{{:alarmValue.name}} <span class='notice'>Alarm Origin Lost</span></b><br />
{{else}}
<b>{{:alarmValue.name}}</b><br />
{{/if}}
{{if alarmValue.has_cameras || alarmValue.lost_sources != ""}}
<div class="item">
{{if alarmValue.has_cameras}}
<div class="itemContent" style="width: 100%;">
{{for alarmValue.cameras :cameraValue:cameraIndex}}
{{if cameraValue.deact}}
{{:helper.link(cameraValue.name + " (deactivated)", '', {}, 'inactive')}}
{{else}}
{{:helper.link(cameraValue.name, '', {'switchTo' : cameraValue.camera})}}
{{/if}}
{{/for}}
</div>
{{else}}
No cameras found.
{{/if}}
{{if alarmValue.lost_sources != ""}}
<div class="itemContent" style="width: 100%;">
<H4><span class='notice'>Lost Alarm Sources: {{:alarmValue.lost_sources}}</span></H4>
</div>
{{/if}}
</div>
{{/if}}
{{empty}}
<span class="white">--All Systems Nominal</span>
{{/for}}
{{/for}}
-18
View File
@@ -1,18 +0,0 @@
<h1>Priority Alerts</h1>
{{for data.priority_alarms}}
<div class="item">
{{:value.name}} {{:helper.link('Reset', null, {'clear_alarm' : value.ref})}}
</div>
{{empty}}
No priority alerts detected.
{{/for}}
<h3>Minor Alerts</h3>
{{for data.minor_alarms}}
<div class="item">
{{:value.name}} {{:helper.link('Reset', null, {'clear_alarm' : value.ref})}}
</div>
{{empty}}
No minor alerts detected.
{{/for}}