diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index 5f688052a5d..8e0dd884941 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -289,6 +289,20 @@
qdel(src)
return
+ if(seed.kitchen_tag == "carpet")
+ user.show_message("You shape some carpet squares out of \the [src]!", 1)
+ for(var/i=0,i<2,i++)
+ var/obj/item/stack/tile/carpet/G = new (user.loc)
+ for (var/obj/item/stack/tile/carpet/NG in user.loc)
+ if(G == NG)
+ continue
+ if(NG.get_amount() >= NG.max_amount)
+ continue
+ NG.attackby(G, user)
+ to_chat(user, "You add the newly-formed carpet to the stack. It now contains [G.get_amount()] tiles.")
+ qdel(src)
+ return
+
if(seed.get_trait(TRAIT_SPREAD) > 0)
to_chat(user, "You plant the [src.name].")
new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(get_turf(user),src.seed)
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index d7cf5dc16f3..29b31ebc57a 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -269,6 +269,9 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds)
/obj/item/seeds/grassseed
seed_type = "grass"
+/obj/item/seeds/carpetseed
+ seed_type = "carpet"
+
/obj/item/seeds/cocoapodseed
seed_type = "cocoa"
diff --git a/code/modules/hydroponics/seedtypes/grass.dm b/code/modules/hydroponics/seedtypes/grass.dm
index 0a94f9707f5..d8629a00ae3 100644
--- a/code/modules/hydroponics/seedtypes/grass.dm
+++ b/code/modules/hydroponics/seedtypes/grass.dm
@@ -3,6 +3,7 @@
seed_name = "grass"
display_name = "grass"
kitchen_tag = "grass"
+ mutants = list("carpet")
chems = list("nutriment" = list(1,20))
/datum/seed/grass/New()
@@ -16,4 +17,20 @@
set_trait(TRAIT_PLANT_COLOUR,"#07D900")
set_trait(TRAIT_PLANT_ICON,"grass")
set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
\ No newline at end of file
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
+
+/datum/seed/grass/carpet
+ name = "carpet"
+ seed_name = "carpet"
+ display_name = "carpet"
+ kitchen_tag = "carpet"
+ mutants = null
+ chems = list("nutiment" = list(1,10))
+
+/datum/seed/grass/carpet/New()
+ ..()
+ set_trait(TRAIT_YIELD,7)
+ set_trait(TRAIT_PRODUCT_ICON,"grass")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#9e2500")
+ set_trait(TRAIT_PLANT_COLOUR,"#ee4401")
+ set_trait(TRAIT_PLANT_ICON,"grass")
\ No newline at end of file
diff --git a/code/modules/reagents/reagents/medicine.dm b/code/modules/reagents/reagents/medicine.dm
index 56c9a486493..2dc9528f4a3 100644
--- a/code/modules/reagents/reagents/medicine.dm
+++ b/code/modules/reagents/reagents/medicine.dm
@@ -1520,4 +1520,4 @@
M.adjustCloneLoss(-2 * removed)
M.druggy = max(M.druggy, 20)
M.hallucination = max(M.hallucination, 3)
- M.adjustBrainLoss(1 * removed) //your life for your mind. An exchange made willingly, for better or worse.
\ No newline at end of file
+ M.adjustBrainLoss(1 * removed) //your life for your mind. The Earthmother's Tithe.
\ No newline at end of file