diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 90affe0228..f43f0d19bd 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -128,6 +128,7 @@ if(L.client && L.client.prefs) L.canbearoused = L.client.prefs.arousable //Technically this should make taking over a character mean the body gain the new minds setting... L.update_arousal_hud() //Removes the old icon + L.lewd = L.client.prefs.lewdchem /datum/mind/proc/store_memory(new_text) memory += "[new_text]
" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7a6fdad721..2d265db999 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -782,6 +782,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Voracious MediHound sleepers: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
" dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" + dat += "Lewdchem:[lewdchem == TRUE ? "Enabled" : "Disabled"]
" dat += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled (15x15)"]
" dat += "Auto stand: [autostand ? "Enabled" : "Disabled"]
" dat += "Screen Shake: [(screenshake==100) ? "Full" : ((screenshake==0) ? "None" : "[screenshake]")]
" @@ -2000,6 +2001,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["genitals_use_skintone"] = !features["genitals_use_skintone"] if("arousable") arousable = !arousable + if("lewdchem") + lewdchem = !lewdchem if("has_cock") features["has_cock"] = !features["has_cock"] if(features["has_cock"] == FALSE) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 3c5d547b46..07e41f1e01 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -117,6 +117,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["widescreenpref"] >> widescreenpref S["autostand"] >> autostand S["cit_toggles"] >> cit_toggles + S["lewdchem"] >> lewdchem //try to fix any outdated data if necessary if(needs_update >= 0) @@ -210,6 +211,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["widescreenpref"], widescreenpref) WRITE_FILE(S["autostand"], autostand) WRITE_FILE(S["cit_toggles"], cit_toggles) + WRITE_FILE(S["lewdchem"], lewdchem) return 1 diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 3324b07217..16f190e3c0 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -296,6 +296,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) + C.lewd = C.client.prefs.lewdchem + //CITADEL EDIT if(NOAROUSAL in species_traits) C.canbearoused = FALSE diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index f8d7cfff63..af41d218f9 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -352,8 +352,8 @@ to_chat(master, "Your thrall [owner] appears to have finished internalising your last command.") if(get_dist(master, owner) > 10) if(prob(10)) - to_chat(owner, "You feel a deep NEED to return to [(owner.lewd?"your [enthrallGender]":"[master]")].") - M.throw_at(get_step_towards(master,owner), 3, 1) + to_chat(owner, "You feel [(owner.lewd?"a deep NEED to return to your [enthrallGender]":"like you have to return to [master]")].") + M.throw_at(get_step_towards(master,owner), 5, 1) return//If you break the mind of someone, you can't use status effects on them. diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm index dfe419964e..f757123b45 100644 --- a/modular_citadel/code/modules/client/preferences.dm +++ b/modular_citadel/code/modules/client/preferences.dm @@ -15,6 +15,7 @@ var/arousable = TRUE var/widescreenpref = TRUE var/autostand = TRUE + var/lewdchem = TRUE //vore prefs var/toggleeatingnoise = TRUE @@ -53,5 +54,6 @@ datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1) character.give_genitals(TRUE) character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially character.canbearoused = arousable + character.lewd = lewdchem if(icon_updates) character.update_genitals() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm index 3b675ffccb..94fdee15b4 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm @@ -308,9 +308,12 @@ Creating a chem with a low purity will make you permanently fall in love with so metabolization_rate = 0.1 taste_description = "synthetic chocolate, a base tone of alcohol, and high notes of roses." DoNotSplit = TRUE + can_synth = FALSE var/mob/living/carbon/love /datum/reagent/fermi/enthrallExplo/on_mob_life(mob/living/carbon/M)//Love gas, only affects while it's in your system,Gives a positive moodlet if close, gives brain damagea and a negative moodlet if not close enough. + if(HAS_TRAIT(M, TRAIT_MINDSHIELD)) + return ..() if(!M.has_status_effect(STATUS_EFFECT_INLOVE)) var/list/seen = viewers(7, get_turf(M))//Sound and sight checkers for(var/victim in seen) @@ -322,7 +325,7 @@ Creating a chem with a low purity will make you permanently fall in love with so if(!love) return M.apply_status_effect(STATUS_EFFECT_INLOVE, love) - to_chat(M, "[(M.lewd?"":"")]You develop a sudden bond with [love][(M.lewd?", your heart beginning to race as you look upon them with new eyes.":".")] You are determined to keep them safe and feel drawn towards them.") + to_chat(M, "[(M.lewd?"":"")][(M.lewd?"You develop a sudden crush on [love], your heart beginning to race as you look upon them with new eyes.":"You suddenly feel like making friends with [love].")] You are determined to make friends with them and feel drawn towards them.") log_game("FERMICHEM: [M] ckey: [M.key] has temporarily bonded with [love] ckey: [love.key]") SSblackbox.record_feedback("tally", "fermi_chem", 1, "Times people have bonded") else @@ -335,13 +338,15 @@ Creating a chem with a low purity will make you permanently fall in love with so SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "MissingLove", /datum/mood_event/MissingLove) SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "InLove") if(prob(10)) - M.Stun(10) + M.Stun(5) M.emote("whimper")//does this exist? to_chat(M, "[(M.lewd?"":"")] You're overcome with a desire to see [love].") - M.adjustBrainLoss(1)//I found out why everyone was so damaged! + M.adjustBrainLoss(0.5)//I found out why everyone was so damaged! ..() /datum/reagent/fermi/enthrallExplo/on_mob_delete(mob/living/carbon/M) + if(HAS_TRAIT(M, TRAIT_MINDSHIELD)) + return ..() M.remove_status_effect(STATUS_EFFECT_INLOVE) SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "InLove") SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "MissingLove")