anchor.diff:  		sleep (1)
   	animate(M, transform = null, time = 1, loop = 0)
   
  -/mob/living/carbon/proc/dancey()
  +/obj/machinery/disco/proc/dance5helper(var/mob/living/carbon/M)
  +	if (M)
  +		animate(M, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0)
  +	sleep (70)
  +	if (M)
  +		animate(M, transform = null, time = 1, loop = 0)
  +
  +/mob/living/carbon/proc/dancey() // Dance5 except independent of the machine if admins want to meme it up
  +	INVOKE_ASYNC(src, .proc/danceyhelper)
   	var/matrix/initial_matrix = matrix(transform)
  -	spawn (0)
  -		if (src)
  -			animate(src, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0)
  -			initial_matrix = matrix(transform)
  -		sleep (70)
  -		if (src)
  -			animate(src, transform = null, time = 1, loop = 0)
  -	for (var/i = 0, i < 60, i++)
  +	for (var/i in 1 to 60)
   		if (!src)
   			return
   		if (i<31)
  
positive.code: 				glow.light_range = glow.range * 0.85
  				glow.update_light()
  				continue
  		if(prob(2))
  			INVOKE_ASYNC(src, .proc/hierofunk)
  		sleep(selection.song_beat)
  
  
negative.code: 			else if(active)
  				active = FALSE
  				STOP_PROCESSING(SSobj, src)
  				update_icon()
  				dance_over()
  				stop = world.time + 300
  				updateUsrDialog()
  