diff --git a/code/datums/mood_events/drug_events.dm b/code/datums/mood_events/drug_events.dm
index aa4d89d799c..95219b79a8e 100644
--- a/code/datums/mood_events/drug_events.dm
+++ b/code/datums/mood_events/drug_events.dm
@@ -58,3 +58,23 @@
mood_change = -100
timeout = 30 SECONDS
special_screen_obj = "mood_happiness_bad"
+
+/datum/mood_event/narcotic_medium
+ description = "I feel comfortably numb.\n"
+ mood_change = 4
+ timeout = 3 MINUTES
+
+/datum/mood_event/narcotic_heavy
+ description = "I feel like I'm wrapped in cotton!\n"
+ mood_change = 9
+ timeout = 3 MINUTES
+
+/datum/mood_event/stimulant_medium
+ description = "I have so much energy and I feel like I could do anything.\n"
+ mood_change = 4
+ timeout = 3 MINUTES
+
+/datum/mood_event/stimulant_heavy
+ description = "Eh ah AAAAH! HA HA HA HA HAA! Uuuh.\n"
+ mood_change = 6
+ timeout = 3 MINUTES
diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
index 7385a48ddd7..297d25a9fc1 100644
--- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
@@ -75,6 +75,7 @@
if(prob(5))
var/high_message = pick("You feel jittery.", "You feel like you gotta go fast.", "You feel like you need to step it up.")
to_chat(M, "[high_message]")
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name)
M.AdjustStun(-20, FALSE)
M.AdjustKnockdown(-20, FALSE)
M.AdjustUnconscious(-20, FALSE)
@@ -124,6 +125,7 @@
var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.")
if(prob(5))
to_chat(M, "[high_message]")
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smacked out", /datum/mood_event/narcotic_heavy, name)
..()
/datum/reagent/drug/krokodil/overdose_process(mob/living/M)
@@ -182,6 +184,7 @@
var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.")
if(prob(5))
to_chat(M, "[high_message]")
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name)
M.AdjustStun(-40, FALSE)
M.AdjustKnockdown(-40, FALSE)
M.AdjustUnconscious(-40, FALSE)
@@ -274,6 +277,7 @@
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(prob(5))
to_chat(M, "[high_message]")
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "salted", /datum/mood_event/stimulant_heavy, name)
M.adjustStaminaLoss(-5, 0)
M.adjustBrainLoss(4)
M.hallucination += 5
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index 1db70d5503d..9a36a5bc1fd 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -673,6 +673,8 @@
..()
/datum/reagent/medicine/morphine/on_mob_life(mob/living/carbon/M)
+ if(current_cycle >= 5)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_medium, name)
switch(current_cycle)
if(11)
to_chat(M, "You start to feel tired..." )
diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
index a7311d77f45..2c3df1c0614 100644
--- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
@@ -435,6 +435,8 @@
M.adjustBrainLoss(3*REM, 150)
if(M.toxloss <= 60)
M.adjustToxLoss(1*REM, 0)
+ if(current_cycle >= 4)
+ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smacked out", /datum/mood_event/narcotic_heavy, name)
if(current_cycle >= 18)
M.Sleeping(40, 0)
..()