anchor.diff:  		var/mobType = pick(valid_animals)
   		new mobType(get_turf(src))
   	warn_admins(user, "Mass Mob Spawn")
  +	if(prob(60))
  +		user << "<span class='warning'>[src] falls apart!</span>"
  +		qdel(src)
   
   /obj/item/weapon/relic/proc/rapidDupe(var/mob/user)
  -	visible_message("<span class='notice'>[src] emits a loud pop!</span>")
  +	audible_message("<span class='notice'>[src] emits a loud pop!</span>")
   	var/list/dupes = list()
   	var/counter
   	var/max = rand(5,10)
  
positive.code: 		for(counter = 1; counter <= dupes.len; counter++)
  			var/obj/item/weapon/relic/R = dupes[counter]
  			qdel(R)
  
  /obj/item/weapon/relic/proc/explode(var/mob/user)
  	visible_message("<span class='notice'>[src] begins to heat up!</span>")
  	spawn(rand(35,100))
  		if(src.loc == user)
  			visible_message("<span class='notice'>The [src]'s top opens, releasing a powerful blast!</span>")
  			explosion(user.loc, -1, rand(1,5), rand(1,5), rand(1,5), rand(1,5), flame_range = 2)
  			warn_admins(user, "Explosion")
  
  /obj/item/weapon/relic/proc/teleport(var/mob/user)
  	visible_message("<span class='notice'>The [src] begins to vibrate!</span>")
  	spawn(rand(10,30))
  		if(src.loc == user)
  			visible_message("<span class='notice'>The [src] twists and bends, relocating itself!</span>")
  			throwSmoke(get_turf(user))
  			do_teleport(user, get_turf(user), 8, asoundin = 'sound/effects/phasein.ogg')
  			throwSmoke(get_turf(user))
  
  //Admin Warning proc for relics
  /obj/item/weapon/relic/proc/warn_admins(var/mob/user, var/RelicType)
  	var/turf/T = get_turf(src)
  	message_admins("[RelicType] relic activated by [key_name(user, user.client)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) in ([T.x],[T.y],[T.z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>JMP</a>)",0,1)
  	log_game("[RelicType] relic used by [user.ckey]([user]) in ([T.x],[T.y],[T.z])")
  
negative.code: 	var/mob/living/simple_animal/corgi/C = new/mob/living/simple_animal/corgi(get_turf(user))
  	C.throw_at(pick(oview(10,user)),10,rand(3,8))
  	throwSmoke(get_turf(C))
  	warn_admins(user, "Corgi Cannon", 0)
  
  /obj/item/weapon/relic/proc/clean(var/mob/user)
  	playsound(src.loc, "sparks", rand(25,50), 1)
  	var/obj/item/weapon/grenade/chem_grenade/cleaner/CL = new/obj/item/weapon/grenade/chem_grenade/cleaner(get_turf(user))
  	CL.prime()
  	warn_admins(user, "Smoke", 0)
  
  /obj/item/weapon/relic/proc/flash(var/mob/user)
  	playsound(src.loc, "sparks", rand(25,50), 1)
  