anchor.diff:  	Read_Memory()
   	if(rounds_survived == longest_survival)
   		speak += pick("...[longest_survival].", "The things I've seen!", "I have lived many lives!", "What are you before me?")
  +		desc += " Old as sin, and just as loud. Claimed to be [rounds_survived]."
   		speak_chance = 20 //His hubris has made him more annoying/easier to justify killing
  +		color = "#EEEE22"
  +	else if(rounds_survived == longest_deathstreak)
  +		speak += pick("What are you waiting for!", "Violence breeds violence!", "Blood! Blood!", "Strike me down if you dare!")
  +		desc += " The squawks of [rounds_survived * -1] dead parrots ring out in your ears..."
  +		color = "#BB7777"
   	else if(rounds_survived > 0)
   		speak += pick("...again?", "No, It was over!", "Let me out!", "It never ends!")
  +		desc += " Over [rounds_survived] shifts without a \"terrible\" \"accident\"!"
   	else
   		speak += pick("...alive?", "This isn't parrot heaven!", "I live, I die, I live again!", "The void fades!")
   	..()
   
   /mob/living/simple_animal/parrot/Poly/Life()
   	if(!stat && ticker.current_state == GAME_STATE_FINISHED && !memory_saved)
  -		rounds_survived += 1
  +		rounds_survived = max(++rounds_survived,1)
   		if(rounds_survived > longest_survival)
   			longest_survival = rounds_survived
   		Write_Memory()
   	..()
   
   /mob/living/simple_animal/parrot/Poly/death(gibbed)
  -	rounds_survived = 0
  -	Write_Memory()
  +	if(!memory_saved)
  +		var/go_ghost = 0
  +		if(rounds_survived == longest_survival || rounds_survived == longest_deathstreak)
  +			go_ghost = 1
  +		rounds_survived = min(--rounds_survived,0)
  +		if(rounds_survived < longest_deathstreak)
  +			longest_deathstreak = rounds_survived
  +		Write_Memory()
  +		if(go_ghost)
  +			var/mob/living/simple_animal/parrot/Poly/ghost/G = new(loc)
  +			if(mind)
  +				mind.transfer_to(G)
  +			else
  +				G.key = key
   	..(gibbed)
   
   /mob/living/simple_animal/parrot/Poly/proc/Read_Memory()
  
positive.code: 	S["phrases"] 			>> speech_buffer
  	S["roundssurvived"]		>> rounds_survived
  	S["longestsurvival"]	>> longest_survival
  
  	if(isnull(speech_buffer))
  		speech_buffer = list()
  
negative.code: 	var/memory_saved = 0
  	var/rounds_survived = 0
  	var/longest_survival = 0
  	var/longest_deathstreak = 0
  
  /mob/living/simple_animal/parrot/Poly/New()
  	ears = new /obj/item/device/radio/headset/headset_eng(src)
  