anchor.diff:  
   /obj/machinery/firealarm/update_icon()
   	cut_overlays()
  -
  +	SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
   	var/area/A = src.loc
   	A = A.loc
   
   	if(panel_open)
   		icon_state = "fire_b[buildstage]"
   		return
  +
  +	if(stat & BROKEN)
  +		icon_state = "firex"
  +		return
  +
  +	if(stat & NOPOWER)
  +		icon_state = "fire0"
  +		return
  +
  +	if(is_station_level(z))
  +		add_overlay("overlay_[GLOB.security_level]")
  +		SSvis_overlays.add_vis_overlay(src, icon, "overlay_[GLOB.security_level]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
  +		if(GLOB.security_level == SEC_LEVEL_DELTA)
  +			if(!timerid)
  +				flash()
  +		else if(GLOB.security_level <= SEC_LEVEL_RED)
  +			if(timerid)
  +				deltimer(timerid)
  +				timerid = null
   	else
  -		icon_state = "fire0"
  -
  -		if(stat & BROKEN)
  -			icon_state = "firex"
  -			return
  -
  -		if(stat & NOPOWER)
  -			return
  -
  -		if(is_station_level(z))
  -			add_overlay("overlay_[GLOB.security_level]")
  -		else
  -			add_overlay("overlay_[SEC_LEVEL_GREEN]")
  -
  -		if(detecting)
  -			add_overlay("overlay_[A.fire ? "fire" : "clear"]")
  -		else
  -			add_overlay("overlay_fire")
  +		add_overlay("overlay_[SEC_LEVEL_GREEN]")
  +		SSvis_overlays.add_vis_overlay(src, icon, "overlay_[SEC_LEVEL_GREEN]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
  +
  +
  +	if(detecting)
  +		add_overlay("overlay_[A.fire ? "fire" : "clear"]")
  +		SSvis_overlays.add_vis_overlay(src, icon, "overlay_[A.fire ? "fire" : "clear"]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
  +	else
  +		add_overlay("overlay_fire")
  +		SSvis_overlays.add_vis_overlay(src, icon, "overlay_fire", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
   
   /obj/machinery/firealarm/emp_act(severity)
   	. = ..()
  
positive.code: 	var/area/A = get_area(src)
  	A.firealert(src)
  	playsound(src.loc, 'goon/sound/machinery/FireAlarm.ogg', 75)
  
  /obj/machinery/firealarm/proc/reset()
  	if(!is_operational())
  		return
  	var/area/A = get_area(src)
  	A.firereset(src)
  
  /obj/machinery/firealarm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
  									datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
  
negative.code: 	light_range = 7
  	light_color = "#ff3232"
  
  	var/timerid
  	var/flash_power = FLASH_LIGHT_POWER
  	var/flash_color = LIGHT_COLOR_HALOGEN
  
  	var/detecting = 1
  	var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone
  	var/last_alarm = 0
  