From fb21e779b1e35346da9100d3de78373a8ef85bf4 Mon Sep 17 00:00:00 2001 From: QuoteFox <49098813+quotefox@users.noreply.github.com> Date: Sat, 17 Apr 2021 22:41:02 +0100 Subject: [PATCH] Nail paint cosmetics --- code/game/objects/structures/watercloset.dm | 1 + .../mob/living/carbon/human/human_defines.dm | 3 + .../mob/living/carbon/human/species.dm | 6 ++ .../chemistry/reagents/other_reagents.dm | 1 + .../code/game/objects/items/cosmetics.dm | 75 ++++++++++++++++++ hyperstation/icons/mobs/nails.dmi | Bin 0 -> 267 bytes hyperstation/icons/obj/cosmetic.dmi | Bin 0 -> 304 bytes .../code/modules/client/loadout/backpack.dm | 44 +++++++++- tgstation.dme | 1 + 9 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 hyperstation/code/game/objects/items/cosmetics.dm create mode 100644 hyperstation/icons/mobs/nails.dmi create mode 100644 hyperstation/icons/obj/cosmetic.dmi diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 420a92ff..2536c22b 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -453,6 +453,7 @@ H.update_inv_wear_mask() else H.lip_style = null + H.nail_style = null H.update_body() if(H.glasses && washglasses && wash_obj(H.glasses)) H.update_inv_glasses() diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index fd9fdcb5..021094fc 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -24,6 +24,9 @@ var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup var/lip_color = "white" + var/nail_style = null + var/nail_color = "white" + var/age = 30 //Player's age var/underwear = "Nude" //Which underwear the player wants diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index e822b381..74a38d3e 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -550,6 +550,12 @@ GLOBAL_LIST_EMPTY(roundstart_races) MA.color = "#[H.socks_color]" standing += MA + // nail paint (hyper) + if(H.nail_style) + var/mutable_appearance/nail_overlay = mutable_appearance('hyperstation/icons/mobs/nails.dmi', "nails", -HANDS_PART_LAYER) + nail_overlay.color = H.nail_color + standing += nail_overlay + if(standing.len) H.overlays_standing[BODY_LAYER] = standing diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index aa87217b..83f8b666 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1242,6 +1242,7 @@ var/mob/living/carbon/human/H = M if(H.lip_style) H.lip_style = null + H.nail_style = null H.update_body() for(var/obj/item/I in C.held_items) SEND_SIGNAL(I, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_WEAK) diff --git a/hyperstation/code/game/objects/items/cosmetics.dm b/hyperstation/code/game/objects/items/cosmetics.dm new file mode 100644 index 00000000..711707f1 --- /dev/null +++ b/hyperstation/code/game/objects/items/cosmetics.dm @@ -0,0 +1,75 @@ +//hyperstation 13 nail polish + +/obj/item/nailpolish + name = "nail polish" + desc = "Paint with a fine brush to do your nails, or someone elses." + icon = 'hyperstation/icons/obj/cosmetic.dmi' + icon_state = "nailcap" + item_state = "nailpolish" + w_class = WEIGHT_CLASS_SMALL + var/paint = "black" + price = 5 + var/mutable_appearance/bottle //show the colour on the bottle. + +/obj/item/nailpolish/red + name = "red nail polish" + paint = "red" + +/obj/item/nailpolish/blue + name = "blue nail polish" + paint = "blue" + +/obj/item/nailpolish/aqua + name = "cyan nail polish" + paint = "aqua" + +/obj/item/nailpolish/black + name = "black nail polish" + paint = "black" + +/obj/item/nailpolish/white + name = "white nail polish" + paint = "white" + +/obj/item/nailpolish/navy + name = "navy nail polish" + paint = "navy" + +/obj/item/nailpolish/yellow + name = "yellow nail polish" + paint = "yellow" + +/obj/item/nailpolish/purple + name = "purple nail polish" + paint = "purple" + +/obj/item/nailpolish/Initialize() + . = ..() + bottle = mutable_appearance('hyperstation/icons/obj/cosmetic.dmi', "nailpolish") + bottle.color = paint + add_overlay(bottle) + + +/obj/item/nailpolish/attack(mob/M, mob/user) + if(!ismob(M)) + return + + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H == user) + user.visible_message("[user] does [user.p_their()] nails with \the [src].", \ + "You take a moment to apply \the [src]. Perfect!") + H.nail_style = "nails" + H.nail_color = paint + H.update_body() + else + user.visible_message("[user] begins to do [H]'s nails with \the [src].", \ + "You begin to apply \the [src] on [H]'s nails...") + if(do_after(user, 20, target = H)) + user.visible_message("[user] does [H]'s nails with \the [src].", \ + "You apply \the [src] on [H]'s nails.") + H.nail_style = "nails" + H.nail_color = paint + H.update_body() + else + to_chat(user, "Where are the nail on that?") \ No newline at end of file diff --git a/hyperstation/icons/mobs/nails.dmi b/hyperstation/icons/mobs/nails.dmi new file mode 100644 index 0000000000000000000000000000000000000000..575b51320051332b9652947c4ba5422be042ab2c GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0L3?#3!&-4XSoB=)|t_KbrSg>Hh|NsA2er%2g z3Nn@i`2{mLJiCzw=P@u;%n1%FC@TH_CAi?@*C$%ux?1PX zoDbd*YH-o`!6TjXKAI;Pih6o?SQrNxUpDqqnDc1Tkx3y6!J7Jp#>*o*yNy*huaH;* zq}OT~nu{JWdlD2@@U@sxnw!C5x|FIF^V+>YTdh1@978O6lM^IZRhY%t*w|B~gbNG| zOcXBjaPshIo%o_5ajrpdlAc7NDnA>W+Keu?6%8ytX&I{g45!#wlsZB>G=Zitc)I$z JtaD0e0syX(SjYeX literal 0 HcmV?d00001 diff --git a/hyperstation/icons/obj/cosmetic.dmi b/hyperstation/icons/obj/cosmetic.dmi new file mode 100644 index 0000000000000000000000000000000000000000..2c329e9c42a5df56763c328c6516a3a939784f10 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!VDw>HYaZfQqloFA+84w9MICz3JD2ORaLF8 zuV1%r-Sg+q|NsAg`t)g@FJf^(WsD_3e!&b5&u*jvIi*!05hX6E#mPmP1tppJc?=8{ zbArPPib}tK2`>2f^@*0ZuGYCT=Yuzd8eBAf@JQ#pkLF2+qMqIz7REuwmyNv?<~*8o zWKxJiu%^DDvAX3(ht6(e)y*p;G?Gpnof$S|#%!*{#VfQ=oIj~^?!eNJ$b(nUv%XXXhMI>Benm=g7Jy z^QojP-;SRl0S-HrIkgkszTh};TwP|8vK#}$^iq{@*QzLIplJ-Au6{1-oD!M