diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index c769ddeb3c..ff5511dad6 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1433,6 +1433,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "Aphrodisiacs: [(cit_toggles & NO_APHRO) ? "Disallowed" : "Allowed"]
"
dat += "Ass Slapping: [(cit_toggles & NO_ASS_SLAP) ? "Disallowed" : "Allowed"]
"
//SPLURT EDIT
+ dat += "Chastity Interactions : [chastitypref ? "Allowed" : "Disallowed"]
"
dat += "? "
dat += "Unholy ERP verbs : [unholypref]
" //https://www.youtube.com/watch?v=OHKARc-GObU
//END OF SPLURT EDIT
@@ -3732,6 +3733,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
to_chat(usr, span_notice("Keep in mind that the photo will be downsized to 250x250 pixels, so the more square the photo, the better it will look."))
features["headshot_link"] = usr_input
+ if("chastitypref")
+ chastitypref = !chastitypref
+ //
+
if(href_list["preference"] == "gear")
if(href_list["clear_loadout"])
loadout_data["SAVE_[loadout_slot]"] = list()
diff --git a/modular_citadel/code/modules/client/preferences_savefile.dm b/modular_citadel/code/modules/client/preferences_savefile.dm
index af527a50e5..0b468178b7 100644
--- a/modular_citadel/code/modules/client/preferences_savefile.dm
+++ b/modular_citadel/code/modules/client/preferences_savefile.dm
@@ -19,6 +19,7 @@
S["personal_chat_color"] >> personal_chat_color
S["lust_tolerance"] >> lust_tolerance
S["sexual_potency"] >> sexual_potency
+ S["chastity_pref"] >> chastitypref // SPLURT edit
S["alt_titles_preferences"] >> alt_titles_preferences
alt_titles_preferences = SANITIZE_LIST(alt_titles_preferences)
@@ -68,6 +69,7 @@
WRITE_FILE(S["erp_pref"], erppref)
WRITE_FILE(S["noncon_pref"], nonconpref)
WRITE_FILE(S["vore_pref"], vorepref)
+ WRITE_FILE(S["chastity_pref"], chastitypref) // SPLURT edit
WRITE_FILE(S["unholypref"], unholypref)
WRITE_FILE(S["extreme_pref"], extremepref)
WRITE_FILE(S["extreme_harm"], extremeharm)
diff --git a/modular_sand/code/datums/interactions/interaction_interface.dm b/modular_sand/code/datums/interactions/interaction_interface.dm
index baabd6ff1d..dc97250f01 100644
--- a/modular_sand/code/datums/interactions/interaction_interface.dm
+++ b/modular_sand/code/datums/interactions/interaction_interface.dm
@@ -217,6 +217,7 @@
.["no_aphro"] = !CHECK_BITFIELD(prefs.cit_toggles, NO_APHRO)
.["no_ass_slap"] = !CHECK_BITFIELD(prefs.cit_toggles, NO_ASS_SLAP)
.["no_auto_wag"] = !CHECK_BITFIELD(prefs.cit_toggles, NO_AUTO_WAG)
+ .["chastity_pref"] = prefs.chastitypref
/proc/num_to_pref(num)
switch(num)
@@ -400,6 +401,10 @@
TOGGLE_BITFIELD(prefs.cit_toggles, NO_ASS_SLAP)
if("no_auto_wag")
TOGGLE_BITFIELD(prefs.cit_toggles, NO_AUTO_WAG)
+ // SPLURT edit
+ if("chastity_pref")
+ prefs.chastitypref = !prefs.chastitypref
+ //
else
return FALSE
prefs.save_preferences()
diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm
index f4f0e4b240..b53bdd3b2d 100644
--- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm
+++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_belt.dm
@@ -18,10 +18,10 @@
if(!CHECK_BITFIELD(slot, ITEM_SLOT_UNDERWEAR) || !ishuman(user) || !ishuman(usr))
return
- if(!(user.client?.prefs?.erppref == "Yes"))
+ if(!user.client?.prefs?.chastitypref)
to_chat(user, span_warning("They don't want you to do that!"))
return
-
+
var/mob/holder = usr
owner = user
diff --git a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm
index 62ba1aed4f..161f3924b6 100644
--- a/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm
+++ b/modular_splurt/code/game/objects/items/lewd_items/genital_equipment/chastity/chastity_cage.dm
@@ -51,7 +51,7 @@
if(!istype(target_organ, /obj/item/organ/genital/penis))
return ..()
- if(!(target.client?.prefs?.erppref == "Yes"))
+ if(!target.client?.prefs?.chastitypref)
to_chat(user, span_warning("They don't want you to do that!"))
return
diff --git a/modular_splurt/code/modules/client/preferences.dm b/modular_splurt/code/modules/client/preferences.dm
index 683afd00cf..8540e94ac2 100644
--- a/modular_splurt/code/modules/client/preferences.dm
+++ b/modular_splurt/code/modules/client/preferences.dm
@@ -1,5 +1,6 @@
/datum/preferences
var/unholypref = "No" //Goin 2 hell fo dis one
+ var/chastitypref = FALSE
var/list/gfluid_blacklist = list() //Stuff you don't want people to cum into you
diff --git a/tgui/packages/tgui/interfaces/MobInteraction.tsx b/tgui/packages/tgui/interfaces/MobInteraction.tsx
index 3aba47c5fc..e33aa1dc68 100644
--- a/tgui/packages/tgui/interfaces/MobInteraction.tsx
+++ b/tgui/packages/tgui/interfaces/MobInteraction.tsx
@@ -89,6 +89,7 @@ type ContentPrefsInfo = {
no_aphro: boolean,
no_ass_slap: boolean,
no_auto_wag: boolean,
+ chastity_pref: boolean,
}
export const MobInteraction = (props, context) => {
@@ -574,6 +575,7 @@ const ContentPreferencesTab = (props, context) => {
no_aphro,
no_ass_slap,
no_auto_wag,
+ chastity_pref
} = data;
return (