From f59ece06490006eef8b4c7d2f7d924ea186495f2 Mon Sep 17 00:00:00 2001 From: sunny <102998393+sunnyariess@users.noreply.github.com> Date: Wed, 26 Nov 2025 21:04:24 +0100 Subject: [PATCH] Adds "All" option to the "Expose/Hide genitals" verb (#4832) ## About The Pull Request Title. image ## Why It's Good For The Game It's annoying to have to click several times to hide or show multiple genitalia at once. ## Proof Of Testing Compiles without errors. Tested with all genitals, and without any.
Screenshots/Videos
--------- Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com> --- .../customization/modules/surgery/organs/genitals.dm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm b/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm index 3dbb29b1357..2220cff5dc2 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm @@ -524,16 +524,16 @@ to_chat(usr, span_warning("You can't toggle genitals visibility right now...")) return - var/list/genital_list = list() + var/list/genital_list = list("all") for(var/obj/item/organ/genital/genital in organs) if(!genital.visibility_preference == GENITAL_SKIP_VISIBILITY) genital_list += genital - if(!genital_list.len) //There is nothing to expose + if(genital_list.len == 1) //There is nothing to expose return //Full list of exposable genitals created var/obj/item/organ/genital/picked_organ picked_organ = input(src, "Choose which genitalia to expose/hide", "Expose/Hide genitals") as null|anything in genital_list - if(picked_organ && (picked_organ in organs)) + if(picked_organ && ((picked_organ in organs) || picked_organ == "all")) var/list/gen_vis_trans = list("Never show" = GENITAL_NEVER_SHOW, "Hidden by clothes" = GENITAL_HIDDEN_BY_CLOTHES, "Always show" = GENITAL_ALWAYS_SHOW @@ -543,6 +543,12 @@ picked_organ.visibility_preference = gen_vis_trans[picked_visibility] update_body() SEND_SIGNAL(src, COMSIG_HUMAN_TOGGLE_GENITALS) + if(picked_visibility && picked_organ == "all") + for(var/obj/item/organ/genital/genital in organs) + if(!genital.visibility_preference == GENITAL_SKIP_VISIBILITY) + genital.visibility_preference = gen_vis_trans[picked_visibility] + update_body() + SEND_SIGNAL(src, COMSIG_HUMAN_TOGGLE_GENITALS) return //Removing ERP IC verb depending on config