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")