From 202316d1763a8e7b4a10c5d8f6e75176b166fec0 Mon Sep 17 00:00:00 2001 From: EaglePhntm <39886147+EaglePhntm@users.noreply.github.com> Date: Fri, 8 Nov 2024 00:42:20 +0300 Subject: [PATCH] you snowflake fucks --- code/modules/client/preferences.dm | 1 + code/modules/client/preferences_savefile.dm | 4 ++++ code/modules/client/preferences_ui.dm | 1 - code/modules/mob/mob_verbs.dm | 8 ++++++++ .../datums/sexcon/sex_actions/sex/anal_sex.dm | 2 +- ntf_modular/code/datums/sexcon/sexcon.dm | 17 +++++++---------- 6 files changed, 21 insertions(+), 12 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 3a146c5082013..d37baf371130f 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -126,6 +126,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/profile_pic = "" var/xenoprofile_pic = "" var/xenogender = 1 + var/harmful_sex_allowed = TRUE var/list/exp = list() var/list/menuoptions = list() diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 7c88f8079d1a8..30cb8c871ce94 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -481,6 +481,7 @@ READ_FILE(S["profile_pic"], profile_pic) READ_FILE(S["xenoprofile_pic"], xenoprofile_pic) READ_FILE(S["xenogender"], xenogender) + READ_FILE(S["harmful_sex_allowed"], harmful_sex_allowed) be_special = sanitize_integer(be_special, NONE, MAX_BITFLAG, initial(be_special)) @@ -551,6 +552,7 @@ profile_pic = sanitize_text(profile_pic, initial(profile_pic)) xenoprofile_pic = sanitize_text(xenoprofile_pic, initial(xenoprofile_pic)) xenogender = sanitize_text(xenogender, initial(xenogender)) + harmful_sex_allowed = sanitize_text(harmful_sex_allowed, initial(harmful_sex_allowed)) if(!synthetic_name) synthetic_name = "David" @@ -645,6 +647,7 @@ profile_pic = sanitize_text(profile_pic, initial(profile_pic)) xenoprofile_pic = sanitize_text(xenoprofile_pic, initial(xenoprofile_pic)) xenogender = sanitize_text(xenogender, initial(xenogender)) + harmful_sex_allowed = sanitize_text(harmful_sex_allowed, initial(harmful_sex_allowed)) WRITE_FILE(S["be_special"], be_special) @@ -707,6 +710,7 @@ WRITE_FILE(S["profile_pic"], profile_pic) WRITE_FILE(S["xenoprofile_pic"], xenoprofile_pic) WRITE_FILE(S["xenogender"], xenogender) + WRITE_FILE(S["harmful_sex_allowed"], xenogender) return TRUE diff --git a/code/modules/client/preferences_ui.dm b/code/modules/client/preferences_ui.dm index 6124807823620..4a8dca82be3bc 100644 --- a/code/modules/client/preferences_ui.dm +++ b/code/modules/client/preferences_ui.dm @@ -76,7 +76,6 @@ data["xeno_desc"] = xeno_desc data["profile_pic"] = profile_pic data["xenoprofile_pic"] = xenoprofile_pic - data["xenogender"] = xenogender data["med_record"] = med_record data["gen_record"] = gen_record data["sec_record"] = sec_record diff --git a/code/modules/mob/mob_verbs.dm b/code/modules/mob/mob_verbs.dm index b1ee5d4b9500e..79426441a1d79 100644 --- a/code/modules/mob/mob_verbs.dm +++ b/code/modules/mob/mob_verbs.dm @@ -249,3 +249,11 @@ TIMER_COOLDOWN_START(src, COOLDOWN_POINT, 1 SECONDS) point_to_atom(pointed_atom) return TRUE + +/mob/living/carbon/verb/toggle_harmful_sex() + set name = "Toggle Sex Harm" + set desc = "Toggle getting harmed by rough sex etc." + set category = "IC" + + client.prefs.harmful_sex_allowed = !client.prefs.harmful_sex_allowed + to_chat(src, span_notice("Harmful sex is now [client.prefs.harmful_sex_allowed ? "Allowed" : "Disallowed"]")) diff --git a/ntf_modular/code/datums/sexcon/sex_actions/sex/anal_sex.dm b/ntf_modular/code/datums/sexcon/sex_actions/sex/anal_sex.dm index 70c557b5d5061..6b46974ca7134 100644 --- a/ntf_modular/code/datums/sexcon/sex_actions/sex/anal_sex.dm +++ b/ntf_modular/code/datums/sexcon/sex_actions/sex/anal_sex.dm @@ -1,5 +1,5 @@ /datum/sex_action/anal_sex - name = "Sodomize them" + name = "Fuck them anally" stamina_cost = 1.0 check_incapacitated = FALSE diff --git a/ntf_modular/code/datums/sexcon/sexcon.dm b/ntf_modular/code/datums/sexcon/sexcon.dm index 7ea6aa71c77fb..351104656bfac 100644 --- a/ntf_modular/code/datums/sexcon/sexcon.dm +++ b/ntf_modular/code/datums/sexcon/sexcon.dm @@ -141,10 +141,7 @@ if(iscarbon(user)) log_combat(user, user, "Ejaculated") user.visible_message(span_lovebold("[user] makes a mess!")) - var/sexhealrand = rand(5, 15) - user.adjustBruteLoss(-sexhealrand) - sexhealrand *= 0.5 - user.adjustFireLoss(-sexhealrand) + user.heal_overall_damage(rand(15, 30), rand(15, 30), TRUE, TRUE) playsound(user, 'ntf_modular/sound/misc/mat/endout.ogg', 50, TRUE) add_cum_floor(get_turf(user)) @@ -222,18 +219,18 @@ pain_amt *= get_force_pain_multiplier(applied_force) pain_amt *= get_speed_pain_multiplier(applied_speed) - var/sexhealrand = rand(0.2, 0.4) + var/sexhealrand = rand(2, 4) //go go gadget sex healing.. magic? if(user.buckled || user.lying_angle) //gooder resting sexhealrand *= 4 - user.adjustBruteLoss(-sexhealrand) - user.adjustFireLoss(-sexhealrand/2) + user.heal_overall_damage(sexhealrand, sexhealrand/2, TRUE, TRUE) if(isxeno(user)) var/mob/living/carbon/xenomorph/xuser = user xuser.gain_plasma(5, TRUE) adjust_arousal(arousal_amt) - damage_from_pain(pain_amt) + if(user.client.prefs.harmful_sex_allowed) + damage_from_pain(pain_amt) try_do_moan(arousal_amt, pain_amt, applied_force, giving) try_do_pain_effect(pain_amt, giving) @@ -589,9 +586,9 @@ if(SEX_FORCE_MID) return 1.0 if(SEX_FORCE_HIGH) - return 2.0 + return 1.5 if(SEX_FORCE_EXTREME) - return 3.0 + return 2.0 /datum/sex_controller/proc/get_speed_pain_multiplier(passed_speed) switch(passed_speed)