diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm
index 328e008f10..f281853b0f 100644
--- a/code/_onclick/hud/human.dm
+++ b/code/_onclick/hud/human.dm
@@ -241,13 +241,13 @@
using.hud = src
hotkeybuttons += using
- //CIT CHANGES - rest and combat mode buttons
- using = new /obj/screen/restbutton()
- using.icon = tg_ui_icon_to_cit_ui(ui_style)
+ using = new /obj/screen/rest()
+ using.icon = ui_style
using.screen_loc = ui_pull_resist
using.hud = src
static_inventory += using
+ //CIT CHANGES - combat mode buttons
using = new /obj/screen/combattoggle()
using.icon = tg_ui_icon_to_cit_ui(ui_style)
using.screen_loc = ui_combat_toggle
diff --git a/code/modules/admin/chat_commands.dm b/code/modules/admin/chat_commands.dm
index e2ddcdcf6a..9b15729a9e 100644
--- a/code/modules/admin/chat_commands.dm
+++ b/code/modules/admin/chat_commands.dm
@@ -142,3 +142,51 @@ GLOBAL_LIST(round_end_notifiees)
log_admin("[sender.friendly_name] has added [params] to the current round's bunker bypass list.")
message_admins("[sender.friendly_name] has added [params] to the current round's bunker bypass list.")
return "[params] has been added to the current round's bunker bypass list."
+
+// More (silly) chat commands citadel added.
+/datum/tgs_chat_command/wheelofsalt
+ name = "wheelofsalt"
+ help_text = "What are Citadel Station 13 players salting about today? Spin the wheel and find out!"
+
+/datum/tgs_chat_command/wheelofsalt/Run(datum/tgs_chat_user/sender, params)
+ var/saltresult = "The wheel of salt [pick("clatters","screams","vibrates","clanks","resonates","groans","moans","squeaks","emits a[pick(" god-forsaken"," lewd"," creepy"," generic","n orgasmic"," demonic")] [pick("airhorn","bike horn","trumpet","clown","latex","vore","dog","laughing")] noise")] as it spins violently... And it seems the salt of the day is the "
+ var/saltprimarysubject = "[pick("combat","medical","grab","furry","wall","orgasm","cat","ERP","lizard","dog","latex","vision cone","atmospherics","table","chem","vore","dogborg","Skylar Lineman","Mekhi Anderson","Peppermint","rework","cum","dick","cockvore","Medihound","sleeper","belly sleeper","door wires","flightsuit","coder privilege","Developer abuse","ban reason","github self merge","red panda","beret","male catgirl","powergame","hexacrocin","Discord server","Clitadel","Cargonia","Solarian Republic","Main and RP merger","bluespace","salt","chem dispenser theft","Botany","moth","BWOINK","anal vore","stamina","Mason Jakops","mining","noodle","milf","Lavaland","Necropolis","Ashwalker","Chase Redtail","Drew Mint","Pavel Marsk","Joker Amari","Durgit","chaplain","Antag","nanite","Syndicate","Nar-Sie","Ratvar","Cult","maint","Foam-Force","AI","cyborg","ghost","clockwork","cyberpunk","vaporwave","Clown","Leon Beech","Mime","security","research","Megafauna","Bubblegum","Ash Drake","Legion","Colossus","White Shuttle","Changeling","Cowboy","Space Ninja","Poly","Revolutionary","Skyrim","forbidden fruits","xenomorph","blob","Nuclear Operative","crossdressing")]"
+ var/saltsecondarysubject = "[pick("rework","changes","r34","ban","removal","addition","leak","proposal","fanart","introduction","tabling","ERP","bikeshedding","crossdressing","sprites","semen keg","argument","theft","nerf","screeching","salt","creampie","lewding","murder","kissing","marriage","replacement","fucking","ship","netflix adaptation","dance","remaster","system","voyeur","decoration","pre-order","bukkake","seduction","worship","gangbang","handholding")]"
+ if(prob(10))
+ saltresult += "@here for your salt, all day every day"
+ if(prob(1))
+ saltresult += " @everyone gets some salt this time too"
+ else
+ saltresult += "[saltprimarysubject] [saltsecondarysubject]"
+ return "[saltresult]!"
+
+/datum/tgs_chat_command/valentine
+ name = "valentine"
+ help_text = "Get a random flirt line."
+
+/datum/tgs_chat_command/valentine/Run(datum/tgs_chat_user/sender, params)
+ return "[pick(GLOB.flirts)]"
+
+/datum/tgs_chat_command/despacito
+ name = "despacito" //someone please high effort this sometime and make it a full on ytdl search
+ help_text = "This is so sad."
+
+/datum/tgs_chat_command/despacito/Run()
+ return "https://www.youtube.com/watch?v=kJQP7kiw5Fk"
+
+/datum/tgs_chat_command/poly
+ name = "poly"
+ help_text = "The Lewder, more applicable Poly speak for Citadel Station 13."
+ var/list/speech_buffer
+
+/datum/tgs_chat_command/poly/Run()
+ LAZYINITLIST(speech_buffer) //I figure this is just safe to do for everything at this point
+ if(length(speech_buffer)) //Let's not look up the whole json EVERY TIME, just the first time.
+ return "[pick(speech_buffer)]"
+ else
+ var/json_file = file("data/npc_saves/Poly.json")
+ if(!fexists(json_file))
+ return "**BAWWWWWK!** LEAVE THE HEADSET! ***BAWKKKKK!!***"
+ var/list/json = json_decode(file2text(json_file))
+ speech_buffer = json["phrases"]
+ return "[pick(speech_buffer)]"
diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm
index 47255d9535..1659a4ff37 100644
--- a/code/modules/client/client_defines.dm
+++ b/code/modules/client/client_defines.dm
@@ -101,3 +101,5 @@
/// Messages currently seen by this client
var/list/seen_messages
+ ///When was the last time we warned them about not cryoing without an ahelp, set to -5 minutes so that rounstart cryo still warns
+ var/cryo_warned = -5 MINUTES
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
index ef4b7f3a53..f1e45d0717 100644
--- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
@@ -559,3 +559,128 @@
var/mob/living/carbon/C = M
if(!C.undergoing_cardiac_arrest())
C.set_heartattack(TRUE)
+
+//aphrodisiac & anaphrodisiac
+
+/datum/reagent/drug/aphrodisiac
+ name = "Crocin"
+ description = "Naturally found in the crocus and gardenia flowers, this drug acts as a natural and safe aphrodisiac."
+ taste_description = "strawberries"
+ color = "#FFADFF"//PINK, rgb(255, 173, 255)
+ can_synth = FALSE
+
+/datum/reagent/drug/aphrodisiac/on_mob_life(mob/living/M)
+ if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO))
+ if((prob(min(current_cycle/2,5))))
+ M.emote(pick("moan","blush"))
+ if(prob(min(current_cycle/4,10)))
+ var/aroused_message = pick("You feel frisky.", "You're having trouble suppressing your urges.", "You feel in the mood.")
+ to_chat(M, "[aroused_message]")
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ var/list/genits = H.adjust_arousal(current_cycle, aphro = TRUE) // redundant but should still be here
+ for(var/g in genits)
+ var/obj/item/organ/genital/G = g
+ to_chat(M, "[G.arousal_verb]!")
+ ..()
+
+/datum/reagent/drug/aphrodisiacplus
+ name = "Hexacrocin"
+ description = "Chemically condensed form of basic crocin. This aphrodisiac is extremely powerful and addictive in most animals.\
+ Addiction withdrawals can cause brain damage and shortness of breath. Overdosage can lead to brain damage and a \
+ permanent increase in libido (commonly referred to as 'bimbofication')."
+ taste_description = "liquid desire"
+ color = "#FF2BFF"//dark pink
+ addiction_threshold = 20
+ overdose_threshold = 20
+ can_synth = FALSE
+
+/datum/reagent/drug/aphrodisiacplus/on_mob_life(mob/living/M)
+ if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO))
+ if(prob(5))
+ if(prob(current_cycle))
+ M.say(pick("Hnnnnngghh...", "Ohh...", "Mmnnn..."))
+ else
+ M.emote(pick("moan","blush"))
+ if(prob(5))
+ var/aroused_message
+ if(current_cycle>25)
+ aroused_message = pick("You need to fuck someone!", "You're bursting with sexual tension!", "You can't get sex off your mind!")
+ else
+ aroused_message = pick("You feel a bit hot.", "You feel strong sexual urges.", "You feel in the mood.", "You're ready to go down on someone.")
+ to_chat(M, "[aroused_message]")
+ REMOVE_TRAIT(M,TRAIT_NEVERBONER,APHRO_TRAIT)
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ var/list/genits = H.adjust_arousal(100, aphro = TRUE) // redundant but should still be here
+ for(var/g in genits)
+ var/obj/item/organ/genital/G = g
+ to_chat(M, "[G.arousal_verb]!")
+ ..()
+
+/datum/reagent/drug/aphrodisiacplus/addiction_act_stage2(mob/living/M)
+ if(prob(30))
+ M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2)
+ ..()
+/datum/reagent/drug/aphrodisiacplus/addiction_act_stage3(mob/living/M)
+ if(prob(30))
+ M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3)
+
+ ..()
+/datum/reagent/drug/aphrodisiacplus/addiction_act_stage4(mob/living/M)
+ if(prob(30))
+ M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4)
+ ..()
+
+/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
+ if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO) && prob(33))
+ if(prob(5) && ishuman(M) && M.has_dna() && (M.client?.prefs.cit_toggles & BIMBOFICATION))
+ if(!HAS_TRAIT(M,TRAIT_PERMABONER))
+ to_chat(M, "Your libido is going haywire!")
+ ADD_TRAIT(M,TRAIT_PERMABONER,APHRO_TRAIT)
+ ..()
+
+/datum/reagent/drug/anaphrodisiac
+ name = "Camphor"
+ description = "Naturally found in some species of evergreen trees, camphor is a waxy substance. When injested by most animals, it acts as an anaphrodisiac\
+ , reducing libido and calming them. Non-habit forming and not addictive."
+ taste_description = "dull bitterness"
+ taste_mult = 2
+ color = "#D9D9D9"//rgb(217, 217, 217)
+ reagent_state = SOLID
+ can_synth = FALSE
+
+/datum/reagent/drug/anaphrodisiac/on_mob_life(mob/living/M)
+ if(M && M.client?.prefs.arousable && prob(16))
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ var/list/genits = H.adjust_arousal(-100, aphro = TRUE)
+ if(genits.len)
+ to_chat(M, "You no longer feel aroused.")
+ ..()
+
+/datum/reagent/drug/anaphrodisiacplus
+ name = "Hexacamphor"
+ description = "Chemically condensed camphor. Causes an extreme reduction in libido and a permanent one if overdosed. Non-addictive."
+ taste_description = "tranquil celibacy"
+ color = "#D9D9D9"//rgb(217, 217, 217)
+ reagent_state = SOLID
+ overdose_threshold = 20
+ can_synth = FALSE
+
+/datum/reagent/drug/anaphrodisiacplus/on_mob_life(mob/living/M)
+ if(M && M.client?.prefs.arousable)
+ REMOVE_TRAIT(M,TRAIT_PERMABONER,APHRO_TRAIT)
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ var/list/genits = H.adjust_arousal(-100, aphro = TRUE)
+ if(genits.len)
+ to_chat(M, "You no longer feel aroused.")
+
+ ..()
+
+/datum/reagent/drug/anaphrodisiacplus/overdose_process(mob/living/M)
+ if(M && M.client?.prefs.arousable && prob(5))
+ to_chat(M, "You feel like you'll never feel aroused again...")
+ ADD_TRAIT(M,TRAIT_NEVERBONER,APHRO_TRAIT)
+ ..()
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index c755649b43..d3ac8fa506 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -2194,3 +2194,93 @@
reagent_state = LIQUID
color = "#f7685e"
metabolization_rate = REAGENTS_METABOLISM * 0.25
+
+
+//body bluids
+/datum/reagent/consumable/semen
+ name = "Semen"
+ description = "Sperm from some animal. Useless for anything but insemination, really."
+ taste_description = "something salty"
+ taste_mult = 2 //Not very overpowering flavor
+ data = list("donor"=null,"viruses"=null,"donor_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null)
+ reagent_state = LIQUID
+ color = "#FFFFFF" // rgb: 255, 255, 255
+ can_synth = FALSE
+ nutriment_factor = 0.5 * REAGENTS_METABOLISM
+
+/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
+ if(!istype(T))
+ return
+ if(reac_volume < 10)
+ return
+
+ var/obj/effect/decal/cleanable/semen/S = locate() in T
+ if(!S)
+ S = new(T)
+ if(data["blood_DNA"])
+ S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
+
+/obj/effect/decal/cleanable/semen
+ name = "semen"
+ desc = null
+ gender = PLURAL
+ density = 0
+ layer = ABOVE_NORMAL_TURF_LAYER
+ icon = 'icons/obj/genitals/effects.dmi'
+ icon_state = "semen1"
+ random_icon_states = list("semen1", "semen2", "semen3", "semen4")
+
+/obj/effect/decal/cleanable/semen/Initialize(mapload)
+ . = ..()
+ dir = GLOB.cardinals
+ add_blood_DNA(list("Non-human DNA" = "A+"))
+
+/obj/effect/decal/cleanable/semen/replace_decal(obj/effect/decal/cleanable/semen/S)
+ if(S.blood_DNA)
+ blood_DNA |= S.blood_DNA
+ return ..()
+
+/datum/reagent/consumable/femcum
+ name = "Female Ejaculate"
+ description = "Vaginal lubricant found in most mammals and other animals of similar nature. Where you found this is your own business."
+ taste_description = "something with a tang" // wew coders who haven't eaten out a girl.
+ taste_mult = 2
+ data = list("donor"=null,"viruses"=null,"donor_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null)
+ reagent_state = LIQUID
+ color = "#AAAAAA77"
+ can_synth = FALSE
+ nutriment_factor = 0.5 * REAGENTS_METABOLISM
+
+/obj/effect/decal/cleanable/femcum
+ name = "female ejaculate"
+ desc = null
+ gender = PLURAL
+ density = 0
+ layer = ABOVE_NORMAL_TURF_LAYER
+ icon = 'icons/obj/genitals/effects.dmi'
+ icon_state = "fem1"
+ random_icon_states = list("fem1", "fem2", "fem3", "fem4")
+ blood_state = null
+ bloodiness = null
+
+/obj/effect/decal/cleanable/femcum/Initialize(mapload)
+ . = ..()
+ dir = GLOB.cardinals
+ add_blood_DNA(list("Non-human DNA" = "A+"))
+
+/obj/effect/decal/cleanable/femcum/replace_decal(obj/effect/decal/cleanable/femcum/F)
+ if(F.blood_DNA)
+ blood_DNA |= F.blood_DNA
+ return ..()
+
+/datum/reagent/consumable/femcum/reaction_turf(turf/T, reac_volume)
+ if(!istype(T))
+ return
+ if(reac_volume < 10)
+ return
+
+ var/obj/effect/decal/cleanable/femcum/S = locate() in T
+ if(!S)
+ S = new(T)
+ if(data["blood_DNA"])
+ S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
diff --git a/code/modules/reagents/chemistry/recipes/drugs.dm b/code/modules/reagents/chemistry/recipes/drugs.dm
index 468d29c052..a2b8c27552 100644
--- a/code/modules/reagents/chemistry/recipes/drugs.dm
+++ b/code/modules/reagents/chemistry/recipes/drugs.dm
@@ -62,3 +62,34 @@
results = list(/datum/reagent/moonsugar = 1, /datum/reagent/medicine/morphine = 2.5)
required_temp = 315 //a little above normal body temperature
required_reagents = list(/datum/reagent/drug/skooma = 1)
+/datum/chemical_reaction/aphro
+ name = "crocin"
+ id = /datum/reagent/drug/aphrodisiac
+ results = list(/datum/reagent/drug/aphrodisiac = 6)
+ required_reagents = list(/datum/reagent/carbon = 2, /datum/reagent/hydrogen = 2, /datum/reagent/oxygen = 2, /datum/reagent/water = 1)
+ required_temp = 400
+ mix_message = "The mixture boils off a pink vapor..."//The water boils off, leaving the crocin
+
+/datum/chemical_reaction/aphroplus
+ name = "hexacrocin"
+ id = /datum/reagent/drug/aphrodisiacplus
+ results = list(/datum/reagent/drug/aphrodisiacplus = 1)
+ required_reagents = list(/datum/reagent/drug/aphrodisiac = 6, /datum/reagent/phenol = 1)
+ required_temp = 400
+ mix_message = "The mixture rapidly condenses and darkens in color..."
+
+/datum/chemical_reaction/anaphro
+ name = "camphor"
+ id = /datum/reagent/drug/anaphrodisiac
+ results = list(/datum/reagent/drug/anaphrodisiac = 6)
+ required_reagents = list(/datum/reagent/carbon = 2, /datum/reagent/hydrogen = 2, /datum/reagent/oxygen = 2, /datum/reagent/sulfur = 1)
+ required_temp = 400
+ mix_message = "The mixture boils off a yellow, smelly vapor..."//Sulfur burns off, leaving the camphor
+
+/datum/chemical_reaction/anaphroplus
+ name = "pentacamphor"
+ id = /datum/reagent/drug/anaphrodisiacplus
+ results = list(/datum/reagent/drug/anaphrodisiacplus = 1)
+ required_reagents = list(/datum/reagent/drug/aphrodisiac = 5, /datum/reagent/acetone = 1)
+ required_temp = 300
+ mix_message = "The mixture thickens and heats up slighty..."
diff --git a/modular_citadel/code/_onclick/hud/screen_objects.dm b/modular_citadel/code/_onclick/hud/screen_objects.dm
index 2101a6045f..a2fa6ee23c 100644
--- a/modular_citadel/code/_onclick/hud/screen_objects.dm
+++ b/modular_citadel/code/_onclick/hud/screen_objects.dm
@@ -1,13 +1,3 @@
-/obj/screen/restbutton
- name = "rest"
- icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
- icon_state = "rest"
-
-/obj/screen/restbutton/Click()
- if(isliving(usr))
- var/mob/living/theuser = usr
- theuser.lay_down()
-
/obj/screen/combattoggle
name = "toggle combat mode"
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
diff --git a/modular_citadel/code/modules/admin/chat_commands.dm b/modular_citadel/code/modules/admin/chat_commands.dm
deleted file mode 100644
index ddac7b5953..0000000000
--- a/modular_citadel/code/modules/admin/chat_commands.dm
+++ /dev/null
@@ -1,46 +0,0 @@
-/datum/tgs_chat_command/wheelofsalt
- name = "wheelofsalt"
- help_text = "What are Citadel Station 13 players salting about today? Spin the wheel and find out!"
-
-/datum/tgs_chat_command/wheelofsalt/Run(datum/tgs_chat_user/sender, params)
- var/saltresult = "The wheel of salt [pick("clatters","screams","vibrates","clanks","resonates","groans","moans","squeaks","emits a[pick(" god-forsaken"," lewd"," creepy"," generic","n orgasmic"," demonic")] [pick("airhorn","bike horn","trumpet","clown","latex","vore","dog","laughing")] noise")] as it spins violently... And it seems the salt of the day is the "
- var/saltprimarysubject = "[pick("combat","medical","grab","furry","wall","orgasm","cat","ERP","lizard","dog","latex","vision cone","atmospherics","table","chem","vore","dogborg","Skylar Lineman","Mekhi Anderson","Peppermint","rework","cum","dick","cockvore","Medihound","sleeper","belly sleeper","door wires","flightsuit","coder privilege","Developer abuse","ban reason","github self merge","red panda","beret","male catgirl","powergame","hexacrocin","Discord server","Clitadel","Cargonia","Solarian Republic","Main and RP merger","bluespace","salt","chem dispenser theft","Botany","moth","BWOINK","anal vore","stamina","Mason Jakops","mining","noodle","milf","Lavaland","Necropolis","Ashwalker","Chase Redtail","Drew Mint","Pavel Marsk","Joker Amari","Durgit","chaplain","Antag","nanite","Syndicate","Nar-Sie","Ratvar","Cult","maint","Foam-Force","AI","cyborg","ghost","clockwork","cyberpunk","vaporwave","Clown","Leon Beech","Mime","security","research","Megafauna","Bubblegum","Ash Drake","Legion","Colossus","White Shuttle","Changeling","Cowboy","Space Ninja","Poly","Revolutionary","Skyrim","forbidden fruits","xenomorph","blob","Nuclear Operative","crossdressing")]"
- var/saltsecondarysubject = "[pick("rework","changes","r34","ban","removal","addition","leak","proposal","fanart","introduction","tabling","ERP","bikeshedding","crossdressing","sprites","semen keg","argument","theft","nerf","screeching","salt","creampie","lewding","murder","kissing","marriage","replacement","fucking","ship","netflix adaptation","dance","remaster","system","voyeur","decoration","pre-order","bukkake","seduction","worship","gangbang","handholding")]"
- if(prob(10))
- saltresult += "@here for your salt, all day every day"
- if(prob(1))
- saltresult += " @everyone gets some salt this time too"
- else
- saltresult += "[saltprimarysubject] [saltsecondarysubject]"
- return "[saltresult]!"
-
-/datum/tgs_chat_command/valentine
- name = "valentine"
- help_text = "Get a random flirt line."
-
-/datum/tgs_chat_command/valentine/Run(datum/tgs_chat_user/sender, params)
- return "[pick(GLOB.flirts)]"
-
-/datum/tgs_chat_command/despacito
- name = "despacito" //someone please high effort this sometime and make it a full on ytdl search
- help_text = "This is so sad."
-
-/datum/tgs_chat_command/despacito/Run()
- return "https://www.youtube.com/watch?v=kJQP7kiw5Fk"
-
-/datum/tgs_chat_command/poly
- name = "poly"
- help_text = "The Lewder, more applicable Poly speak for Citadel Station 13."
- var/list/speech_buffer
-
-/datum/tgs_chat_command/poly/Run()
- LAZYINITLIST(speech_buffer) //I figure this is just safe to do for everything at this point
- if(length(speech_buffer)) //Let's not look up the whole json EVERY TIME, just the first time.
- return "[pick(speech_buffer)]"
- else
- var/json_file = file("data/npc_saves/Poly.json")
- if(!fexists(json_file))
- return "**BAWWWWWK!** LEAVE THE HEADSET! ***BAWKKKKK!!***"
- var/list/json = json_decode(file2text(json_file))
- speech_buffer = json["phrases"]
- return "[pick(speech_buffer)]"
diff --git a/modular_citadel/code/modules/client/client_defines.dm b/modular_citadel/code/modules/client/client_defines.dm
deleted file mode 100644
index d816b15d1d..0000000000
--- a/modular_citadel/code/modules/client/client_defines.dm
+++ /dev/null
@@ -1,2 +0,0 @@
-/client
- var/cryo_warned = -3000//when was the last time we warned them about not cryoing without an ahelp, set to -5 minutes so that rounstart cryo still warns
diff --git a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm b/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm
deleted file mode 100644
index 17de8c806d..0000000000
--- a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm
+++ /dev/null
@@ -1,246 +0,0 @@
-//body bluids
-/datum/reagent/consumable/semen
- name = "Semen"
- description = "Sperm from some animal. Useless for anything but insemination, really."
- taste_description = "something salty"
- taste_mult = 2 //Not very overpowering flavor
- data = list("donor"=null,"viruses"=null,"donor_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null)
- reagent_state = LIQUID
- color = "#FFFFFF" // rgb: 255, 255, 255
- can_synth = FALSE
- nutriment_factor = 0.5 * REAGENTS_METABOLISM
-
-/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
- if(!istype(T))
- return
- if(reac_volume < 10)
- return
-
- var/obj/effect/decal/cleanable/semen/S = locate() in T
- if(!S)
- S = new(T)
- if(data["blood_DNA"])
- S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
-
-/obj/effect/decal/cleanable/semen
- name = "semen"
- desc = null
- gender = PLURAL
- density = 0
- layer = ABOVE_NORMAL_TURF_LAYER
- icon = 'icons/obj/genitals/effects.dmi'
- icon_state = "semen1"
- random_icon_states = list("semen1", "semen2", "semen3", "semen4")
-
-/obj/effect/decal/cleanable/semen/Initialize(mapload)
- . = ..()
- dir = GLOB.cardinals
- add_blood_DNA(list("Non-human DNA" = "A+"))
-
-/obj/effect/decal/cleanable/semen/replace_decal(obj/effect/decal/cleanable/semen/S)
- if(S.blood_DNA)
- blood_DNA |= S.blood_DNA
- return ..()
-
-/datum/reagent/consumable/femcum
- name = "Female Ejaculate"
- description = "Vaginal lubricant found in most mammals and other animals of similar nature. Where you found this is your own business."
- taste_description = "something with a tang" // wew coders who haven't eaten out a girl.
- taste_mult = 2
- data = list("donor"=null,"viruses"=null,"donor_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null)
- reagent_state = LIQUID
- color = "#AAAAAA77"
- can_synth = FALSE
- nutriment_factor = 0.5 * REAGENTS_METABOLISM
-
-/obj/effect/decal/cleanable/femcum
- name = "female ejaculate"
- desc = null
- gender = PLURAL
- density = 0
- layer = ABOVE_NORMAL_TURF_LAYER
- icon = 'icons/obj/genitals/effects.dmi'
- icon_state = "fem1"
- random_icon_states = list("fem1", "fem2", "fem3", "fem4")
- blood_state = null
- bloodiness = null
-
-/obj/effect/decal/cleanable/femcum/Initialize(mapload)
- . = ..()
- dir = GLOB.cardinals
- add_blood_DNA(list("Non-human DNA" = "A+"))
-
-/obj/effect/decal/cleanable/femcum/replace_decal(obj/effect/decal/cleanable/femcum/F)
- if(F.blood_DNA)
- blood_DNA |= F.blood_DNA
- return ..()
-
-/datum/reagent/consumable/femcum/reaction_turf(turf/T, reac_volume)
- if(!istype(T))
- return
- if(reac_volume < 10)
- return
-
- var/obj/effect/decal/cleanable/femcum/S = locate() in T
- if(!S)
- S = new(T)
- if(data["blood_DNA"])
- S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
-
-//aphrodisiac & anaphrodisiac
-
-/datum/reagent/drug/aphrodisiac
- name = "Crocin"
- description = "Naturally found in the crocus and gardenia flowers, this drug acts as a natural and safe aphrodisiac."
- taste_description = "strawberries"
- color = "#FFADFF"//PINK, rgb(255, 173, 255)
- can_synth = FALSE
-
-/datum/reagent/drug/aphrodisiac/on_mob_life(mob/living/M)
- if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO))
- if((prob(min(current_cycle/2,5))))
- M.emote(pick("moan","blush"))
- if(prob(min(current_cycle/4,10)))
- var/aroused_message = pick("You feel frisky.", "You're having trouble suppressing your urges.", "You feel in the mood.")
- to_chat(M, "[aroused_message]")
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- var/list/genits = H.adjust_arousal(current_cycle, aphro = TRUE) // redundant but should still be here
- for(var/g in genits)
- var/obj/item/organ/genital/G = g
- to_chat(M, "[G.arousal_verb]!")
- ..()
-
-/datum/reagent/drug/aphrodisiacplus
- name = "Hexacrocin"
- description = "Chemically condensed form of basic crocin. This aphrodisiac is extremely powerful and addictive in most animals.\
- Addiction withdrawals can cause brain damage and shortness of breath. Overdosage can lead to brain damage and a \
- permanent increase in libido (commonly referred to as 'bimbofication')."
- taste_description = "liquid desire"
- color = "#FF2BFF"//dark pink
- addiction_threshold = 20
- overdose_threshold = 20
- can_synth = FALSE
-
-/datum/reagent/drug/aphrodisiacplus/on_mob_life(mob/living/M)
- if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO))
- if(prob(5))
- if(prob(current_cycle))
- M.say(pick("Hnnnnngghh...", "Ohh...", "Mmnnn..."))
- else
- M.emote(pick("moan","blush"))
- if(prob(5))
- var/aroused_message
- if(current_cycle>25)
- aroused_message = pick("You need to fuck someone!", "You're bursting with sexual tension!", "You can't get sex off your mind!")
- else
- aroused_message = pick("You feel a bit hot.", "You feel strong sexual urges.", "You feel in the mood.", "You're ready to go down on someone.")
- to_chat(M, "[aroused_message]")
- REMOVE_TRAIT(M,TRAIT_NEVERBONER,APHRO_TRAIT)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- var/list/genits = H.adjust_arousal(100, aphro = TRUE) // redundant but should still be here
- for(var/g in genits)
- var/obj/item/organ/genital/G = g
- to_chat(M, "[G.arousal_verb]!")
- ..()
-
-/datum/reagent/drug/aphrodisiacplus/addiction_act_stage2(mob/living/M)
- if(prob(30))
- M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2)
- ..()
-/datum/reagent/drug/aphrodisiacplus/addiction_act_stage3(mob/living/M)
- if(prob(30))
- M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3)
-
- ..()
-/datum/reagent/drug/aphrodisiacplus/addiction_act_stage4(mob/living/M)
- if(prob(30))
- M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4)
- ..()
-
-/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
- if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO) && prob(33))
- if(prob(5) && ishuman(M) && M.has_dna() && (M.client?.prefs.cit_toggles & BIMBOFICATION))
- if(!HAS_TRAIT(M,TRAIT_PERMABONER))
- to_chat(M, "Your libido is going haywire!")
- ADD_TRAIT(M,TRAIT_PERMABONER,APHRO_TRAIT)
- ..()
-
-/datum/reagent/drug/anaphrodisiac
- name = "Camphor"
- description = "Naturally found in some species of evergreen trees, camphor is a waxy substance. When injested by most animals, it acts as an anaphrodisiac\
- , reducing libido and calming them. Non-habit forming and not addictive."
- taste_description = "dull bitterness"
- taste_mult = 2
- color = "#D9D9D9"//rgb(217, 217, 217)
- reagent_state = SOLID
- can_synth = FALSE
-
-/datum/reagent/drug/anaphrodisiac/on_mob_life(mob/living/M)
- if(M && M.client?.prefs.arousable && prob(16))
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- var/list/genits = H.adjust_arousal(-100, aphro = TRUE)
- if(genits.len)
- to_chat(M, "You no longer feel aroused.")
- ..()
-
-/datum/reagent/drug/anaphrodisiacplus
- name = "Hexacamphor"
- description = "Chemically condensed camphor. Causes an extreme reduction in libido and a permanent one if overdosed. Non-addictive."
- taste_description = "tranquil celibacy"
- color = "#D9D9D9"//rgb(217, 217, 217)
- reagent_state = SOLID
- overdose_threshold = 20
- can_synth = FALSE
-
-/datum/reagent/drug/anaphrodisiacplus/on_mob_life(mob/living/M)
- if(M && M.client?.prefs.arousable)
- REMOVE_TRAIT(M,TRAIT_PERMABONER,APHRO_TRAIT)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- var/list/genits = H.adjust_arousal(-100, aphro = TRUE)
- if(genits.len)
- to_chat(M, "You no longer feel aroused.")
-
- ..()
-
-/datum/reagent/drug/anaphrodisiacplus/overdose_process(mob/living/M)
- if(M && M.client?.prefs.arousable && prob(5))
- to_chat(M, "You feel like you'll never feel aroused again...")
- ADD_TRAIT(M,TRAIT_NEVERBONER,APHRO_TRAIT)
- ..()
-
-//recipes
-/datum/chemical_reaction/aphro
- name = "crocin"
- id = /datum/reagent/drug/aphrodisiac
- results = list(/datum/reagent/drug/aphrodisiac = 6)
- required_reagents = list(/datum/reagent/carbon = 2, /datum/reagent/hydrogen = 2, /datum/reagent/oxygen = 2, /datum/reagent/water = 1)
- required_temp = 400
- mix_message = "The mixture boils off a pink vapor..."//The water boils off, leaving the crocin
-
-/datum/chemical_reaction/aphroplus
- name = "hexacrocin"
- id = /datum/reagent/drug/aphrodisiacplus
- results = list(/datum/reagent/drug/aphrodisiacplus = 1)
- required_reagents = list(/datum/reagent/drug/aphrodisiac = 6, /datum/reagent/phenol = 1)
- required_temp = 400
- mix_message = "The mixture rapidly condenses and darkens in color..."
-
-/datum/chemical_reaction/anaphro
- name = "camphor"
- id = /datum/reagent/drug/anaphrodisiac
- results = list(/datum/reagent/drug/anaphrodisiac = 6)
- required_reagents = list(/datum/reagent/carbon = 2, /datum/reagent/hydrogen = 2, /datum/reagent/oxygen = 2, /datum/reagent/sulfur = 1)
- required_temp = 400
- mix_message = "The mixture boils off a yellow, smelly vapor..."//Sulfur burns off, leaving the camphor
-
-/datum/chemical_reaction/anaphroplus
- name = "pentacamphor"
- id = /datum/reagent/drug/anaphrodisiacplus
- results = list(/datum/reagent/drug/anaphrodisiacplus = 1)
- required_reagents = list(/datum/reagent/drug/aphrodisiac = 5, /datum/reagent/acetone = 1)
- required_temp = 300
- mix_message = "The mixture thickens and heats up slighty..."
diff --git a/modular_citadel/icons/ui/screen_midnight.dmi b/modular_citadel/icons/ui/screen_midnight.dmi
index a730c591ba..fc446a411c 100644
Binary files a/modular_citadel/icons/ui/screen_midnight.dmi and b/modular_citadel/icons/ui/screen_midnight.dmi differ
diff --git a/modular_citadel/icons/ui/screen_operative.dmi b/modular_citadel/icons/ui/screen_operative.dmi
index cb08f08ceb..9383b94718 100644
Binary files a/modular_citadel/icons/ui/screen_operative.dmi and b/modular_citadel/icons/ui/screen_operative.dmi differ
diff --git a/modular_citadel/icons/ui/screen_plasmafire.dmi b/modular_citadel/icons/ui/screen_plasmafire.dmi
index 5f8cd9d93c..97e577c7bd 100644
Binary files a/modular_citadel/icons/ui/screen_plasmafire.dmi and b/modular_citadel/icons/ui/screen_plasmafire.dmi differ
diff --git a/modular_citadel/icons/ui/screen_slimecore.dmi b/modular_citadel/icons/ui/screen_slimecore.dmi
index f2f0c88782..8f45ff3f76 100644
Binary files a/modular_citadel/icons/ui/screen_slimecore.dmi and b/modular_citadel/icons/ui/screen_slimecore.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index bfe75a2a79..ecdbc2627e 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3357,10 +3357,8 @@
#include "modular_citadel\code\datums\status_effects\chems.dm"
#include "modular_citadel\code\game\objects\cit_screenshake.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
-#include "modular_citadel\code\modules\admin\chat_commands.dm"
#include "modular_citadel\code\modules\admin\holder2.dm"
#include "modular_citadel\code\modules\admin\secrets.dm"
-#include "modular_citadel\code\modules\client\client_defines.dm"
#include "modular_citadel\code\modules\client\client_procs.dm"
#include "modular_citadel\code\modules\client\preferences_savefile.dm"
#include "modular_citadel\code\modules\client\preferences_toggles.dm"
@@ -3427,5 +3425,4 @@
#include "modular_citadel\code\modules\reagents\chemistry\recipes\fermi.dm"
#include "modular_citadel\code\modules\reagents\objects\clothes.dm"
#include "modular_citadel\code\modules\reagents\objects\items.dm"
-#include "modular_citadel\code\modules\reagents\reagents\cit_reagents.dm"
// END_INCLUDE