anchor.diff:  	if(hasShocked)
   		return 0
   	if(isliving(user))
  -		var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
  -		s.set_up(5, 1, user.loc)
  -		s.start()
  -
   		hasShocked = 1
   		var/shock_damage = min(rand(30,40),rand(30,40))
   
  
positive.code: 	return 0
  
  
  /obj/machinery/field/containment/Crossed(atom/movable/mover)
  	if(isliving(mover))
  		shock(mover)
  
  /obj/machinery/field/containment/proc/set_master(var/master1,var/master2)
  	if(!master1 || !master2)
  
negative.code: /obj/machinery/field
  	var/hasShocked = 0 //Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
  
  /obj/machinery/field/CanPass(mob/mover as mob, turf/target, height=0)
  	if(isliving(mover)) // Don't let mobs through
  		shock(mover)
  		return 0
  	return ..()
  
  /obj/machinery/field/CanPass(obj/mover as obj, turf/target, height=0)
  	if(istype(mover, /obj/machinery) || istype(mover, /obj/structure))
  		bump(mover)
  		return 0
  	return ..()
  
  