anchor.diff:  		D.triggerAlarm("Fire", src, cameras, source)
   	for(var/datum/computer_file/program/alarm_monitor/p in alarmdisplay)
   		p.triggerAlarm("Fire", src, cameras, source)
  +
  +	START_PROCESSING(SSobj, src)
   
   /area/proc/firereset(obj/source)
   	for(var/area/RA in related)
  
positive.code: 	for(var/area/RA in related)
  		if (!( RA.fire ))
  			RA.set_fire_alarm_effect()
  			for(var/obj/machinery/door/firedoor/D in RA)
  				if(!D.welded)
  					if(D.operating)
  						D.nextstate = CLOSED
  					else if(!D.density)
  						INVOKE_ASYNC(D, /obj/machinery/door/firedoor.proc/close)
  			for(var/obj/machinery/firealarm/F in RA)
  				F.update_icon()
  		for (var/obj/machinery/camera/C in RA)
  
negative.code: 		return 1
  	return 0
  
  /area/proc/CloseFiredoors()
  	firedoors_last_closed_on = world.time
  	for(var/obj/machinery/door/firedoor/D in src)
  		if(!D.welded)
  			if(D.operating)
  				D.nextstate = CLOSED
  			else if(!D.density)
  				INVOKE_ASYNC(D, /obj/machinery/door/firedoor.proc/close)
  
  /area/proc/firealert(obj/source)
  	if(always_unpowered == 1) //no fire alarms in space/asteroid
  		return
  