anchor.diff:  	reaction_increment += 1
   
   /// We dont allow incomplete valves to go in but do code in checks for incomplete valves. Just in case.
  -/obj/machinery/research/anomaly_refinery/proc/eject_bomb(mob/user)
  -	if(!inserted_bomb || active)
  +/obj/machinery/research/anomaly_refinery/proc/eject_bomb(mob/user, force = FALSE)
  +	if(!inserted_bomb || (active && !force))
   		return
   	if(user)
   		user.put_in_hands(inserted_bomb)
  
positive.code: 	. = ..()
  	RegisterSignal(src, COMSIG_ATOM_INTERNAL_EXPLOSION, .proc/check_test)
  
  /obj/machinery/research/anomaly_refinery/assume_air(datum/gas_mixture/giver)
  	return null // Required to make the TTV not vent directly into the air.
  
  
negative.code: 		return FALSE
  	return TRUE
  
  /obj/machinery/research/anomaly_refinery/emag_act(mob/user, obj/item/card/emag/emag_card)
  	. = ..()
  	if (obj_flags & EMAGGED)
  		balloon_alert(user, span_warning("already hacked!"))
  		return
  
  	obj_flags |= EMAGGED
  	playsound(src, 'sound/machines/buzz-sigh.ogg', 50, vary = FALSE)
  	say("ERROR: Unauthorized firmware access.")
  	return TRUE
  
  /**
   * Starts a compression test.
   */
  /obj/machinery/research/anomaly_refinery/proc/start_test()
  	if (active)
  		say("ERROR: Already running a compression test.")
  		return
  
  	if(!istype(inserted_core) || !istype(inserted_bomb))
  		end_test("ERROR: Missing equpment. Items ejected.")
  		return
  