diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 71387fdfe6b6..03a46dc76183 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -253,6 +253,7 @@
"vag_accessible" = FALSE,
"butt_accessible" = FALSE,
"anus_accessible" = FALSE,
+ "belly_accessible" = FALSE,
"ipc_screen" = snowflake_ipc_antenna_list ? pick(snowflake_ipc_antenna_list) : "None",
"ipc_antenna" = "None",
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index d9cf31d3e6a6..1102dd2674da 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -233,6 +233,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"vag_accessible" = FALSE,
"butt_accessible" = FALSE,
"anus_accessible" = FALSE,
+"belly_accessible" = FALSE,
"cock_stuffing" = FALSE,
"balls_stuffing" = FALSE,
"vag_stuffing" = FALSE,
@@ -995,6 +996,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "Min Size:[features["belly_min_size"] ? features["belly_min_size"] : "Disabled" ]"
dat += "Belly Visibility:[features["belly_visibility"]]"
dat += "Egg Stuffing:[features["belly_stuffing"] == TRUE ? "Yes" : "No"]"
+ dat += "Belly Always Accessible:[features["belly_accessible"] ? "Yes" : "No"]"
dat += ""
if(all_quirks.Find("Dullahan"))
dat += APPEARANCE_CATEGORY_COLUMN
@@ -3452,6 +3454,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["butt_accessible"] = !features["butt_accessible"]
if("anus_accessible")
features["anus_accessible"] = !features["anus_accessible"]
+ if("belly_accessible")
+ features["belly_accessible"] = !features["belly_accessible"]
if("widescreenpref")
widescreenpref = !widescreenpref
user.client.view_size.setDefault(getScreenSize(widescreenpref))
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 085668ae9352..b72e43101eea 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -842,6 +842,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
"vag_accessible" = FALSE,
"butt_accessible" = FALSE,
"anus_accessible" = FALSE,
+"belly_accessible" = FALSE,
"inert_eggs" = FALSE,
"ipc_screen" = "Sunburst",
"ipc_antenna" = "None",
@@ -1042,6 +1043,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_belly_size"] >> features["belly_size"]
S["feature_belly_color"] >> features["belly_color"]
S["feature_belly_visibility"] >> features["belly_visibility"]
+ S["feature_belly_accessible"] >> features["belly_accessible"]
//anus features
S["feature_has_anus"] >> features["has_anus"]
S["feature_anus_color"] >> features["anus_color"]
@@ -1456,6 +1458,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["feature_belly_size"], features["belly_size"])
WRITE_FILE(S["feature_belly_visibility"], features["belly_visibility"])
WRITE_FILE(S["feature_belly_stuffing"], features["belly_stuffing"])
+ WRITE_FILE(S["feature_belly_accessible"], features["belly_accessible"])
WRITE_FILE(S["feature_has_anus"], features["has_anus"])
WRITE_FILE(S["feature_anus_color"], features["anus_color"])
diff --git a/modular_splurt/code/controllers/configuration/entries/splurt_autocryo.dm b/modular_splurt/code/controllers/configuration/entries/splurt_autocryo.dm
index 63cd6dfc4b06..767f913e4ce7 100644
--- a/modular_splurt/code/controllers/configuration/entries/splurt_autocryo.dm
+++ b/modular_splurt/code/controllers/configuration/entries/splurt_autocryo.dm
@@ -1,6 +1,6 @@
// Time before sending the user to cryo
/datum/config_entry/number/autocryo_time_trigger
- config_entry_value = 24000
+ default = 24000
min_val = 600
integer = TRUE
@@ -9,7 +9,7 @@
// Time before deleting a disconnected ghost
/datum/config_entry/number/ghost_check_time
- config_entry_value = 10 MINUTES
+ default = 10 MINUTES
min_val = 600
integer = TRUE
diff --git a/modular_splurt/code/controllers/configuration/entries/splurt_discord.dm b/modular_splurt/code/controllers/configuration/entries/splurt_discord.dm
index 5c1750a56025..118d228a0ece 100644
--- a/modular_splurt/code/controllers/configuration/entries/splurt_discord.dm
+++ b/modular_splurt/code/controllers/configuration/entries/splurt_discord.dm
@@ -1,13 +1,13 @@
/datum/config_entry/string/discordbotcommandprefix
- config_entry_value = "?"
+ default = "?"
/datum/config_entry/string/chat_new_game_notifications
- config_entry_value = null
+ default = null
/datum/config_entry/string/verification_channel
/datum/config_entry/string/verification_command
- config_entry_value = "verify"
+ default = "verify"
/datum/config_entry/flag/forced_discord_stay
diff --git a/modular_splurt/code/controllers/configuration/entries/splurt_fetish_content.dm b/modular_splurt/code/controllers/configuration/entries/splurt_fetish_content.dm
index dc00d555b33c..9016bc68d972 100644
--- a/modular_splurt/code/controllers/configuration/entries/splurt_fetish_content.dm
+++ b/modular_splurt/code/controllers/configuration/entries/splurt_fetish_content.dm
@@ -1,30 +1,30 @@
/datum/config_entry/number/belly_min_size_prefs
- config_entry_value = BELLY_SIZE_MIN
+ default = BELLY_SIZE_MIN
min_val = BELLY_SIZE_MIN
max_val = BELLY_SIZE_MAX
/datum/config_entry/number/belly_max_size_prefs
- config_entry_value = BELLY_SIZE_MAX
+ default = BELLY_SIZE_MAX
min_val = BELLY_SIZE_MIN
max_val = BELLY_SIZE_MAX
/datum/config_entry/number/diameter_ratio_min_size_prefs
- config_entry_value = COCK_DIAMETER_RATIO_MIN
+ default = COCK_DIAMETER_RATIO_MIN
/datum/config_entry/number/diameter_ratio_max_size_prefs
- config_entry_value = COCK_DIAMETER_RATIO_MAX
+ default = COCK_DIAMETER_RATIO_MAX
/datum/config_entry/number/max_pick_ratio //Maximum ratio between pick target/picker user
- config_entry_value = 0.5
+ default = 0.5
min_val = 0
integer = FALSE
/datum/config_entry/number/sex_table_multiplier
- config_entry_value = 50
+ default = 50
min_val = 0
/datum/config_entry/flag/old_size_penalties
/datum/config_entry/number/macro_health_cap
- config_entry_value = 3.5 //21 ft
+ default = 3.5 //21 ft
integer = FALSE
diff --git a/modular_splurt/code/controllers/configuration/entries/splurt_general.dm b/modular_splurt/code/controllers/configuration/entries/splurt_general.dm
index 78aa7ba0cebd..262e0df6123b 100644
--- a/modular_splurt/code/controllers/configuration/entries/splurt_general.dm
+++ b/modular_splurt/code/controllers/configuration/entries/splurt_general.dm
@@ -1,12 +1,12 @@
/datum/config_entry/flag/enable_global_barks
/datum/config_entry/number/max_infinidorms
- config_entry_value = 5
+ default = 5
/datum/config_entry/flag/weighted_station_traits
/datum/config_entry/number/base_save_slots
- config_entry_value = DEFAULT_SAVE_SLOTS
+ default = DEFAULT_SAVE_SLOTS
/datum/config_entry/flag/sm_delamination
@@ -15,4 +15,4 @@
/datum/config_entry/flag/character_color_limits
/datum/config_entry/number/max_jukebox_songs
- config_entry_value = -1
+ default = -1
diff --git a/modular_splurt/code/controllers/configuration/entries/splurt_server.dm b/modular_splurt/code/controllers/configuration/entries/splurt_server.dm
index 810881a93eac..f4dd4af4f8ca 100644
--- a/modular_splurt/code/controllers/configuration/entries/splurt_server.dm
+++ b/modular_splurt/code/controllers/configuration/entries/splurt_server.dm
@@ -1,13 +1,13 @@
/datum/config_entry/number/min_continue_votes
- config_entry_value = 1
+ default = 1
min_val = 1
/datum/config_entry/number/upload_limit
protection = CONFIG_ENTRY_LOCKED
integer = FALSE
- config_entry_value = UPLOAD_LIMIT
+ default = UPLOAD_LIMIT
/datum/config_entry/number/upload_limit_admin
protection = CONFIG_ENTRY_LOCKED
integer = FALSE
- config_entry_value = UPLOAD_LIMIT_ADMIN
+ default = UPLOAD_LIMIT_ADMIN
diff --git a/modular_splurt/code/datums/interactions/lewd/_lewd.dm b/modular_splurt/code/datums/interactions/lewd/_lewd.dm
index 53f2fdb12029..52160d03d089 100644
--- a/modular_splurt/code/datums/interactions/lewd/_lewd.dm
+++ b/modular_splurt/code/datums/interactions/lewd/_lewd.dm
@@ -14,6 +14,12 @@
. = ..()
SEND_SIGNAL(src, COMSIG_MOB_LUST_UPDATED)
+/mob/living/toggle_anus_always_accessible(accessibility)
+ var/obj/item/organ/genital/anus/donut = getorganslot(ORGAN_SLOT_ANUS)
+ if(donut)
+ return donut.toggle_accessibility(accessibility)
+ . = ..()
+
/mob/living/moan()
var/moaned = lastmoan
var/miming = mind ? mind?.miming : FALSE
diff --git a/modular_splurt/code/modules/arousal/organs/anus.dm b/modular_splurt/code/modules/arousal/organs/anus.dm
index 08a5e1276dab..b3fe7b6068db 100644
--- a/modular_splurt/code/modules/arousal/organs/anus.dm
+++ b/modular_splurt/code/modules/arousal/organs/anus.dm
@@ -49,6 +49,8 @@
toggle_visibility(D.features["anus_visibility"], FALSE)
if(D.features["anus_stuffing"])
toggle_visibility(GEN_ALLOW_EGG_STUFFING, FALSE)
+ if(D.features["anus_accessible"])
+ toggle_accessibility(TRUE)
. = ..()
/obj/item/organ/genital/anus/toggle_visibility(visibility, update = TRUE)
diff --git a/modular_splurt/code/modules/arousal/organs/belly.dm b/modular_splurt/code/modules/arousal/organs/belly.dm
index 86b7be19566c..91b482322cdd 100644
--- a/modular_splurt/code/modules/arousal/organs/belly.dm
+++ b/modular_splurt/code/modules/arousal/organs/belly.dm
@@ -105,6 +105,8 @@
toggle_visibility(D.features["belly_visibility"], FALSE)
if(D.features["belly_stuffing"])
toggle_visibility(GEN_ALLOW_EGG_STUFFING, FALSE)
+ if(D.features["belly_accessible"])
+ toggle_accessibility(TRUE)
/obj/item/organ/genital/belly/climax_modify_size(mob/living/partner, obj/item/organ/genital/source_gen, cum_hole)
if(!(owner.client?.prefs.cit_toggles & BELLY_INFLATION))