anchor.diff:  		O.loc = null
   	wormholes.Cut()
   
  +
   /obj/effect/portal/wormhole
   	name = "wormhole"
   	desc = "It looks highly unstable; It could close at any moment."
  
positive.code: 	icon_state = "anom"
  	failchance = 0
  
  /obj/effect/portal/wormhole/teleport(atom/movable/M as mob|obj)
  	if(istype(M, /obj/effect)) //sparks don't teleport
  		return
  	if(M.anchored&&istype(M, /obj/mecha))
  		return
  
  	if(istype(M, /atom/movable))
  
negative.code: 	max_occurrences = 3
  	weight = 2
  
  
  /datum/round_event/wormholes
  	announceWhen = 10
  	endWhen = 60
  
  	var/list/pick_turfs = list()
  	var/list/wormholes = list()
  	var/shift_frequency = 3
  	var/number_of_wormholes = 400
  
  /datum/round_event/wormholes/setup()
  	announceWhen = rand(0, 20)
  	endWhen = rand(40, 80)
  
  /datum/round_event/wormholes/start()
  	for(var/turf/simulated/floor/T in world)
  		if(T.z == 1)
  			pick_turfs += T
  
  	for(var/i = 1, i <= number_of_wormholes, i++)
  		var/turf/T = pick(pick_turfs)
  		wormholes += new /obj/effect/portal/wormhole(T, null, null, -1)
  
  /datum/round_event/wormholes/announce()
  	command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert")
  	for(var/mob/M in player_list)
  		if(!istype(M, /mob/new_player))
  			M << sound('sound/AI/spanomalies.ogg')
  
  /datum/round_event/wormholes/tick()
  	if(activeFor % shift_frequency == 0)
  		for(var/obj/effect/portal/wormhole/O in wormholes)
  			var/turf/T = pick(pick_turfs)
  			if(T)	O.loc = T
  
  /datum/round_event/wormholes/end()
  