anchor.diff:  				user_loc = user.loc
   
   			for(var/atom/target in targets)
  -				if((!drifting && user_loc != user.loc) || originalloc[target] != target.loc || user.get_active_held_item() != holding || user.incapacitated() || user.lying )
  +				if((!drifting && user_loc != user.loc) || originalloc[target] != target.loc || user.get_active_held_item() != holding || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke()))
   					. = 0
   					break mainloop
   	if(progbar)
  
positive.code: 	if (progress)
  		qdel(progbar)
  
  /proc/do_after_mob(mob/user, var/list/targets, time = 30, uninterruptible = 0, progress = 1)
  	if(!user || !targets)
  		return 0
  	if(!islist(targets))
  
negative.code: 	log_attack("[user ? "[user.name][(is_mob_user && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] [what_done] [target ? "[target.name][(is_mob_target && target.ckey)? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][(living_target) ? " (NEWHP: [living_target.health])" : ""][(attack_location) ? "([attack_location.x],[attack_location.y],[attack_location.z])" : ""]")
  
  
  /proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null)
  	if(!user || !target)
  		return 0
  	var/user_loc = user.loc
  