anchor.diff:  		else
   			break
   
  -		S.cell.charge += drained
  +		S.cell.give(drain)
   		if(S.cell.charge > S.cell.maxcharge)
   			. += (drained-(S.cell.charge - S.cell.maxcharge))
   			S.cell.charge = S.cell.maxcharge
  
positive.code: 			if (do_after(H,10, target = src))
  				spark_system.start()
  				playsound(loc, "sparks", 50, 1)
  				cell.charge -= drain
  				S.cell.charge += drain
  				. += drain
  			else
  				break
  
negative.code: 			if(S.cell.charge + charge > S.cell.maxcharge)
  				S.cell.charge = S.cell.maxcharge
  			else
  				S.cell.give(charge)
  			charge = 0
  			corrupt()
  			update_icon()
  