anchor.diff:  		recharged -= 1
   
   /obj/machinery/chem_dispenser/proc/recharge()
  -	if(stat & (BROKEN|NOPOWER)) return
  -	var/addenergy = 1
  -	var/oldenergy = energy
  -	energy = min(energy + addenergy, max_energy)
  -	if(energy != oldenergy)
  +	var/usedpower = cell.give( 1 / powerefficiency) //Should always be a gain of one on the UI.
  +	if(usedpower)
   		use_power(2500)
   
   /obj/machinery/chem_dispenser/emag_act(mob/user)
  
positive.code: 			if(beaker && dispensable_reagents.Find(reagent))
  				var/datum/reagents/R = beaker.reagents
  				var/free = R.maximum_volume - R.total_volume
  				var/actual = min(amount, energy * 10, free)
  
  				R.add_reagent(reagent, actual)
  				energy = max(energy - actual / 10, 0)
  
negative.code: /obj/machinery/chem_dispenser/ui_data()
  	var/data = list()
  	data["amount"] = amount
  	data["energy"] = cell.charge ? cell.charge * powerefficiency : "0" //To prevent NaN in the UI.
  	data["maxEnergy"] = cell.maxcharge * powerefficiency
  	data["isBeakerLoaded"] = beaker ? 1 : 0
  
  	var beakerContents[0]
  