soft refs

This commit is contained in:
Fox McCloud
2020-07-10 18:41:37 -04:00
parent 85abb6505b
commit 729e9b8922
7 changed files with 68 additions and 93 deletions
@@ -39,7 +39,7 @@
return data
/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, O, obj/alarmsource)
/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, list/O, obj/alarmsource)
if(is_station_level(source.z))
if(!(A.type in GLOB.the_station_areas))
return
@@ -51,18 +51,10 @@
if(I == A.name)
var/list/alarm = L[I]
var/list/sources = alarm[3]
if(!(alarmsource in sources))
sources += alarmsource
if(!(alarmsource.UID() in sources))
sources += alarmsource.UID()
return TRUE
var/obj/machinery/camera/C = null
var/list/CL = null
if(O && islist(O))
CL = O
if(CL.len == 1)
C = CL[1]
else if(O && istype(O, /obj/machinery/camera))
C = O
L[A.name] = list(A, (C ? C : O), list(alarmsource))
L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID()))
update_alarm_display()
return TRUE
@@ -78,8 +70,8 @@
if(!arealevelalarm) // the traditional behaviour
var/list/alarm = L[I]
var/list/srcs = alarm[3]
if(origin in srcs)
srcs -= origin
if(origin.UID() in srcs)
srcs -= origin.UID()
if(srcs.len == 0)
cleared = 1
L -= I