anchor.diff:  /obj/shapeshift_holder/proc/restore(death=FALSE)
   	restoring = TRUE
   	qdel(slink)
  -	stored.forceMove(get_turf(src))
  +	stored.forceMove(shape.loc)
   	stored.notransform = FALSE
   	if(shape.mind)
   		shape.mind.transfer_to(stored)
  
positive.code: 	var/convert_damage = TRUE //If you want to convert the caster's health to the shift, and vice versa.
  	var/convert_damage_type = BRUTE //Since simplemobs don't have advanced damagetypes, what to convert damage back into.
  
  	var/shapeshift_type
  	var/list/possible_shapes = list(/mob/living/simple_animal/mouse,\
  		/mob/living/simple_animal/pet/dog/corgi,\
  		/mob/living/simple_animal/hostile/carp/ranged/chaos,\
  
negative.code: 
  		var/obj/shapeshift_holder/S = locate() in M
  		if(S)
  			M = Restore(M)
  		else
  			M = Shapeshift(M)
  		if(M.movement_type & (VENTCRAWLING))
  			if(!M.ventcrawler) //you're shapeshifting into something that can't fit into a vent
  				var/obj/machinery/atmospherics/pipeyoudiein = M.loc
  				var/datum/pipeline/ourpipeline
  				var/pipenets = pipeyoudiein.returnPipenets()
  				if(islist(pipenets))
  					ourpipeline = pipenets[1]
  				else
  					ourpipeline = pipenets
  
  				to_chat(M, "<span class='userdanger'>Casting [src] inside of [pipeyoudiein] quickly turns you into a bloody mush!</span>")
  				var/gibtype = /obj/effect/gibspawner/generic
  				if(isalien(M))
  					gibtype = /obj/effect/gibspawner/xeno
  				for(var/obj/machinery/atmospherics/components/unary/possiblevent in range(10, get_turf(M)))
  					if(possiblevent.parents.len && possiblevent.parents[1] == ourpipeline)
  						new gibtype(get_turf(possiblevent))
  						playsound(possiblevent, 'sound/effects/reee.ogg', 75, TRUE)
  				priority_announce("We detected a pipe blockage around [get_area(get_turf(M))], please dispatch someone to investigate.", "Central Command")
  				M.death()
  				qdel(M)
  				return
  
  /obj/effect/proc_holder/spell/targeted/shapeshift/proc/Shapeshift(mob/living/caster)
  	var/obj/shapeshift_holder/H = locate() in caster
  