anchor.diff:  
   
   /obj/item/tk_grab/proc/focus_object(obj/target, mob/living/user)
  -	if(!istype(target,/obj))
  +	if(!isobj(target))
   		return//Cant throw non objects atm might let it do mobs later
   	if(target.anchored || !isturf(target.loc))
   		qdel(src)
  
positive.code: 		focus_object(target, user)
  		return
  
  	if(focus.anchored)
  		qdel(src)
  
  	if(target == focus)
  		target.attack_self_tk(user)
  		return // todo: something like attack_self not laden with assumptions inherent to attack_self
  
  
  	if(!istype(target, /turf) && istype(focus,/obj/item) && target.Adjacent(focus))
  		var/obj/item/I = focus
  		var/resolved = target.attackby(I, user, params)
  		if(!resolved && target && I)
  
negative.code: 		focus.throw_at(target, 10, 1,user)
  		last_throw = world.time
  		user.changeNext_move(CLICK_CD_MELEE)
  
  /proc/tkMaxRangeCheck(mob/user, atom/target, atom/focus)
  	var/d = get_dist(user, target)
  