anchor.diff:  	return steal_target
   
   datum/objective/steal/check_completion()
  -	if(!steal_target || !owner.current)	return 0
  +	if(!steal_target)	return 1
   	if(!isliving(owner.current))	return 0
   	var/list/all_items = owner.current.GetAllContents()	//this should get things in cheesewheels, books, etc.
   
  
positive.code: datum/objective/proc/check_completion()
  	return completed
  
  datum/objective/proc/find_target()
  	var/list/possible_targets = list()
  	for(var/datum/mind/possible_target in ticker.minds)
  		if(possible_target != owner && ishuman(possible_target.current) && (possible_target.current.stat != 2))
  			possible_targets += possible_target
  	if(possible_targets.len > 0)
  		target = pick(possible_targets)
  
negative.code: 	var/obj/item/steal_target = null //Needed for custom objectives (they're just items, not datums).
  	dangerrating = 5 //Overridden by the individual item's difficulty, but defaults to 5 for custom objectives.
  
  datum/objective/steal/get_target()
  	return steal_target
  
  datum/objective/steal/New()
  	..()
  	if(!possible_items.len)//Only need to fill the list when it's needed.
  		init_subtypes(/datum/objective_item/steal,possible_items)
  
  datum/objective/steal/find_target()
  	var/approved_targets = list()
  	for(var/datum/objective_item/possible_item in possible_items)
  		if(is_unique_objective(possible_item.targetitem))
  			approved_targets += possible_item
  	return set_target(safepick(possible_items))
  
  datum/objective/steal/proc/set_target(var/datum/objective_item/item)
  	if(item)
  		targetinfo = item
  
  		steal_target = targetinfo.targetitem
  		explanation_text = "Steal [targetinfo.name]."
  		dangerrating = targetinfo.difficulty
  		return steal_target
  	else
  		explanation_text = "Free objective"
  		return
  
  datum/objective/steal/proc/select_target() //For admins setting objectives manually.
  	var/list/possible_items_all = possible_items+"custom"
  