From e555f0ea9143d8b83b70fdf4271eeaffb950fd25 Mon Sep 17 00:00:00 2001
From: sarcoph <83266791+sarcoph@users.noreply.github.com>
Date: Thu, 5 May 2022 03:19:23 -0800
Subject: [PATCH] standardize genital visibility
---
code/__DEFINES/hyper_arousal.dm | 7 ++++++-
.../code/modules/arousal/arousalhud.dm | 10 +++++++++-
.../code/modules/arousal/arousal.dm | 19 +++++--------------
.../code/modules/arousal/organs/genitals.dm | 7 +++----
4 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/code/__DEFINES/hyper_arousal.dm b/code/__DEFINES/hyper_arousal.dm
index 6b16fba9b..438a97898 100644
--- a/code/__DEFINES/hyper_arousal.dm
+++ b/code/__DEFINES/hyper_arousal.dm
@@ -6,4 +6,9 @@
#define BUTT_MIN_SIZE 0
#define BUTT_MAX_SIZE_SELECTABLE 5
-#define BUTT_MAX_SIZE 8
\ No newline at end of file
+#define BUTT_MAX_SIZE 8
+
+
+#define GENITALS_HIDDEN "hidden"
+#define GENITALS_CLOTHES "clothes"
+#define GENITALS_VISIBLE "visible"
diff --git a/hyperstation/code/modules/arousal/arousalhud.dm b/hyperstation/code/modules/arousal/arousalhud.dm
index 375728cf5..757fd2330 100644
--- a/hyperstation/code/modules/arousal/arousalhud.dm
+++ b/hyperstation/code/modules/arousal/arousalhud.dm
@@ -11,7 +11,15 @@
for(var/obj/item/organ/genital/G in U.internal_organs)
if(!G.nochange)
if(!G.dontlist)
- dat += "[G.mode == "hidden" ? "[G.name] (Hidden)" : (G.mode == "clothes" ? "[G.name] (Hidden by Clothes)" : (G.mode == "visable" ? "[G.name] (Visible)" : "[G.name] (Visible)"))]
"
+ var/genital_visibility = "[G.name] (Visible)"
+ switch(G.mode)
+ if(GENITALS_HIDDEN)
+ genital_visibility = "[G.name] (Hidden)"
+ if(GENITALS_CLOTHES)
+ genital_visibility = "[G.name] (Hidden by Clothes)"
+ if(GENITALS_VISIBLE)
+ genital_visibility = "[G.name] (Visible)"
+ dat += "[genital_visibility]
"
dat += {"
Contexual Options
"}
var/obj/item/organ/genital/penis/P = user.getorganslot("penis")
diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm
index d465c1f61..e7f8b4f17 100644
--- a/modular_citadel/code/modules/arousal/arousal.dm
+++ b/modular_citadel/code/modules/arousal/arousal.dm
@@ -489,11 +489,9 @@
/mob/living/carbon/human/proc/pick_masturbate_genitals()
var/obj/item/organ/genital/ret_organ
var/list/genitals_list = list()
- var/list/worn_stuff = get_equipped_items()
-
for(var/obj/item/organ/genital/G in internal_organs)
if(G.can_masturbate_with) //filter out what you can't masturbate with
- if(G.is_exposed(worn_stuff)) //Nude or through_clothing
+ if(G.is_exposed()) //Nude or through_clothing
if(!G.dontlist)
genitals_list += G
if(genitals_list.len)
@@ -504,10 +502,8 @@
/mob/living/carbon/human/proc/target_genitals(mob/living/carbon/human/T) //used for targeting others
var/obj/item/organ/genital/ret_organ
var/list/genitals_list = list()
- var/list/worn_stuff = get_equipped_items()
-
for(var/obj/item/organ/genital/G in T.internal_organs)
- if(G.is_exposed(worn_stuff)) //Nude or through_clothing
+ if(G.is_exposed()) //Nude or through_clothing
if(!G.dontlist)
genitals_list += G
if(genitals_list.len)
@@ -518,13 +514,9 @@
/mob/living/carbon/human/proc/pick_climax_genitals()
var/obj/item/organ/genital/ret_organ
var/list/genitals_list = list()
- var/list/worn_stuff = get_equipped_items()
-
for(var/obj/item/organ/genital/G in internal_organs)
- if(G.can_climax) //filter out what you can't masturbate with
- if(G.is_exposed(worn_stuff)) //Nude or through_clothing
- if(!G.dontlist)
- genitals_list += G
+ if(G.can_climax && G.is_exposed() && !G.dontlist)
+ genitals_list += G
if(genitals_list.len)
ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list
return ret_organ
@@ -744,8 +736,7 @@
continue // no wombs or testicles
var/mob/living/carbon/partner
var/check_target
- var/list/worn_stuff = get_equipped_items()
- if(current_genital.is_exposed(worn_stuff))
+ if(current_genital.is_exposed())
if(src.pulling)
if(iscarbon(src.pulling))
check_target = src.pulling
diff --git a/modular_citadel/code/modules/arousal/organs/genitals.dm b/modular_citadel/code/modules/arousal/organs/genitals.dm
index bdf4d7856..9edea910a 100644
--- a/modular_citadel/code/modules/arousal/organs/genitals.dm
+++ b/modular_citadel/code/modules/arousal/organs/genitals.dm
@@ -78,22 +78,21 @@
if("Always visible")
through_clothes = TRUE
hidden = FALSE
- mode = "visible"
+ mode = GENITALS_VISIBLE
if(!(src in owner.exposed_genitals))
owner.exposed_genitals += src
if("Hidden by clothes")
through_clothes = FALSE
hidden = FALSE
- mode = "clothes"
+ mode = GENITALS_CLOTHES
if(src in owner.exposed_genitals)
owner.exposed_genitals -= src
if("Always hidden")
through_clothes = FALSE
hidden = TRUE
- mode = "hidden"
+ mode = GENITALS_HIDDEN
if(src in owner.exposed_genitals)
owner.exposed_genitals -= src
-
if(ishuman(owner)) //recast to use update genitals proc
var/mob/living/carbon/human/H = owner
H.update_genitals()