anchor.diff:  	/mob/Spells/verb/Eat_Slugs = "Eat Slugs",
   	/mob/Spells/verb/Disperse = "Disperse",
   	/mob/Spells/verb/Wingardium_Leviosa = "Wingardium Leviosa",
  -	/mob/Spells/verb/Antifigura = "Antifigura")
  +	/mob/Spells/verb/Antifigura = "Antifigura",
  +	/mob/Spells/verb/Self_To_Animal = "Animagus Transfiguration",
  +	/mob/test/verb/TransfigFly = "Fly")
   proc/name2spellpath(name)
   	for(var/V in spellList)
   		if(spellList[V] == name)
   			return V
   	world.log << "Was unable to find a spellpath in proc/name2spellpath with name=[name]"
  +
  +mob/test/verb/TransfigFly()
  +	set name = "Fly"
  +	set category = "Commands"
  +	var/mob/Player/p = src
  +	if (!p.trnsed && !p.Gm)
  +		p.verbs -= /mob/test/verb/TransfigFly
  +	else if (p.HP <= p.MHP * 0.4)
  +		p<<"You are too wounded to fly!"
  +	else
  +		if (p.flying == 1)
  +			p.density = 1
  +			p.flying = 0
  +
  +			animate(p, pixel_y = 0, time = 5)
  +			p.layer   = 4
  +
  +			spawn(6)
  +				if(p.followers && !p.flying)
  +					var/obj/Shadow/s = locate(/obj/Shadow) in p.followers
  +					if(s)
  +						s.Dispose()
  +						p.removeFollower(s)
  +						animate(p, flags = ANIMATION_END_NOW)
  +
  +		else if (p.flying == 0)
  +			p.density = 0
  +			p.flying = 1
  +
  +			p.layer   = 5
  +			animateFly(p)
  +
  +			if(!p.followers || !(locate(/obj/Shadow) in p.followers))
  +				var/obj/Shadow/s = new (p.loc)
  +				p.addFollower(s)
   
   mob/Spells/verb/Accio(obj/M in oview(usr.client.view,usr))
   	set category = "Spells"
  
positive.code: 		if(CanTrans(M))
  			flick("transfigure",M)
  			M.trnsed = 0
  			M.BaseIcon()
  			M.ApplyOverlays()
  			usr<<"You reversed [M]'s transfiguration."
  
negative.code: 			var/mob/Player/p = src
  			flick("transfigure",p)
  			p.trnsed = 0
  			p.density = 1
  			p.flying = 0
  			p.verbs -= /mob/test/verb/TransfigFly
  			p.BaseIcon()
  			p.ApplyOverlays()
  			p<<"You reversed your transfiguration."
  