anchor.diff:  			air_update_turf(FALSE, FALSE)
   			investigate_log("Experimentor has released hot air.", INVESTIGATE_EXPERIMENTOR)
   			ejectItem(TRUE)
  -		else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
  +		else if(prob(EFFECT_PROB_MEDIUM-malfunction_probability_coeff))
   			visible_message(span_warning("[src] malfunctions, activating its emergency coolant systems!"))
   			throwSmoke(loc)
   			for(var/mob/living/m in oview(1, src))
  
positive.code: 			smoke.start()
  			qdel(tmp_holder)
  			ejectItem(TRUE)
  		else if(prob(EFFECT_PROB_LOW-badThingCoeff))
  			visible_message(span_warning("[src] malfunctions, shattering [exp_on] and leaking cold air!"))
  			var/datum/gas_mixture/env = loc.return_air()
  			var/transfer_moles = 0.25 * env.total_moles()
  
negative.code: 
  /obj/machinery/rnd/experimentor/RefreshParts()
  	. = ..()
  	malfunction_probability_coeff = malfunction_probability_coeff_modifier
  	resetTime = initial(resetTime)
  	for(var/obj/item/stock_parts/manipulator/M in component_parts)
  		resetTime = max(1, resetTime - M.rating)
  	for(var/obj/item/stock_parts/scanning_module/M in component_parts)
  		malfunction_probability_coeff += M.rating*2
  	for(var/obj/item/stock_parts/micro_laser/M in component_parts)
  		malfunction_probability_coeff += M.rating
  
  /obj/machinery/rnd/experimentor/examine(mob/user)
  	. = ..()
  	if(in_range(user, src) || isobserver(user))
  		. += span_notice("The status display reads: Malfunction probability reduced by <b>[malfunction_probability_coeff]%</b>.<br>Cooldown interval between experiments at <b>[resetTime*0.1]</b> seconds.")
  
  /obj/machinery/rnd/experimentor/proc/checkCircumstances(obj/item/O)
  	//snowflake check to only take "made" bombs
  