diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index fc7b0fce30..8760ea172f 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -200,7 +200,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) ///Should we be in the widescreen mode set by the config? var/widescreenpref = TRUE ///Strip menu style - var/long_strip_menu = FALSE + var/long_strip_menu = TRUE ///What size should pixels be displayed as? 0 is strech to fit var/pixel_size = 0 ///What scaling method should we use? @@ -1338,7 +1338,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "
" dat += "

Fetish content prefs

" dat += "Allow Lewd Verbs: [(toggles & VERB_CONSENT) ? "Yes":"No"]
" // Skyrat - ERP Mechanic Addition - dat += "Mute Lewd Verb Sounds: [(toggles & LEWD_VERB_SOUNDS) ? "Yes":"No"]
" // Sandstorm - ERP Mechanic Addition + dat += "Lewd Verb Sounds: [(toggles & LEWD_VERB_SOUNDS) ? "Yes":"No"]
" // Sandstorm - ERP Mechanic Addition dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" dat += "Genital examine text:[(cit_toggles & GENITAL_EXAMINE) ? "Enabled" : "Disabled"]
" dat += "Vore examine text:[(cit_toggles & VORE_EXAMINE) ? "Enabled" : "Disabled"]
" @@ -3281,7 +3281,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("verb_consent") // Skyrat - ERP Mechanic Addition toggles ^= VERB_CONSENT // Skyrat - ERP Mechanic Addition - if("mute_lewd_verb_sounds") // Skyrat - ERP Mechanic Addition + if("lewd_verb_sounds") // Skyrat - ERP Mechanic Addition toggles ^= LEWD_VERB_SOUNDS // Skyrat - ERP Mechanic Addition if("persistent_scars") diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 7b89a0e6eb..1e6b3613e4 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -5,7 +5,7 @@ // You do not need to raise this if you are adding new values that have sane defaults. // Only raise this value when changing the meaning/format/name/layout of an existing value // where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 59 +#define SAVEFILE_VERSION_MAX 59.1 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn diff --git a/modular_sand/code/datums/components/interaction_menu_granter.dm b/modular_sand/code/datums/components/interaction_menu_granter.dm index 8a1d4d964b..82457c851b 100644 --- a/modular_sand/code/datums/components/interaction_menu_granter.dm +++ b/modular_sand/code/datums/components/interaction_menu_granter.dm @@ -401,7 +401,7 @@ //Getting preferences .["verb_consent"] = !!CHECK_BITFIELD(prefs.toggles, VERB_CONSENT) - .["lewd_verb_sounds"] = !CHECK_BITFIELD(prefs.toggles, LEWD_VERB_SOUNDS) + .["lewd_verb_sounds"] = !!CHECK_BITFIELD(prefs.toggles, LEWD_VERB_SOUNDS) .["arousable"] = prefs.arousable .["genital_examine"] = !!CHECK_BITFIELD(prefs.cit_toggles, GENITAL_EXAMINE) .["vore_examine"] = !!CHECK_BITFIELD(prefs.cit_toggles, VORE_EXAMINE) diff --git a/modular_sand/code/datums/interactions/lewd_definitions.dm b/modular_sand/code/datums/interactions/lewd_definitions.dm index 101d8b1f3a..eb3ed3feae 100644 --- a/modular_sand/code/datums/interactions/lewd_definitions.dm +++ b/modular_sand/code/datums/interactions/lewd_definitions.dm @@ -8,7 +8,7 @@ /proc/playlewdinteractionsound(turf/turf_source, soundin, vol as num, vary, extrarange as num, frequency, falloff, channel = 0, pressure_affected = TRUE, sound/S, envwet = -10000, envdry = 0, manual_x, manual_y, list/ignored_mobs) var/list/hearing_mobs for(var/mob/H in get_hearers_in_view(4, turf_source)) - if(!H.client || (H.client.prefs.toggles & LEWD_VERB_SOUNDS)) + if(!H.client || !(H.client.prefs.toggles & LEWD_VERB_SOUNDS)) continue LAZYADD(hearing_mobs, H) if(ignored_mobs?.len) diff --git a/modular_sand/code/modules/client/preferences_savefile.dm b/modular_sand/code/modules/client/preferences_savefile.dm index 2f123464f7..d89f7df70a 100644 --- a/modular_sand/code/modules/client/preferences_savefile.dm +++ b/modular_sand/code/modules/client/preferences_savefile.dm @@ -16,6 +16,13 @@ if(CHECK_BITFIELD(toggles, SOUND_BARK)) DISABLE_BITFIELD(toggles, SOUND_BARK) ENABLE_BITFIELD(toggles, VERB_CONSENT) + + if(current_version < 59.1) + // Just invert it, now it's a switch to see if you want it on, rather than off. + TOGGLE_BITFIELD(toggles, LEWD_VERB_SOUNDS) + + // It may not be a default on cit, but this is meant to be default here at least. + long_strip_menu = TRUE . = ..() /datum/preferences/save_preferences(bypass_cooldown, silent) diff --git a/modular_sand/code/modules/client/preferences_toggles.dm b/modular_sand/code/modules/client/preferences_toggles.dm new file mode 100644 index 0000000000..dfcceab6f9 --- /dev/null +++ b/modular_sand/code/modules/client/preferences_toggles.dm @@ -0,0 +1,13 @@ +TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggle_lewd_sounds)() + set name = "Hear/Silence Lewd Verb Sounds" + set category = "Preferences" + set desc = "Hear Lewd Verb Sounds From Interactions" + usr.client.prefs.toggles ^= LEWD_VERB_SOUNDS + usr.client.prefs.save_preferences() + if(usr.client.prefs.toggles & LEWD_VERB_SOUNDS) + to_chat(usr, "You will now hear lewd verb sounds.") + else + to_chat(usr, "You will no longer hear lewd verb sounds") + SSblackbox.record_feedback("nested tally", "preferences_verb", 1, list("Toggle Hearing Lewd Verb Sounds", "[usr.client.prefs.toggles & LEWD_VERB_SOUNDS ? "Enabled" : "Disabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/verbs/menu/Settings/Sound/toggle_lewd_sounds/Get_checked(client/C) + return C.prefs.toggles & LEWD_VERB_SOUNDS diff --git a/tgstation.dme b/tgstation.dme index e52664207d..c3afe0b848 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4187,6 +4187,7 @@ #include "modular_sand\code\modules\client\client_procs.dm" #include "modular_sand\code\modules\client\preferences.dm" #include "modular_sand\code\modules\client\preferences_savefile.dm" +#include "modular_sand\code\modules\client\preferences_toggles.dm" #include "modular_sand\code\modules\client\loadout\_security.dm" #include "modular_sand\code\modules\client\loadout\accessories.dm" #include "modular_sand\code\modules\client\loadout\backpack.dm"