anchor.diff:  		if(temp && !temp.is_usable())
   			M << "\red You can't use your [temp.display_name]"
   			return
  -
  -	for(var/datum/disease/D in viruses)
  -
  -		if(D.spread_by_touch())
  -
  -			M.contract_disease(D, 0, 1, CONTACT_HANDS)
  -
  -	for(var/datum/disease/D in M.viruses)
  -
  -		if(D.spread_by_touch())
  -
  -			contract_disease(D, 0, 1, CONTACT_HANDS)
  -
  +	share_contact_diseases(M)
   	return
   
   
   /mob/living/carbon/attack_paw(mob/M as mob)
   	if(!istype(M, /mob/living/carbon)) return
  -
  -	for(var/datum/disease/D in viruses)
  -
  -		if(D.spread_by_touch())
  -			M.contract_disease(D, 0, 1, CONTACT_HANDS)
  -
  -	for(var/datum/disease/D in M.viruses)
  -
  -		if(D.spread_by_touch())
  -			contract_disease(D, 0, 1, CONTACT_HANDS)
  -
  +	share_contact_diseases(M)
   	return
   
   /mob/living/carbon/electrocute_act(var/shock_damage, var/obj/source, var/siemens_coeff = 1.0)
  
positive.code: 				"\blue [M] shakes [src] trying to wake [t_him] up!", \
  				"\blue You shake [src] trying to wake [t_him] up!", \
  				)
  
  /mob/living/carbon/proc/eyecheck()
  	return 0
  
negative.code: 				N.show_message(text("\red <B>[M] bursts out of [src]!</B>"), 2)
  	. = ..()
  
  /mob/living/carbon/proc/share_contact_diseases(var/mob/M)
  	for(var/datum/disease/D in viruses)
  		if(D.spread_by_touch())
  			M.contract_disease(D, 0, 1, CONTACT_HANDS)
  	for(var/datum/disease/D in M.viruses)
  		if(D.spread_by_touch())
  			contract_disease(D, 0, 1, CONTACT_HANDS)
  
  /mob/living/carbon/attack_hand(mob/M as mob)
  	if(!istype(M, /mob/living/carbon)) return
  	if (hasorgans(M))
  