anchor.diff:  
   /obj/item/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params)
   	. = ..()
  -	remove_outline() //get rid of the hover effect in case the mouse exit isn't called if someone drags and drops an item and somthing goes wrong
  +	remove_filter("hover_outline") //get rid of the hover effect in case the mouse exit isn't called if someone drags and drops an item and somthing goes wrong
   
   /obj/item/MouseExited()
   	deltimer(tip_timer) //delete any in-progress timer if the mouse is moved off the item before it finishes
   	closeToolTip(usr)
  -	remove_outline()
  +	remove_filter("hover_outline")
   
   /obj/item/proc/apply_outline(outline_color = null)
  -	if(!(item_flags & IN_INVENTORY || item_flags & IN_STORAGE) || QDELETED(src) || isobserver(usr)) //cancel if the item isn't in an inventory, is being deleted, or if the person hovering is a ghost (so that people spectating you don't randomly make your items glow)
  +	if(get(src, /mob) != usr || QDELETED(src) || isobserver(usr)) //cancel if the item isn't in an inventory, is being deleted, or if the person hovering is a ghost (so that people spectating you don't randomly make your items glow)
   		return
   	var/theme = lowertext(usr.client.prefs.UI_style)
   	if(!outline_color) //if we weren't provided with a color, take the theme's color
  
positive.code: 
  /obj/item/MouseEntered(location, control, params)
  	. = ..()
  	if((item_flags & IN_INVENTORY || item_flags & IN_STORAGE) && !QDELETED(src))
  		var/mob/living/L = usr
  		if(usr.client.prefs.enable_tips)
  			var/timedelay = usr.client.prefs.tip_delay/100
  
negative.code: 				outline_color = COLOR_WHITE
  	if(color)
  		outline_color = COLOR_WHITE //if the item is recolored then the outline will be too, let's make the outline white so it becomes the same color instead of some ugly mix of the theme and the tint
  
  	add_filter("hover_outline", 1, list("type" = "outline", "size" = 1, "color" = outline_color))
  
  /// Called when a mob tries to use the item as a tool. Handles most checks.
  /obj/item/proc/use_tool(atom/target, mob/living/user, delay, amount=0, volume=0, datum/callback/extra_checks)
  