anchor.diff:  		var/obj/singularity/energy_ball/EB = ball
   		qdel(EB)
   
  -	return ..()
  +	. = ..()
   
   /obj/singularity/energy_ball/process()
   	if(!orbiting)
  
positive.code: 		var/turf/T = get_step(src, move_dir)
  		if(can_move(T))
  			loc = T
  
  
  /obj/singularity/energy_ball/proc/handle_energy()
  
  	if(energy >= energy_to_raise)
  		energy_to_lower = energy_to_raise - 20
  		energy_to_raise = energy_to_raise * 1.25
  
  		playsound(src.loc, 'sound/magic/lightning_chargeup.ogg', 100, 1, extrarange = 30)
  		spawn(100)
  			if (!loc)
  				return
  			var/obj/singularity/energy_ball/EB = new(loc)
  
  			EB.transform *= pick(0.3, 0.4, 0.5, 0.6, 0.7)
  			var/icon/I = icon(icon,icon_state,dir)
  
  			var/orbitsize = (I.Width() + I.Height()) * pick(0.4, 0.5, 0.6, 0.7, 0.8)
  			orbitsize -= (orbitsize / world.icon_size) * (world.icon_size * 0.25)
  
  			EB.orbit(src, orbitsize, pick(FALSE, TRUE), rand(10, 25), pick(3, 4, 5, 6, 36))
  
  
  	else if(energy < energy_to_lower && orbiting_balls.len)
  		energy_to_raise = energy_to_raise / 1.25
  
negative.code: 
  	else if(closest_structure)
  		closest_structure.tesla_act(power)
  