diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm index b218491195..2f905e965c 100644 --- a/code/datums/elements/flavor_text.dm +++ b/code/datums/elements/flavor_text.dm @@ -105,6 +105,8 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code else content += "\n" + content += " | Stomping Interactions: [L.client.prefs.stomppref ? "Yes" : "No"]\n" + if(L.client.prefs.extremepref == "Yes") content += "
Extreme content: [L.client.prefs.extremepref] | Extreme content harm: [L.client.prefs.extremeharm]\n" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index dfa3309ffb..2e919d8d92 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1523,6 +1523,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Edging : [(cit_toggles & EDGING) ? "Allowed" : "Disallowed"]
" dat += "? " dat += "Unholy ERP verbs : [unholypref]
" //https://www.youtube.com/watch?v=OHKARc-GObU + dat += "? " + dat += "Stomping Interactions : [stomppref ? "Yes" : "No"]
" //END OF SPLURT EDIT //SKYRAT EDIT dat += "? " //SPLURT Edit (wow! editception???) @@ -3511,6 +3513,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) unholypref = "No" if("No") unholypref = "Yes" + if("stomppref") // What the fuck is this? + stomppref = !stomppref //Skyrat edit - *someone* offered me actual money for this shit if("extremepref") //i hate myself for doing this switch(extremepref) //why the fuck did this need to use cycling instead of input from a list diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 77e63db5fc..521c5ef368 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 58 +#define SAVEFILE_VERSION_MAX 58.01 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn diff --git a/modular_splurt/code/modules/client/preferences.dm b/modular_splurt/code/modules/client/preferences.dm index 8aea699f1b..a22d166233 100644 --- a/modular_splurt/code/modules/client/preferences.dm +++ b/modular_splurt/code/modules/client/preferences.dm @@ -6,6 +6,7 @@ /datum/preferences max_save_slots = DEFAULT_SAVE_SLOTS var/unholypref = "No" //Goin 2 hell fo dis one + var/stomppref = TRUE // Please step on me. var/list/gfluid_blacklist = list() //Stuff you don't want people to cum into you var/new_character_creator = TRUE // old/new character creator var/show_in_directory = 1 //Show in Character Directory @@ -1056,6 +1057,8 @@ //SPLURT EDIT dat += "? " dat += "Unholy ERP verbs : [unholypref]
" //https://www.youtube.com/watch?v=OHKARc-GObU + dat += "? " + dat += "Stomping Interactions : [stomppref ? "Yes" : "No"]
" //END OF SPLURT EDIT //SKYRAT EDIT dat += "? " diff --git a/modular_splurt/code/modules/client/preferences_savefile.dm b/modular_splurt/code/modules/client/preferences_savefile.dm index deda14d0e1..1e555d2dff 100644 --- a/modular_splurt/code/modules/client/preferences_savefile.dm +++ b/modular_splurt/code/modules/client/preferences_savefile.dm @@ -10,6 +10,8 @@ directory_tag = sanitize_inlist(directory_tag, GLOB.char_directory_tags, initial(directory_tag)) directory_erptag = sanitize_inlist(directory_erptag, GLOB.char_directory_erptags, initial(directory_erptag)) directory_ad = strip_html_simple(directory_ad, MAX_FLAVOR_LEN) + // Get stomping preferences. + S["stomp_pref"] >> stomppref /datum/preferences/proc/splurt_character_pref_save(savefile/S) //TODO: modularize our other savefile edits... maybe? //Character directory @@ -18,11 +20,17 @@ WRITE_FILE(S["directory_erptag"], directory_erptag) WRITE_FILE(S["directory_ad"], directory_ad) + // Stomping preferences. + WRITE_FILE(S["stomp_pref"], stomppref) + /datum/preferences/update_preferences(current_version, savefile/S) . = ..() if(current_version < 57.01) //a new_character_creator = TRUE + if(current_version < 58.01) // Stomp pref. + stomppref = TRUE + /datum/preferences/update_character(current_version, savefile/S) . = ..() if(current_version < 53.01) diff --git a/modular_splurt/code/modules/resize/resizing.dm b/modular_splurt/code/modules/resize/resizing.dm new file mode 100644 index 0000000000..9554d1db85 --- /dev/null +++ b/modular_splurt/code/modules/resize/resizing.dm @@ -0,0 +1,8 @@ +/mob/living/handle_micro_bump_other(mob/living/target) + + // If the target is not in combat mode, if the target has the preference off, stop the interaction. + if(target.a_intent != INTENT_HARM && SEND_SIGNAL(target, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_INACTIVE) && target.client.prefs.stomppref == FALSE) + return FALSE + + // Do the rest of the function normally. + . = ..() diff --git a/tgstation.dme b/tgstation.dme index 066aea41ac..4ce7afc531 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4925,6 +4925,7 @@ #include "modular_splurt\code\modules\research\techweb\nodes\medical_nodes.dm" #include "modular_splurt\code\modules\research\techweb\nodes\nanites_nodes.dm" #include "modular_splurt\code\modules\research\techweb\nodes\robotic_nodes.dm" +#include "modular_splurt\code\modules\resize\resizing.dm" #include "modular_splurt\code\modules\research\xenoarch\artifact.dm" #include "modular_splurt\code\modules\research\xenoarch\artifact_list.dm" #include "modular_splurt\code\modules\research\xenoarch\strange_rock.dm"