anchor.diff:  		user << "<span class='notice'>Where are the lips on that?</span>"
   
   //you can wipe off lipstick with paper!
  -/obj/item/weapon/paper/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
  +/obj/item/weapon/paper/attack(mob/M, mob/user)
   	if(user.zone_sel.selecting == "mouth")
  -		if(!istype(M, /mob))	return
  +		if(!ismob(M))
  +			return
   
   		if(ishuman(M))
   			var/mob/living/carbon/human/H = M
  
positive.code: 	else
  		icon_state = initial(icon_state)
  
  /obj/item/weapon/lipstick/attack(mob/M as mob, mob/user as mob)
  	if(!open)	return
  
  	if(!istype(M, /mob))	return
  
negative.code: 	else
  		..()
  
  
  /obj/item/weapon/razor
  	name = "electric razor"
  	desc = "The latest and greatest power razor born from the science of shaving."
  	icon = 'icons/obj/items.dmi'
  	icon_state = "razor"
  	flags = FPRINT | TABLEPASS| CONDUCT
  	w_class = 1
  
  
  /obj/item/weapon/razor/proc/shave(mob/living/carbon/human/H, location = "mouth")
  	if(location == "mouth")
  		H.f_style = "Shaved"
  	else
  		H.h_style = "Skinhead"
  
  	H.update_hair()
  	playsound(loc, 'sound/items/Welder2.ogg', 20, 1)
  
  
  /obj/item/weapon/razor/attack(mob/M, mob/user)
  	if(ishuman(M))
  		var/mob/living/carbon/human/H = M
  
  		var/location = user.zone_sel.selecting
  		if(location == "mouth")
  			if(!get_location_accessible(H, location))
  				user << "<span class='notice'>The mask is in the way.</span>"
  				return
  			if(H.f_style == "Shaved")
  				user << "<span class='notice'>Already clean-shaven.</span>"
  				return
  
  			if(H == user) //shaving yourself
  				user.visible_message("<span class='notice'>[user] starts to shave their facial hair with [src].</span>", \
  									 "<span class='notice'>You take a moment to shave your facial hair with [src].</span>")
  				if(do_after(user, 50))
  					user.visible_message("<span class='notice'>[user] shaves his facial hair clean with [src].</span>", \
  										 "<span class='notice'>You finish shaving with [src]. Fast and clean!</span>")
  					shave(H, location)
  			else
  				var/turf/H_loc = H.loc
  				user.visible_message("<span class='warning'>[user] tries to shave [H]'s facial hair with [src].</span>", \
  									 "<span class='notice'>You start shaving [H]'s facial hair.</span>")
  				if(do_after(user, 50))
  					if(H_loc == H.loc)
  						user.visible_message("<span class='warning'>[user] shaves off [H]'s facial hair with [src].</span>", \
  											 "<span class='notice'>You shave [H]'s facial hair clean off.</span>")
  						shave(H, location)
  
  		else if(location == "head")
  			if(!get_location_accessible(H, location))
  				user << "<span class='notice'>The headgear is in the way.</span>"
  				return
  			if(H.h_style == "Bald" || H.h_style == "Balding Hair" || H.h_style == "Skinhead")
  				user << "<span class='notice'>There is not enough hair left to shave!</span>"
  				return
  
  			if(H == user) //shaving yourself
  				user.visible_message("<span class='notice'>[user] starts to shave their head with [src].</span>", \
  									 "<span class='notice'>You start to shave your head with [src].</span>")
  				if(do_after(user, 50))
  					user.visible_message("<span class='notice'>[user] shaves his head with [src].</span>", \
  										 "<span class='notice'>You finish shaving with [src].</span>")
  					shave(H, location)
  			else
  				var/turf/H_loc = H.loc
  				user.visible_message("<span class='warning'>[user] tries to shave [H]'s head with [src]!</span>", \
  									 "<span class='notice'>You start shaving [H]'s head.</span>")
  				if(do_after(user, 50))
  					if(H_loc == H.loc)
  						user.visible_message("<span class='warning'>[user] shaves [H]'s head bald with [src]!</span>", \
  											 "<span class='notice'>You shave [H]'s head bald.</span>")
  						shave(H, location)
  		else
  			..()
  	else
  