anchor.diff:  
   /obj/item/clothing/mask/facehugger/attack_hand(mob/user)
   	if((stat == CONSCIOUS && !sterile) && !isalien(user))
  -		if(Attach(user))
  +		if(Leap(user))
   			return
   	..()
   
   /obj/item/clothing/mask/facehugger/attack(mob/living/M, mob/user)
   	..()
  -	if(user.temporarilyRemoveItemFromInventory(src))
  -		Attach(M)
  +	if(user.transferItemToLoc(src, get_turf(M)))
  +		Leap(M)
   
   /obj/item/clothing/mask/facehugger/examine(mob/user)
   	..()
  
positive.code: 
  /obj/item/clothing/mask/facehugger/HasProximity(atom/movable/AM as mob|obj)
  	if(CanHug(AM) && Adjacent(AM))
  		return Attach(AM)
  	return 0
  
  /obj/item/clothing/mask/facehugger/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback)
  
negative.code: 		// corgi: valid
  		return TRUE
  
  /obj/item/clothing/mask/facehugger/proc/Leap(mob/living/M)
  	if(!valid_to_attach(M))
  		return FALSE
  	if(iscarbon(M))
  		var/mob/living/carbon/target = M
  		if(target.wear_mask && istype(target.wear_mask, /obj/item/clothing/mask/facehugger))
  			return FALSE
  	// passed initial checks - time to leap!
  	M.visible_message("<span class='danger'>[src] leaps at [M]'s face!</span>", \
  							"<span class='userdanger'>[src] leaps at [M]'s face!</span>")
  