diff --git a/code/__DEFINES/research.dm b/code/__DEFINES/research.dm
index 46cbccc8fee..c385e467e8c 100644
--- a/code/__DEFINES/research.dm
+++ b/code/__DEFINES/research.dm
@@ -94,6 +94,7 @@
#define CELL_LINE_TABLE_MOLD "cell_line_mold_table"
#define CELL_LINE_TABLE_MOIST "cell_line_moist_table"
#define CELL_LINE_TABLE_BLOB "cell_line_blob_table"
+#define CELL_LINE_TABLE_CLOWN "cell_line_clown_table"
///Biopsy cell line types
#define CELL_LINE_TABLE_BEAR "cell_line_bear_table"
diff --git a/code/_globalvars/lists/xenobiology.dm b/code/_globalvars/lists/xenobiology.dm
index 36bf999f32c..496107dc5ed 100644
--- a/code/_globalvars/lists/xenobiology.dm
+++ b/code/_globalvars/lists/xenobiology.dm
@@ -23,7 +23,8 @@ GLOBAL_LIST_INIT_TYPED(cell_line_tables, /list, list(
CELL_LINE_TABLE_PUG = list(/datum/micro_organism/cell_line/pug = 1),
CELL_LINE_TABLE_SLIME = list(/datum/micro_organism/cell_line/slime = 1),
CELL_LINE_TABLE_SNAKE = list(/datum/micro_organism/cell_line/snake = 1),
- CELL_LINE_TABLE_VATBEAST = list(/datum/micro_organism/cell_line/vat_beast = 1)
+ CELL_LINE_TABLE_VATBEAST = list(/datum/micro_organism/cell_line/vat_beast = 1),
+ CELL_LINE_TABLE_CLOWN = list(/datum/micro_organism/cell_line/clown/bananaclown = 1, /datum/micro_organism/cell_line/clown/fleshclown = 1, /datum/micro_organism/cell_line/clown/longclown = 1)
))
///Assoc list of cell virus define | assoc list of datum | cell_virus
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index c2f6506809f..2c9522b6613 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -94,6 +94,7 @@
"The Madman" = image(icon = src.icon, icon_state = "joker"),
"The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow")
)
+ AddElement(/datum/element/swabable, CELL_LINE_TABLE_CLOWN, CELL_VIRUS_TABLE_GENERIC, rand(2,3), 0)
/obj/item/clothing/mask/gas/clown_hat/ui_action_click(mob/user)
if(!istype(user) || user.incapacitated())
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 4da9c709f50..23527a7fc52 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -101,6 +101,7 @@
/obj/item/clothing/shoes/clown_shoes/Initialize()
. = ..()
AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg'=1,'sound/effects/clownstep2.ogg'=1), 50)
+ AddElement(/datum/element/swabable, CELL_LINE_TABLE_CLOWN, CELL_VIRUS_TABLE_GENERIC, rand(2,3), 0)
/obj/item/clothing/shoes/clown_shoes/equipped(mob/user, slot)
. = ..()
diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm
index 47ffa8b918e..efb31b79b84 100644
--- a/code/modules/clothing/under/jobs/civilian/clown_mime.dm
+++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm
@@ -28,6 +28,9 @@
desc = "'HONK!'"
icon_state = "clown"
inhand_icon_state = "clown"
+/obj/item/clothing/under/rank/civilian/clown/Initialize()
+ . = ..()
+ AddElement(/datum/element/swabable, CELL_LINE_TABLE_CLOWN, CELL_VIRUS_TABLE_GENERIC, rand(2,3), 0)
/obj/item/clothing/under/rank/civilian/clown/blue
name = "blue clown suit"
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
index 7ff44434782..b4cf8bcf90d 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
@@ -292,6 +292,10 @@
attack_verb_simple = "awkwardly flail at"
loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human)
+/mob/living/simple_animal/hostile/retaliate/clown/mutant/slow
+ speed = 20
+ move_to_delay = 60
+
/mob/living/simple_animal/hostile/retaliate/clown/mutant/blob
name = "Something that was once a clown"
desc = "A grotesque bulging figure far mutated from it's original state."
@@ -306,3 +310,7 @@
attack_verb_simple = "bounce off of"
loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human)
attack_reagent = /datum/reagent/toxin/mindbreaker
+
+/mob/living/simple_animal/hostile/retaliate/clown/mutant/blob/slow
+ speed = 50
+ move_to_delay = 120
diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm
index 592cd03c244..7a4e2f8bd14 100644
--- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm
+++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm
@@ -374,4 +374,36 @@
. = ..()
qdel(vat)
+/datum/micro_organism/cell_line/clown/fuck_up_growing(var/obj/machinery/plumbing/growing_vat/vat)
+ vat.visible_message("The biological sample in [vat] seems to have created something horrific!")
+ QDEL_NULL(vat.biological_sample) //Kill off the sample, we're done
+
+ var/mob/selected_mob = pick(list(/mob/living/simple_animal/hostile/retaliate/clown/mutant/slow, /mob/living/simple_animal/hostile/retaliate/clown/mutant/blob/slow))
+
+ new selected_mob(get_turf(vat))
+
+/datum/micro_organism/cell_line/clown/bananaclown
+ desc = "Clown bits with banana chunks"
+
+ required_reagents = list(/datum/reagent/consumable/banana)
+ supplementary_reagents = list(/datum/reagent/consumable/banana_peel = 4)
+
+ resulting_atoms = list(/mob/living/simple_animal/hostile/retaliate/clown/banana = 1)
+
+/datum/micro_organism/cell_line/clown/fleshclown
+ desc = "Overly fleshy clown bits"
+
+ required_reagents = list(/datum/reagent/consumable/banana)
+ supplementary_reagents = list(/datum/reagent/consumable/nutriment/protein = 4)
+
+ resulting_atoms = list(/mob/living/simple_animal/hostile/retaliate/clown/fleshclown = 1)
+
+/datum/micro_organism/cell_line/clown/longclown
+ desc = "long clown bits"
+
+ required_reagents = list(/datum/reagent/consumable/banana)
+ supplementary_reagents = list(/datum/reagent/consumable/laughter = 4)
+
+ resulting_atoms = list(/mob/living/simple_animal/hostile/retaliate/clown/longface = 1)
+
#undef VAT_GROWTH_RATE