anchor.diff:  			if(HAS_TRAIT(WH, TRAIT_NODROP))
   				H.visible_message("<span class='warning'>[src] bounces off [H]'s [WH.name]!", "<span class='warning'>[src] bounces off your [WH.name], falling to the floor.</span>")
   				return
  -			///check if the item is an actual clothing head item, since some non-clothing items can be worn	
  +			///check if the item is an actual clothing head item, since some non-clothing items can be worn
   			if(istype(WH, /obj/item/clothing/head))
   				var/obj/item/clothing/head/WHH = WH
   				///SNUG_FIT hats are immune to being knocked off
   				if(WHH.clothing_flags & SNUG_FIT)
   					H.visible_message("<span class='warning'>[src] bounces off [H]'s [WHH.name]!", "<span class='warning'>[src] bounces off your [WHH.name], falling to the floor.</span>")
   					return
  -			///if the hat manages to knock something off	
  +			///if the hat manages to knock something off
   			if(H.dropItemToGround(WH))
  -				H.visible_message("<span class='warning'>[src] knocks [WH] off [H]'s head!</span>", "<span class='warning'>[WH] is suddenly knocked off your head by [src]!</span>")		
  +				H.visible_message("<span class='warning'>[src] knocks [WH] off [H]'s head!</span>", "<span class='warning'>[WH] is suddenly knocked off your head by [src]!</span>")
   		if(H.equip_to_slot_if_possible(src, SLOT_HEAD, 0, 1, 1))
   			H.visible_message("<span class='notice'>[src] lands neatly on [H]'s head!", "<span class='notice'>[src] lands perfectly onto your head!</span>")
   		return
   	if(iscyborg(hit_atom))
   		var/mob/living/silicon/robot/R = hit_atom
   		///hats in the borg's blacklist bounce off
  -		if(is_type_in_typecache(src, R.blacklisted_hats))
  +		if(is_type_in_typecache(src, GLOB.blacklisted_borg_hats))
   			R.visible_message("<span class='warning'>[src] bounces off [R]!", "<span class='warning'>[src] bounces off you, falling to the floor.</span>")
   			return
   		else
  
positive.code: ///Special throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them.
  /obj/item/clothing/head/throw_impact(atom/hit_atom, datum/thrownthing/thrownthing)
  	. = ..()
  	///if the thrown object's target zone isn't the head	
  	if(thrownthing.target_zone != BODY_ZONE_HEAD)
  		return
  	///ignore any hats with the tinfoil counter-measure enabled
  
negative.code: 		return
  	///if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it
  	if(LAZYLEN(contents))
  		return
  	if(iscarbon(hit_atom))
  		var/mob/living/carbon/H = hit_atom
  		if(istype(H.head, /obj/item))
  