anchor.diff:  	..()
   
   /mob/living/carbon/human/dummy/travelling_trader/animal_hunter/check_item(var/obj/item/supplied_item) //item is likely to be in contents of whats supplied
  -	if(supplied_item.contents[requested_item])
  +	if(requested_item in supplied_item.contents)
   		//delete the contents, item given is correct, but we don't want the contents to spill out when the parent is deleted
   		for(var/atom/thing in supplied_item.contents)
   			qdel(thing)
  
positive.code: 
  /mob/living/carbon/human/dummy/travelling_trader/proc/setup_speech(var/input_speech, var/obj/item/given_item)
  	if(requested_item)
  		input_speech = replacetext(input_speech, "requested_item", requested_item.name)
  	if(given_item)
  		input_speech = replacetext(input_speech, "given_item", given_item.name)
  	return input_speech
  
  /mob/living/carbon/human/dummy/travelling_trader/attack_hand(mob/living/carbon/human/H)
  	if(active && last_speech + 3 SECONDS < world.realtime) //can only talk once per 3 seconds, to avoid spam
  		last_speech = world.realtime
  		if(initial_speech)
  			visible_message("<b>[src]</b> [speech_verb] \"[setup_speech(initial_speech)]\"")
  
negative.code: 	new reward(get_turf(src))
  
  /mob/living/carbon/human/dummy/travelling_trader/Initialize()
  	..()
  	ADD_TRAIT(src,TRAIT_PIERCEIMMUNE, "trader_pierce_immune") //don't let people take their blood
  	equipOutfit(trader_outfit, TRUE)
  	for(var/obj/item/item in src.get_equipped_items())
  		ADD_TRAIT(item, TRAIT_NODROP, "trader_no_drop") //don't let people steal the travellers clothes!
  		item.resistance_flags |= INDESTRUCTIBLE //don't let people burn their clothes off, either.
  	if(!requested_item) //sometimes we already picked one
  		requested_item = pickweight(possible_wanted_items)
  
  /mob/living/carbon/human/dummy/travelling_trader/Destroy()
  	var/datum/effect_system/smoke_spread/smoke = new
  