diff --git a/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm b/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm index 8a1935d3549..7ff9876a4a9 100644 --- a/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_cosmetics_vr.dm @@ -1,5 +1,6 @@ /datum/gear/cosmetic/nailpolish display_name = "nail polish (colorable)" + description = "Nail polish, available in every color of the rainbow! Doesn't come with nail polish remover." path = /obj/item/weapon/nailpolish /datum/gear/cosmetic/nailpolish/New() @@ -11,4 +12,8 @@ polish.set_colour(polish.color) polish.color = null return polish - \ No newline at end of file + +/datum/gear/cosmetic/nailpolish_remover + display_name = "nail polish remover" + description = "Nail polish remover, for when the fun's over. Doesn't come with nail polish." + path = /obj/item/weapon/nailpolish_remover \ No newline at end of file diff --git a/code/modules/makeup/nailpolish.dm b/code/modules/makeup/nailpolish.dm index 95e0fd24cd1..ee901825e6b 100644 --- a/code/modules/makeup/nailpolish.dm +++ b/code/modules/makeup/nailpolish.dm @@ -2,6 +2,7 @@ /obj/item/weapon/nailpolish name = "nail polish" + desc = "Nail polish, to paint your nails with. Or someone else's!" icon = 'icons/obj/nailpolish_vr.dmi' icon_state = "nailpolish" var/colour = "#FF0000" @@ -100,7 +101,51 @@ return body_part.nail_polish = polish target.update_icons_body() + +/obj/item/weapon/nailpolish_remover + name = "nail polish remover" + desc = "Paint thinner, acetone, nail polish remover; whatever you call it, it gets the job done." + drop_sound = 'sound/items/drop/helm.ogg' + pickup_sound = 'sound/items/pickup/helm.ogg' + icon = 'icons/obj/nailpolish_vr.dmi' + icon_state = "nailpolishremover" + var/open = FALSE + +/obj/item/weapon/nailpolish_remover/attack_self(var/mob/user) + open = !open + to_chat(user, SPAN_NOTICE("You [open ? "open" : "close"] \the [src].")) + update_icon() + +/obj/item/weapon/nailpolish_remover/update_icon() + . = ..() + icon_state = "[initial(icon_state)][open ? "open" : null]" + +/obj/item/weapon/nailpolish_remover/attack(var/mob/user, var/mob/living/carbon/human/target) + if(!open) + return + + if(!istype(target)) + return + var/bp = user.zone_sel.selecting + var/obj/item/organ/external/body_part = target.get_organ(bp) + if(!body_part) + to_chat(user, SPAN_WARNING("[target] is missing that limb!")) + return + if(!body_part.nail_polish) + to_chat(user, SPAN_NOTICE("[target]'s [body_part.name] has no nail polish to remove!")) + return + if(user == target) + user.visible_message("\The [user] removes their nail polish with \the [src].", "You remove your nail polish with \the [src].") + else + if(do_after(user, 2 SECONDS, target)) + user.visible_message("\The [user] removes \the [target]'s nail polish with \the [src].", "You remove \the [target]'s nail polish with \the [src].") + else + to_chat(user, SPAN_NOTICE("Both you and [target] must stay still!")) + return + body_part.nail_polish = null + target.update_icons_body() + /datum/nail_polish var/icon = 'icons/obj/nailpolish_vr.dmi' var/icon_state diff --git a/icons/obj/nailpolish_vr.dmi b/icons/obj/nailpolish_vr.dmi index 1adfe631970..e3bddf098e8 100644 Binary files a/icons/obj/nailpolish_vr.dmi and b/icons/obj/nailpolish_vr.dmi differ