mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
[MIRROR] Allows you to choose between three lipstick styles [MDB IGNORE] (#24275)
* Allows you to choose between three lipstick styles (#78750) ## About The Pull Request Somehow the lipstick sprite got messed up and was a pixel lower than it should have been, ending up on the chin instead of the lips. Edit: I just found https://github.com/tgstation/tgstation/pull/55281 in the history and now I'm not sure anymore... I've instead opted into making three different lipstick styles with a radial to select which one you want to put on your face. You can change styles via alt click. This way if you want to have it lower like Queen Amidala you can, or higher if you're like me and think that looks better.   <details><summary>Lower (Aka how is is in the current build)</summary>  </details> <details><summary>Upper (All pixels shifted up one)</summary>  </details> <details><summary>Middle (The new default- pixels shifted up one for the profile sprites)</summary>  </details> ## Why It's Good For The Game More character customization options ## Changelog 🆑 image: you can now change the style of lipstick to be higher or lower on the face by alt-clicking the lipstick tube /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com> * Allows you to choose between three lipstick styles --------- Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com>
This commit is contained in:
co-authored by
MrMelbert
san7890
Bloop
parent
9fd2876439
commit
a15b5fe935
@@ -1,3 +1,7 @@
|
||||
#define UPPER_LIP "Upper"
|
||||
#define MIDDLE_LIP "Middle"
|
||||
#define LOWER_LIP "Lower"
|
||||
|
||||
/obj/item/lipstick
|
||||
gender = PLURAL
|
||||
name = "red lipstick"
|
||||
@@ -9,6 +13,8 @@
|
||||
var/open = FALSE
|
||||
/// Actual color of the lipstick, also gets applied to the human
|
||||
var/lipstick_color = COLOR_RED
|
||||
/// The style of lipstick. Upper, middle, or lower lip. Default is middle.
|
||||
var/style = "lipstick"
|
||||
/// A trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed
|
||||
var/lipstick_trait
|
||||
|
||||
@@ -22,6 +28,10 @@
|
||||
if(vname == NAMEOF(src, open))
|
||||
update_appearance(UPDATE_ICON)
|
||||
|
||||
/obj/item/lipstick/examine(mob/user)
|
||||
. = ..()
|
||||
. += "Alt-click to change the style."
|
||||
|
||||
/obj/item/lipstick/update_icon_state()
|
||||
icon_state = "lipstick[open ? "_uncap" : null]"
|
||||
inhand_icon_state = "lipstick[open ? "open" : null]"
|
||||
@@ -35,6 +45,42 @@
|
||||
colored_overlay.color = lipstick_color
|
||||
. += colored_overlay
|
||||
|
||||
/obj/item/lipstick/AltClick(mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
return TRUE
|
||||
|
||||
if(!user.can_perform_action(src, NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING))
|
||||
return FALSE
|
||||
|
||||
return display_radial_menu(user)
|
||||
|
||||
/obj/item/lipstick/proc/display_radial_menu(mob/living/carbon/human/user)
|
||||
var/style_options = list(
|
||||
UPPER_LIP = icon('icons/hud/radial.dmi', UPPER_LIP),
|
||||
MIDDLE_LIP = icon('icons/hud/radial.dmi', MIDDLE_LIP),
|
||||
LOWER_LIP = icon('icons/hud/radial.dmi', LOWER_LIP),
|
||||
)
|
||||
var/pick = show_radial_menu(user, src, style_options, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 36, require_near = TRUE)
|
||||
if(!pick)
|
||||
return TRUE
|
||||
|
||||
switch(pick)
|
||||
if(MIDDLE_LIP)
|
||||
style = "lipstick"
|
||||
if(LOWER_LIP)
|
||||
style = "lipstick_lower"
|
||||
if(UPPER_LIP)
|
||||
style = "lipstick_upper"
|
||||
return TRUE
|
||||
|
||||
/obj/item/lipstick/proc/check_menu(mob/living/user)
|
||||
if(!istype(user))
|
||||
return FALSE
|
||||
if(user.incapacitated() || !user.is_holding(src))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/item/lipstick/purple
|
||||
name = "purple lipstick"
|
||||
lipstick_color = COLOR_PURPLE
|
||||
@@ -106,7 +152,7 @@
|
||||
if(target == user)
|
||||
user.visible_message(span_notice("[user] does [user.p_their()] lips with \the [src]."), \
|
||||
span_notice("You take a moment to apply \the [src]. Perfect!"))
|
||||
target.update_lips("lipstick", lipstick_color, lipstick_trait)
|
||||
target.update_lips(style, lipstick_color, lipstick_trait)
|
||||
return
|
||||
|
||||
user.visible_message(span_warning("[user] begins to do [target]'s lips with \the [src]."), \
|
||||
@@ -115,7 +161,7 @@
|
||||
return
|
||||
user.visible_message(span_notice("[user] does [target]'s lips with \the [src]."), \
|
||||
span_notice("You apply \the [src] on [target]'s lips."))
|
||||
target.update_lips("lipstick", lipstick_color, lipstick_trait)
|
||||
target.update_lips(style, lipstick_color, lipstick_trait)
|
||||
|
||||
//you can wipe off lipstick with paper!
|
||||
/obj/item/paper/attack(mob/M, mob/user)
|
||||
@@ -285,3 +331,7 @@
|
||||
|
||||
/obj/item/razor/surgery/get_surgery_tool_overlay(tray_extended)
|
||||
return "razor"
|
||||
|
||||
#undef UPPER_LIP
|
||||
#undef MIDDLE_LIP
|
||||
#undef LOWER_LIP
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 100 KiB |
Reference in New Issue
Block a user