diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 2dc9e2f934f7..50851bd89bc9 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -313,7 +313,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? @@ -1592,7 +1592,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"]
" @@ -3844,7 +3844,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 da4d1c9a86dc..7c238c83999a 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/html/changelogs/archive/2024-07.yml b/html/changelogs/archive/2024-07.yml index 9d04268cdce3..2f225c29e931 100644 --- a/html/changelogs/archive/2024-07.yml +++ b/html/changelogs/archive/2024-07.yml @@ -17,6 +17,17 @@ SandPoot: - rscadd: Added favorite interactions to the interaction menu, those persist between rounds and between characters. +2024-07-21: + SandPoot: + - tweak: The healthdoll was made more responsive, for example, it will show screentips + correctly. 2024-07-22: Fabian272: - tweak: Fixed digilegs on polychromic workout shorts. +2024-07-24: + SandPoot: + - rscadd: Top-left menu now has lewd sounds toggle. + - tweak: The preference for lewd sounds is now about activating them, not muting. + (your preferences have been automatically flipped to account for this) + - tweak: Long strip menu is meant to be default on for sandstorm, and so it has + been set so. diff --git a/modular_sand/code/_onclick/hud/screen_objects.dm b/modular_sand/code/_onclick/hud/screen_objects.dm index 1a463f058066..62040916c5e5 100644 --- a/modular_sand/code/_onclick/hud/screen_objects.dm +++ b/modular_sand/code/_onclick/hud/screen_objects.dm @@ -13,9 +13,38 @@ screen_loc = ui_hunger_thirst /atom/movable/screen/healthdoll/Click(location, control, params) - var/mob/living/L = usr - usr.Click(L, control, params) - return FALSE //The health doll doesn't really do anything on it's own, change this if you need to + if(hud?.mymob) + return hud.mymob.Click(arglist(args)) + +/atom/movable/screen/healthdoll/examine(mob/user) + if(hud?.mymob) + return hud.mymob.examine(arglist(args)) + +/atom/movable/screen/healthdoll/examine_more(mob/user) + if(hud?.mymob) + return hud.mymob.examine_more(arglist(args)) + +/atom/movable/screen/healthdoll/MouseEntered(location, control, params) + if(hud?.mymob) + return hud.mymob.MouseEntered(arglist(args)) + +/atom/movable/screen/healthdoll/MouseExited(location, control, params) + if(hud?.mymob) + return hud.mymob.MouseExited(arglist(args)) + +/atom/movable/screen/healthdoll/MouseDown(location, control, params) + if(hud?.mymob) + return hud.mymob.MouseDown(arglist(args)) + +/atom/movable/screen/healthdoll/MouseUp(location, control, params) + if(hud?.mymob) + return hud.mymob.MouseUp(arglist(args)) + +/atom/movable/screen/healthdoll/MouseDrag(over_object, src_location, over_location, src_control, over_control, params) + if(hud?.mymob) + return hud.mymob.MouseDrag(arglist(args)) + +// Mousedrop won't work, behavior is usually defined on the thing that MouseDrag started on /atom/movable/screen/sanity name = "sanity" diff --git a/modular_sand/code/datums/components/interaction_menu_granter.dm b/modular_sand/code/datums/components/interaction_menu_granter.dm index d46e76a88f0e..41964f95055f 100644 --- a/modular_sand/code/datums/components/interaction_menu_granter.dm +++ b/modular_sand/code/datums/components/interaction_menu_granter.dm @@ -428,7 +428,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 7803ee193473..d7a8911b0b0f 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 2f123464f743..d89f7df70aee 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 000000000000..dfcceab6f989 --- /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 41fd49a4996e..c08951ccf0eb 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4217,6 +4217,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"