anchor.diff:  
   /obj/machinery/doppler_array/research/sense_explosion(turf/epicenter, dev, heavy, light, time, orig_dev, orig_heavy, orig_light)	//probably needs a way to ignore admin explosives later on
   	. = ..()
  +	if(!.)
  +		return FALSE
   	if(!istype(linked_techweb))
   		say("Warning: No linked research system!")
  -		return
  +		return 
   	var/adjusted = orig_light - 10
   	if(adjusted <= 0)
   		say("Explosion not large enough for research calculations.")
  
positive.code: /obj/machinery/doppler_array/proc/sense_explosion(turf/epicenter,devastation_range,heavy_impact_range,light_impact_range,
  												  took,orig_dev_range,orig_heavy_range,orig_light_range)
  	if(stat & NOPOWER)
  		return
  	var/turf/zone = get_turf(src)
  
  	if(zone.z != epicenter.z)
  		return
  
  	var/distance = get_dist(epicenter, zone)
  	var/direct = get_dir(zone, epicenter)
  
  	if(distance > max_dist)
  		return
  	if(!(direct & dir) && !integrated)
  		return
  
  
  	var/list/messages = list("Explosive disturbance detected.", \
  
negative.code: 	if(integrated)
  		var/obj/item/clothing/head/helmet/space/hardsuit/helm = loc
  		if(!helm || !istype(helm, /obj/item/clothing/head/helmet/space/hardsuit))
  			return FALSE
  		helm.display_visor_message("Explosion detected! Epicenter: [devastation_range], Outer: [heavy_impact_range], Shock: [light_impact_range]")
  	else
  		for(var/message in messages)
  			say(message)
  	return TRUE
  
  /obj/machinery/doppler_array/power_change()
  	if(stat & BROKEN)
  