More GC and Performance Fixes (#7248)

This commit is contained in:
Fox McCloud
2017-05-06 23:48:18 -07:00
committed by Crazy Lemon
parent 3278af5799
commit 7fd86096af
3 changed files with 20 additions and 29 deletions
+7 -1
View File
@@ -213,6 +213,10 @@
radio_controller.remove_object(src, frequency)
air_alarm_repository.update_cache(src)
QDEL_NULL(wires)
if(alarm_area && alarm_area.master_air_alarm == src)
alarm_area.master_air_alarm = null
elect_master(exclude_self = 1)
alarm_area = null
return ..()
/obj/machinery/alarm/proc/first_run()
@@ -236,8 +240,10 @@
return alarm_area.master_air_alarm && !(alarm_area.master_air_alarm.stat & (NOPOWER|BROKEN))
/obj/machinery/alarm/proc/elect_master()
/obj/machinery/alarm/proc/elect_master(exclude_self = 0) //Why is this an alarm and not area proc?
for(var/obj/machinery/alarm/AA in alarm_area)
if(exclude_self && AA == src)
continue
if(!(AA.stat & (NOPOWER|BROKEN)))
alarm_area.master_air_alarm = AA
return 1
-15
View File
@@ -19,13 +19,6 @@ FIRE ALARM
var/last_process = 0
var/wiresexposed = 0
var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone
var/area/master_area
/obj/machinery/firealarm/New()
var/area/A = get_area_master(src)
if(!istype(A, /area))
return
master_area = A
/obj/machinery/firealarm/update_icon()
@@ -294,14 +287,6 @@ Just a object used in constructing fire alarms
idle_power_usage = 2
active_power_usage = 6
var/area/master_area
/obj/machinery/partyalarm/New()
var/area/A = get_area_master(src)
if(!( istype(A, /area) ))
return
master_area=A
/obj/machinery/partyalarm/attack_hand(mob/user)
if((user.stat && !isobserver(user)) || stat & (NOPOWER|BROKEN))
return