anchor.diff:  	hand = owner.hand_bodyparts[side]
   	if(hand)
   		RegisterSignal(hand, COMSIG_ITEM_ATTACK_SELF, .proc/ui_action_click) //If the limb gets an attack-self, open the menu. Only happens when hand is empty
  +		RegisterSignal(M, COMSIG_KB_MOB_DROPITEM_DOWN, .proc/dropkey) //We're nodrop, but we'll watch for the drop hotkey anyway and then stow if possible.
   
   /obj/item/organ/cyberimp/arm/Remove(mob/living/carbon/M, special = 0)
   	Retract()
   	if(hand)
   		UnregisterSignal(hand, COMSIG_ITEM_ATTACK_SELF)
  +		UnregisterSignal(M, COMSIG_KB_MOB_DROPITEM_DOWN)
   	..()
   
   /obj/item/organ/cyberimp/arm/emp_act(severity)
  
positive.code: 		// give the owner an idea about why his implant is glitching
  		Retract()
  
  /obj/item/organ/cyberimp/arm/proc/Retract()
  	if(!active_item || (active_item in src))
  		return
  
negative.code: 		return
  
  	active_item = item
  
  	active_item.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
  	ADD_TRAIT(active_item, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT)
  	active_item.slot_flags = null
  	active_item.set_custom_materials(null)
  
  