anchor.diff:  		if(I.loc != src && I.w_class <= 2)
   
   			//If we have a perch and the item is sitting on it, continue
  -			if(!client && parrot_perch && I.loc == parrot_perch)
  +			if(!client && parrot_perch && I.loc == parrot_perch.loc)
   				continue
   
   			held_item = I
  
positive.code: 	//These vars store their preffered perch and if they dont have one, what they can use as a perch
  	var/obj/parrot_perch = null
  	var/obj/desired_perches = list(/obj/structure/computerframe, 	/obj/structure/displaycase, \
  									/obj/structure/closet, 			/obj/structure/filingcabinet, \
  									/obj/machinery/computer,		/obj/machinery/clonepod, \
  									/obj/machinery/dna_scanner,		/obj/machinery/dna_scannernew, \
  									/obj/machinery/nuclearbomb,		/obj/machinery/particle_accelerator, \
  									/obj/machinery/recharge_station,	/obj/machinery/smartfridge, \
  									/obj/machinery/suit_storage_unit,	/obj/machinery/telecomms, \
  									/obj/machinery/teleport)
  
  	//Parrots are kleptomaniacs. This variable ... stores the item a parrot is holding.
  	var/obj/item/held_item = null
  
negative.code: 			return
  
  		if(in_range(src, parrot_interest))
  
  			if(isliving(parrot_interest))
  				steal_from_mob()
  
  			else //This should ensure that we only grab the item we want, and make sure it's not already collected on our perch
  				if(!parrot_perch || parrot_interest.loc != parrot_perch.loc)
  					held_item = parrot_interest
  					parrot_interest.loc = src
  					visible_message("[src] grabs the [held_item]!", "\blue You grab the [held_item]!", "You hear the sounds of wings flapping furiously.")
  
  			parrot_interest = null
  			parrot_state = PARROT_SWOOP | PARROT_RETURN
  