anchor.diff:  		closest_atom = get_closest_atom(/obj/structure, potential_structure_zaps, source)
   		if(closest_atom)
   			var/obj/structure/S = closest_atom
  -			source.Beam(S,icon_state="lightning[rand(1,12)]",icon='icons/effects/effects.dmi',time=5)
  +			source.Beam(S, icon_state="lightning[rand(1,12)]", icon='icons/effects/effects.dmi', time=5)
   			S.tesla_act(power)
   			
   	if(closest_atom)
  -		var/zapdir = get_dir(source,closest_atom)
  +		var/zapdir = get_dir(source, closest_atom)
   		if (zapdir)
   			. = zapdir
  +
  
positive.code: 	grav_pull = 0
  	contained = 0
  	density = 1
  	var/list/orbiting_balls = list()
  	var/produced_power
  	var/is_orbiting
  	var/energy_to_raise = 100
  	var/energy_to_lower = -10
  
  /obj/singularity/energy_ball/Destroy()
  	for(var/obj/singularity/energy_ball/EB in orbiting_balls)
  		qdel(EB)
  	return ..()
  
  /obj/singularity/energy_ball/process()
  	if(!is_orbiting)
  		handle_energy()
  		move_the_basket_ball(2 + orbiting_balls.len * 2)
  		playsound(src.loc, 'sound/magic/lightningbolt.ogg', 100, 1, extrarange = 15)
  		pixel_x = 0
  		pixel_y = 0
  		dir = tesla_zap(src, 7, TESLA_DEFAULT_POWER)
  		pixel_x = -32
  		pixel_y = -32
  	else
  		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)
  
negative.code: 				tesla_zap(L, 5, power / 1.5)
  			
  	if(!closest_atom)
  		closest_atom = get_closest_atom(potential_machine_zaps, source)
  		if(closest_atom)
  			var/obj/machinery/M = closest_atom
  			source.Beam(M, icon_state="lightning[rand(1,12)]", icon='icons/effects/effects.dmi',time=5)
  			M.tesla_act(power)
  			if(prob(85))
  				M.emp_act(2)
  