/obj/item/weapon/lipstick
name = "red lipstick"
desc = "A generic brand of lipstick."
icon = 'icons/obj/items.dmi'
icon_state = "lipstick"
flags = FPRINT | TABLEPASS
w_class = 1.0
var/colour = "red"
var/open = 0
/obj/item/weapon/lipstick/purple
name = "purple lipstick"
colour = "purple"
/obj/item/weapon/lipstick/jade
name = "jade lipstick"
colour = "jade"
/obj/item/weapon/lipstick/black
name = "black lipstick"
colour = "black"
/obj/item/weapon/lipstick/random
name = "lipstick"
/obj/item/weapon/lipstick/random/New()
colour = pick("red","purple","jade","black")
name = "[colour] lipstick"
/obj/item/weapon/lipstick/attack_self(mob/user as mob)
user << "You twist \the [src] [open ? "closed" : "open"]."
open = !open
if(open)
icon_state = "[initial(icon_state)]_[colour]"
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
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.lip_style) //if they already have lipstick on
user << "You need to wipe off the old lipstick first!"
return
if(H == user)
user.visible_message("[user] does their lips with \the [src].", \
"You take a moment to apply \the [src]. Perfect!")
H.lip_style = colour
H.update_body()
else
user.visible_message("[user] begins to do [H]'s lips with \the [src].", \
"You begin to apply \the [src].")
if(do_after(user, 20) && do_after(H, 20, 5, 0)) //user needs to keep their active hand, H does not.
user.visible_message("[user] does [H]'s lips with \the [src].", \
"You apply \the [src].")
H.lip_style = colour
H.update_body()
else
user << "Where are the lips on that?"
//you can wipe off lipstick with paper!
/obj/item/weapon/paper/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(user.zone_sel.selecting == "mouth")
if(!istype(M, /mob)) return
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H == user)
user << "You wipe off the lipstick with [src]."
H.lip_style = null
H.update_body()
else
user.visible_message("[user] begins to wipe [H]'s lipstick off with \the [src].", \
"You begin to wipe off [H]'s lipstick.")
if(do_after(user, 10) && do_after(H, 10, 5, 0)) //user needs to keep their active hand, H does not.
user.visible_message("[user] wipes [H]'s lipstick off with \the [src].", \
"You wipe off [H]'s lipstick.")
H.lip_style = null
H.update_body()
else
..()