anchor.diff:  		merge(S)
   		user << "<span class='notice'>Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s.</span>"
   	else
  -		return ..()
  +		. = ..()
   
   /obj/item/stack/proc/copy_evidences(obj/item/stack/from as obj)
   	src.blood_DNA = from.blood_DNA
  
positive.code: 		change_stack(user,1)
  	else
  		..()
  	return
  
  /obj/item/stack/AltClick(mob/living/user)
  	if(!istype(user) || !user.canUseTopic(src))
  
negative.code: 	var/cost = 1 // How much energy from storage it costs
  	var/merge_type = null // This path and its children should merge with this stack, defaults to src.type
  
  /obj/item/stack/Initialize(mapload, new_amount=null)
  	..()
  	if(new_amount)
  		amount = new_amount
  	if(!merge_type)
  		merge_type = type
  	for(var/obj/item/stack/S in loc)
  		if(S.merge_type == merge_type)
  			merge(S)
  
  /obj/item/stack/Destroy()
  	if (usr && usr.machine==src)
  		usr << browse(null, "window=stack")
  	. = ..()
  
  /obj/item/stack/examine(mob/user)
  	..()
  