anchor.diff:  	if(M.incapacitated())
   		return FALSE
   
  +	. = TRUE
   	if(holder && can_stop_crawling(target, M))
   		stop_crawling(target, M)
   	else if(!istype(M.loc, /obj/effect/dummy/crawling) && can_start_crawling(target, M)) //no crawling while crawling
   		start_crawling(target, M)
  -	return TRUE
   
   /datum/component/crawl/proc/can_start_crawling(atom/target, mob/living/user)
   	if(!user.Adjacent(target))
  
positive.code: 	var/list/friends = list()
  
  /datum/component/crawl/blood/demonic/hilarious/swallow(mob/living/victim, mob/living/user)
  	friends += victim
negative.code: 	on_gain(M)
  
  /datum/component/crawl/proc/try_crawl(atom/target)
  	set waitfor = FALSE
  	var/can_crawl = FALSE
  	for(var/type in crawling_types)
  		if(istype(target, type))
  