anchor.diff:  		return 1
   
   	for(var/obj/item/I in view(1,src))
  -		for(var/path in desired_items)
  -			//Make sure it's the proper item and we're not holding it
  -			if(istype(I, path) && I.loc != src)
  -
  -				//If we have a perch and the item is sitting on it, continue
  -				if(!client && parrot_perch && I.loc == parrot_perch)
  -					continue
  -
  -				held_item = I
  -				I.loc = src
  -				visible_message("[src] grabs the [held_item]!", "\blue You grab the [held_item]!", "You hear the sounds of wings flapping furiously.")
  -				return held_item
  +		//Make sure we're not already holding it and it's small enough
  +		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)
  +				continue
  +
  +			held_item = I
  +			I.loc = src
  +			visible_message("[src] grabs the [held_item]!", "\blue You grab the [held_item]!", "You hear the sounds of wings flapping furiously.")
  +			return held_item
   
   	src << "\red There is nothing of interest to take."
   	return 0
  
positive.code: 									/obj/machinery/suit_storage_unit,	/obj/machinery/telecomms, \
  									/obj/machinery/teleport)
  
  	//Parrots are kleptomaniacs. These vars a used for just that.. holding items and storing a list of items the parrot wants to steal.
  	var/obj/item/held_item = null
  	var/list/desired_items = list(/obj/item/weapon/reagent_containers/food/snacks/cracker/, \
  									/obj/item/smallDelivery, 	/obj/item/weapon/gift, \
  									/obj/item/weapon/soap, 		/obj/item/toy, \
  									/obj/item/weapon/coin,		/obj/item/weapon/stamp, \
  									/obj/item/weapon/grenade,	/obj/item/device/radio/headset, \
  									/obj/item/device/flash,		/obj/item/device/soulstone, \
  									/obj/item/device/assembly,	/obj/item/weapon/bananapeel, \
  									/obj/item/weapon/book,		/obj/item/weapon/caution, \
  									/obj/item/weapon/cigpacket,	/obj/item/weapon/handcuffs,\
  									/obj/item/weapon/pen,		/obj/item/weapon/pinpointer)
  
  
  /mob/living/simple_animal/parrot/New()
  	..()
  	parrot_sleep_dur = parrot_sleep_max //In case someone decides to change the max without changing the duration var
  	verbs.Add(/mob/living/simple_animal/parrot/proc/steal_from_ground, \
  			  /mob/living/simple_animal/parrot/proc/steal_from_mob, \
  			  /mob/living/simple_animal/parrot/verb/drop_held_item_player, \
  			  /mob/living/simple_animal/parrot/proc/perch_player)
  
  /mob/living/simple_animal/parrot/Die()
  	if(held_item)
  
negative.code: 			if(istype(AM, perch_path))
  				return AM
  
  		//Skip items we already stole or are wearing or are too big
  		if(parrot_perch && AM.loc == parrot_perch.loc || AM.loc == src)
  			continue
  
  		if(istype(AM, /obj/item))
  			var/obj/item/I = AM
  			if(I.w_class <= 2)
  				return I
  
  		if(iscarbon(AM))
  			var/mob/living/carbon/C = AM
  			if(C.l_hand.w_class <= 2 || C.r_hand.w_class <= 2)
  				return AM
  	return null
  
  
  