diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index a4fb593ab6f..a9233dad5b0 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -270,7 +270,7 @@
desc = "A prescription packet containing six marijuana cigarettes."
icon_state = "medpacket"
item_state = "cigpacket"
- default_reagents = list("thc" = 15)
+ default_reagents = list("thc" = 15, "cbd" = 15)
/obj/item/storage/fancy/cigarettes/cigpack_uplift
name = "\improper Uplift Smooth packet"
diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm
index 274a1f1e084..06ba1fc7a66 100644
--- a/code/modules/hydroponics/grown/cannabis.dm
+++ b/code/modules/hydroponics/grown/cannabis.dm
@@ -17,7 +17,7 @@
/obj/item/seeds/cannabis/death,
/obj/item/seeds/cannabis/white,
/obj/item/seeds/cannabis/ultimate)
- reagents_add = list("thc" = 0.15)
+ reagents_add = list("thc" = 0.15, "cbd" = 0.15)
/obj/item/seeds/cannabis/rainbow
@@ -28,7 +28,7 @@
plantname = "Rainbow Weed"
product = /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow
mutatelist = list()
- reagents_add = list("lsd" = 0.15, "thc" = 0.15)
+ reagents_add = list("lsd" = 0.15, "thc" = 0.15, "cbd" = 0.15)
rarity = 40
/obj/item/seeds/cannabis/death
@@ -39,7 +39,7 @@
plantname = "Deathweed"
product = /obj/item/reagent_containers/food/snacks/grown/cannabis/death
mutatelist = list()
- reagents_add = list("cyanide" = 0.35, "thc" = 0.15)
+ reagents_add = list("cyanide" = 0.35, "thc" = 0.15, "cbd" = 0.15)
rarity = 40
/obj/item/seeds/cannabis/white
@@ -50,7 +50,7 @@
plantname = "Lifeweed"
product = /obj/item/reagent_containers/food/snacks/grown/cannabis/white
mutatelist = list()
- reagents_add = list("omnizine" = 0.35, "thc" = 0.15)
+ reagents_add = list("omnizine" = 0.35, "thc" = 0.15, "cbd" = 0.15)
rarity = 40
@@ -72,6 +72,7 @@
"haloperidol" = 0.15,
"methamphetamine" = 0.15,
"thc" = 0.15,
+ "cbd" = 0.15,
"psilocybin" = 0.15,
"hairgrownium" = 0.15,
"ectoplasm" = 0.15,
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 01c2d773d51..51088f66457 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -585,6 +585,14 @@
message = "[src] makes a weak noise"
m_type = 2
+ if("hsigh", "hsighs")
+ if(!muzzled)
+ message = "[src] sighs contentedly."
+ m_type = 2
+ else
+ message = "[src] makes a [pick("chill", "relaxed")] noise"
+ m_type = 2
+
if("laugh", "laughs")
var/M = handle_emote_param(param)
if(miming)
diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm
index 2a265e71709..a8b4114344e 100644
--- a/code/modules/reagents/chemistry/reagents/drugs.dm
+++ b/code/modules/reagents/chemistry/reagents/drugs.dm
@@ -525,6 +525,32 @@
M.Drowsy(10)
return ..()
+/datum/reagent/cbd
+ name = "Cannabidiol"
+ id = "cbd"
+ description = "A non-psychoactive phytocannabinoid extracted from the cannabis plant."
+ reagent_state = LIQUID
+ color = "#00e100"
+ taste_description = "relaxation"
+
+/datum/reagent/cbd/on_mob_life(mob/living/M)
+ var/update_flags = STATUS_UPDATE_NONE
+ if(prob(5))
+ M.emote(pick("hsigh", "yawn"))
+ if(prob(5))
+ to_chat(M, "[pick("You feel peaceful.", "You breathe softly.", "You feel chill.", "You vibe.")]")
+ if(prob(10))
+ M.AdjustConfused(-5)
+ update_flags |= M.SetWeakened(0, FALSE)
+ if(volume >= 70 && prob(25))
+ if(M.reagents.has_reagent("thc") <= 20)
+ M.Drowsy(10)
+ if(prob(25))
+ update_flags |= M.adjustBruteLoss(-2, FALSE)
+ update_flags |= M.adjustFireLoss(-2, FALSE)
+ return ..() | update_flags
+
+
/datum/reagent/fliptonium
name = "Fliptonium"
id = "fliptonium"