anchor.diff:  			enemies = list()
   			LoseTarget()
   			src.visible_message("<span class='notice'>[src] calms down.</span>")
  -
   	if(stat == CONSCIOUS)
  -		if(udder && prob(5))
  -			udder.add_reagent("milk", rand(5, 10))
  -
  +		udder.generateMilk()
   		if(locate(/obj/effect/spacevine) in loc)
   			var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc
   			SV.eat(src)
  -
   		if(!pulledby)
   			for(var/direction in shuffle(list(1,2,4,8,5,6,9,10)))
   				var/step = get_step(src, direction)
  
positive.code: 	attacktext = "kicks"
  	attack_sound = 'sound/weapons/punch1.ogg'
  	health = 50
  	var/datum/reagents/udder = null
  
  /mob/living/simple_animal/cow/New()
  	udder = new(50)
  	udder.my_atom = src
  	..()
  
  /mob/living/simple_animal/cow/attackby(obj/item/O, mob/user, params)
  	if(stat == CONSCIOUS && istype(O, /obj/item/weapon/reagent_containers/glass))
  		user.visible_message("[user] milks [src] using \the [O].", "<span class='notice'>You milk [src] using \the [O].</span>")
  		var/obj/item/weapon/reagent_containers/glass/G = O
  		var/transfered = udder.trans_id_to(G, "milk", rand(5,10))
  		if(G.reagents.total_volume >= G.volume)
  			user << "<span class='danger'>[O] is full.</span>"
  		if(!transfered)
  			user << "<span class='danger'>The udder is dry. Wait a bit longer...</span>"
  	else
  		..()
  
  /mob/living/simple_animal/cow/Life()
  	. = ..()
  	if(stat == CONSCIOUS)
  		if(udder && prob(5))
  			udder.add_reagent("milk", rand(5, 10))
  
  /mob/living/simple_animal/cow/attack_hand(mob/living/carbon/M)
  	if(!stat && M.a_intent == "disarm" && icon_state != icon_dead)
  
negative.code: 			qdel(src)
  	else
  		SSobj.processing.Remove(src)
  
  /obj/udder
  
  /obj/udder/New()
  	reagents = new(50)
  	reagents.my_atom = src
  	reagents.add_reagent("milk", 20)
  
  /obj/udder/proc/generateMilk()
  	if(prob(5))
  		reagents.add_reagent("milk", rand(5, 10))
  
  /obj/udder/proc/milkAnimal(obj/O, mob/user)
  	var/obj/item/weapon/reagent_containers/glass/G = O
  	if(G.reagents.total_volume >= G.volume)
  		user << "<span class='danger'>[O] is full.</span>"
  		return
  	var/transfered = reagents.trans_id_to(G, "milk", rand(5,10))
  	if(transfered)
  		user.visible_message("[user] milks [src] using \the [O].", "<span class='notice'>You milk [src] using \the [O].</span>")
  	else
  		user << "<span class='danger'>The udder is dry. Wait a bit longer...</span>"
  
  /obj/udder/Destroy()
  	qdel(reagents)
  	..()