anchor.diff:  		playsound(src.loc, 'sound/magic/lightningbolt.ogg', 100, 1, extrarange = 15)
   		pixel_x = 0
   		pixel_y = 0
  -		tesla_zap(src, 7, TESLA_DEFAULT_POWER)
  +		dir = tesla_zap(src, 7, TESLA_DEFAULT_POWER)
   		pixel_x = -32
   		pixel_y = -32
   	else
  -		tesla_zap(src, rand(1,Clamp(orbiting_balls.len,3,7)), TESLA_MINI_POWER)
   		energy = 0 // ensure we dont have miniballs of miniballs
  +		tesla_zap(ball, rand(1,Clamp(orbiting_balls.len,3,7)), TESLA_MINI_POWER)
   	return
   
   /obj/singularity/energy_ball/examine(mob/user)
  
positive.code: 
  
  /obj/singularity/energy_ball/proc/move_the_basket_ball(var/move_amount)
  	for(var/i = 0, i < move_amount, i++)
  		var/move_dir = pick(alldirs)
  		var/turf/T = get_step(src,move_dir)
  		if(can_move(T))
  			loc = get_step(src,move_dir)
  
  /obj/singularity/energy_ball/proc/handle_energy()
  	if(energy >= energy_to_raise)
  
negative.code: 				tesla_zap(S, 7, power / 1.5) // metallic folks bounce it further
  			else
  				tesla_zap(L, 5, power / 1.5)
  			
  	if(!closest_atom)
  		closest_atom = get_closest_atom(/obj/machinery, potential_machine_zaps, source)
  		if(closest_atom)
  