anchor.diff:  			else
   				tryWalk(TARGET)
   
  +/mob/living/carbon/human/interactive/proc/customEmote(var/text)
  +	for(var/mob/living/carbon/M in view(src))
  +		M.show_message("<span class='notice'>[text]</span>", 2)
  +
  +// START COOKING MODULE
  +/mob/living/carbon/human/interactive/proc/cookingwithmagic(var/obj/item/weapon/reagent_containers/food/snacks/target)
  +	if(Adjacent(target))
  +		customEmote("[src] [pick("gibbers","drools","slobbers","claps wildly","spits")] towards [target], and with a bang, it's instantly cooked!")
  +		var/obj/item/weapon/reagent_containers/food/snacks/S = new target.cooked_type (get_turf(src))
  +		target.initialize_cooked_food(S, 100)
  +		playsound(get_turf(src), 'sound/weapons/flashbang.ogg', 50, 1)
  +	else
  +		tryWalk(target)
  +
  +/mob/living/carbon/human/interactive/proc/souschef(obj)
  +	var/list/allContents = getAllContents()
  +
  +	enforceHome()
  +
  +	//Bluespace in some inbuilt tools
  +	var/obj/item/weapon/kitchen/rollingpin/RP = locate(/obj/item/weapon/kitchen/rollingpin) in allContents
  +	if(!RP)
  +		new/obj/item/weapon/kitchen/rollingpin(src)
  +
  +	var/obj/item/weapon/kitchen/knife/KK = locate(/obj/item/weapon/kitchen/knife) in allContents
  +	if(!KK)
  +		new/obj/item/weapon/kitchen/knife(src)
  +
  +	if(RP && KK) // Ready to cook!
  +		//Process dough into various states
  +		var/obj/item/weapon/reagent_containers/food/snacks/dough/D = locate(/obj/item/weapon/reagent_containers/food/snacks/dough) in range(MAX_RANGE_FIND,src)
  +		if(D)
  +			var/choice = pick(1,2)
  +			if(choice == 1)
  +				tryWalk(get_turf(D))
  +				sleep(get_dist(src,D))
  +				D.attackby(RP,src)
  +			else
  +				cookingwithmagic(D)
  +		var/obj/item/weapon/reagent_containers/food/snacks/flatdough/FD = locate(/obj/item/weapon/reagent_containers/food/snacks/flatdough) in range(MAX_RANGE_FIND,src)
  +		if(FD)
  +			var/choice = pick(1,2)
  +			if(choice == 1)
  +				tryWalk(get_turf(D))
  +				sleep(get_dist(src,D))
  +				FD.attackby(KK,src)
  +			else
  +				cookingwithmagic(FD)
  +		var/obj/item/weapon/reagent_containers/food/snacks/cakebatter/CB = locate(/obj/item/weapon/reagent_containers/food/snacks/cakebatter) in range(MAX_RANGE_FIND,src)
  +		if(CB)
  +			var/choice = pick(1,2)
  +			if(choice == 1)
  +				tryWalk(get_turf(D))
  +				sleep(get_dist(src,D))
  +				CB.attackby(RP,src)
  +			else
  +				cookingwithmagic(CB)
  +		var/obj/item/weapon/reagent_containers/food/snacks/piedough/PD = locate(/obj/item/weapon/reagent_containers/food/snacks/piedough) in range(MAX_RANGE_FIND,src)
  +		if(PD)
  +			var/choice = pick(1,2)
  +			if(choice == 1)
  +				tryWalk(get_turf(D))
  +				sleep(get_dist(src,D))
  +				PD.attackby(KK,src)
  +			else
  +				cookingwithmagic(PD)
  +		//Cook various regular foods into processed versions
  +		var/obj/item/weapon/reagent_containers/food/snacks/toCook = locate(/obj/item/weapon/reagent_containers/food/snacks) in range(MAX_RANGE_FIND,src)
  +		if(toCook)
  +			if(toCook.cooked_type)
  +				cookingwithmagic(toCook)
  +// END COOKING MODULE
  +
   /mob/living/carbon/human/interactive/proc/combat(obj)
   	set background = 1
   	enforce_hands()
   	if(canmove)
   		if(prob(attitude) && (graytide || (TRAITS & TRAIT_MEAN)) || retal)
  -			interest = interest + 10
  +			interest += targetInterestShift
   			a_intent = "harm"
   			zone_selected = pick("chest","r_leg","l_leg","r_arm","l_arm","head")
   			doing |= FIGHTING
  
positive.code: 	if(TRAITS & TRAIT_THIEVING)
  		slyness = 75
  
  	SSnpc.insertBot(src)
  
  
  /mob/living/carbon/human/interactive/attack_hand(mob/living/carbon/human/M)
  	..()
  	if (health > 0)
  		if(M.a_intent == "help")
  			chatter()
  		if(M.a_intent == "harm")
  			retal = 1
  			retal_target = M
  
  //THESE EXIST FOR DEBUGGING OF THE DOING/INTEREST SYSTEM EASILY
  /mob/living/carbon/human/interactive/proc/doing2string(doin)
  
negative.code: 		if(myPath.len > 0)
  			doing = doing & ~TRAVEL
  			for(var/i = 0; i < maxStepsTick; ++i)
  				if(!IsDeadOrIncap())
  					if(myPath.len >= 1)
  						walk_to(src,myPath[1],0,5)
  						myPath -= myPath[1]
  			return 1
  	return 0
  
  