diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index eb44679a..afa9be57 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -187,6 +187,7 @@
"has_sheath" = FALSE,
"sheath_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"has_belly" = FALSE,
+ "hide_belly" = FALSE,
"belly_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"has_balls" = FALSE,
"balls_internal" = FALSE,
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index a9a73b32..f5d1db1a 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -96,7 +96,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
//H13
var/body_size = 100 //Body Size in percent
- var/can_get_preg = 0 //Body Size in percent
+ var/can_get_preg = 0 //if they can get preggers
+
var/datum/species/pref_species = new /datum/species/human() //Mutant race
var/list/features = list("mcolor" = "FFF",
@@ -135,6 +136,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"has_sheath" = FALSE,
"sheath_color" = "fff",
"has_belly" = FALSE,
+ "hide_belly" = FALSE,
"belly_color" = "fff",
"has_balls" = FALSE,
"balls_internal" = FALSE,
@@ -903,7 +905,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
dat += "Color:
"
dat += " Change
"
-
+ dat += "Hide on Round-Start:[features["hide_belly"] == 1 ? "Yes" : "No"]"
dat += ""
dat += ""
@@ -2401,6 +2403,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["has_balls"] = FALSE
if("has_belly")
features["has_belly"] = !features["has_belly"]
+ if(features["has_belly"] == FALSE)
+ features["hide_belly"] = FALSE
+ if("hide_belly")
+ features["hide_belly"] = !features["hide_belly"]
if("has_balls")
features["has_balls"] = !features["has_balls"]
if("has_ovi")
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index bea01129..d2548164 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -159,7 +159,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
clientfps = sanitize_integer(clientfps, 0, 1000, 0)
if (clientfps == 0) clientfps = world.fps*2
body_size = sanitize_integer(body_size, 90, 110, 0)
- can_get_preg = sanitize_integer(body_size, 0, 1, 0)
+ can_get_preg = sanitize_integer(can_get_preg, 0, 1, 0)
parallax = sanitize_integer(parallax, PARALLAX_INSANE, PARALLAX_DISABLE, null)
ambientocclusion = sanitize_integer(ambientocclusion, 0, 1, initial(ambientocclusion))
auto_fit_viewport = sanitize_integer(auto_fit_viewport, 0, 1, initial(auto_fit_viewport))
@@ -414,6 +414,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//balls features
S["feature_has_belly"] >> features["has_belly"]
S["feature_belly_color"] >> features["belly_color"]
+ S["feature_hide_belly"] >> features["hide_belly"]
+
//flavor text
//Let's make our players NOT cry desperately as we wipe their savefiles of their special snowflake texts:
if((S["flavor_text"] != "") && (S["flavor_text"] != null) && S["flavor_text"]) //If old text isn't null and isn't "" but still exists.
diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm
index 75f74e1d..644c93a5 100644
--- a/code/modules/mob/dead/new_player/new_player.dm
+++ b/code/modules/mob/dead/new_player/new_player.dm
@@ -589,12 +589,9 @@
H.name = real_name
//h13 assign your characters custom height.
if (H.custom_body_size) //Do they have it set?
- //H.size_multiplier = (max(min( round((H.custom_body_size)), MAX_BODYSIZE),MIN_BODYSIZE)* 0.01) //Old method
H.resize(H.custom_body_size * 0.01)
- //h13 give your starting impregchance (30%)
if (H.breedable == TRUE)
H.impregchance = 30
-
. = H
new_character = .
if(transfer_after)
diff --git a/modular_citadel/code/modules/arousal/organs/genitals.dm b/modular_citadel/code/modules/arousal/organs/genitals.dm
index ffb64189..6633f156 100644
--- a/modular_citadel/code/modules/arousal/organs/genitals.dm
+++ b/modular_citadel/code/modules/arousal/organs/genitals.dm
@@ -231,6 +231,11 @@
B.color = "#[dna.features["belly_color"]]"
B.update()
+ if(dna.features["hide_belly"]) //autohide bellies if they have the option ticked.
+ B.toggle_visibility("Always hidden")
+
+
+
/mob/living/carbon/human/proc/give_breasts()
if(!dna)
return FALSE
diff --git a/modular_citadel/code/modules/client/preferences_savefile.dm b/modular_citadel/code/modules/client/preferences_savefile.dm
index b4bd4ec1..f7f8e189 100644
--- a/modular_citadel/code/modules/client/preferences_savefile.dm
+++ b/modular_citadel/code/modules/client/preferences_savefile.dm
@@ -89,6 +89,7 @@
//belly
WRITE_FILE(S["feature_has_belly"], features["has_belly"])
WRITE_FILE(S["feature_belly_color"], features["belly_color"])
+ WRITE_FILE(S["feature_hide_belly"], features["hide_belly"])
//gear loadout
if(islist(chosen_gear))