anchor.diff:  /proc/purrbation_apply(mob/living/carbon/human/H, silent = FALSE)
   	if(!ishuman(H) || isfelinid(H))
   		return
  -	H.set_species(/datum/species/human/felinid)
  -
  +	if(ishumanbasic(H))
  +		H.set_species(/datum/species/human/felinid)
  +		var/datum/species/human/felinid/cat_species = H.dna.species
  +		cat_species.original_felinid = FALSE
  +	else
  +		var/obj/item/organ/ears/cat/kitty_ears = new
  +		var/obj/item/organ/tail/cat/kitty_tail = new
  +		kitty_ears.Insert(H, TRUE, FALSE) //Gives nonhumans cat tail and ears
  +		kitty_tail.Insert(H, TRUE, FALSE)
   	if(!silent)
   		to_chat(H, "Something is nya~t right.")
   		playsound(get_turf(H), 'sound/effects/meow1.ogg', 50, TRUE, -1)
   
   /proc/purrbation_remove(mob/living/carbon/human/H, silent = FALSE)
  -	if(!ishuman(H) || !isfelinid(H))
  -		return
  -
  -	H.set_species(/datum/species/human)
  -
  +	if(isfelinid(H))
  +		var/datum/species/human/felinid/cat_species = H.dna.species
  +		if(!cat_species.original_felinid)
  +			H.set_species(/datum/species/human)
  +	else if(ishuman(H) && !ishumanbasic(H))
  +		var/datum/species/target_species = H.dna.species
  +		var/organs = H.internal_organs
  +		for(var/obj/item/organ/current_organ in organs)
  +			if(istype(current_organ, /obj/item/organ/tail/cat))
  +				current_organ.Remove(H, TRUE)
  +				if(target_species.mutanttail)
  +					var/obj/item/organ/new_tail = new target_species.mutanttail
  +					new_tail.Insert(H, TRUE, FALSE)
  +			if(istype(current_organ, /obj/item/organ/ears/cat))
  +				var/obj/item/organ/new_ears = new target_species.mutantears
  +				new_ears.Insert(H, TRUE, FALSE)
   	if(!silent)
   		to_chat(H, "You are no longer a cat.")
  
positive.code: 
  /proc/mass_purrbation()
  	for(var/M in GLOB.mob_list)
  		if(ishumanbasic(M))
  			purrbation_apply(M)
  		CHECK_TICK
  
  /proc/mass_remove_purrbation()
  	for(var/M in GLOB.mob_list)
  		if(ishumanbasic(M))
  			purrbation_remove(M)
  		CHECK_TICK
  
  
negative.code: 	mutantears = /obj/item/organ/ears/cat
  	mutanttail = /obj/item/organ/tail/cat
  	changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
  	var/original_felinid = TRUE //set to false for felinids created by mass-purrbation
  
  /datum/species/human/felinid/qualifies_for_rank(rank, list/features)
  	return TRUE
  