diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 8a6324e0ebd..bfad9a4db9a 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -25,6 +25,8 @@
/mob/living/carbon/Move(NewLoc, direct)
. = ..()
if(.)
+ if(reagents.has_reagent("jestosterone"))
+ playsound(loc, "clownstep", 25, 1) //Yes, this means that if you put jestosterone inside an alien, it will squeak. Also it stacks with shoes, THE HORROR!
if(nutrition && stat != DEAD)
nutrition -= hunger_drain / 10
if(m_intent == MOVE_INTENT_RUN)
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index d4cafa847fd..10e83e07b5f 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -26,6 +26,8 @@
for(var/datum/surgery/S in surgeries)
if(S.next_step(user, src))
return 1
+ if(reagents.has_reagent("jestosterone") && I.force)
+ playsound(loc, 'sound/items/bikehorn.ogg', 50, 1)
return ..()
/mob/living/carbon/attack_hand(mob/living/carbon/human/user)
@@ -61,6 +63,11 @@
updatehealth("slime attack")
return 1
+/mob/living/carbon/attack_alien(mob/living/carbon/alien/humanoid/M)
+ if((M.a_intent == INTENT_HARM) && reagents.has_reagent("jestosterone"))
+ playsound(loc, 'sound/items/bikehorn.ogg', 50, 1)
+ ..()
+
/mob/living/carbon/is_mouth_covered(head_only = FALSE, mask_only = FALSE)
if((!mask_only && head && (head.flags_cover & HEADCOVERSMOUTH)) || (!head_only && wear_mask && (wear_mask.flags_cover & MASKCOVERSMOUTH)))
return TRUE
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 4d97ddfd78a..0410a179cc9 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -124,9 +124,6 @@
|| istype(get_item_by_slot(slot_wear_mask), /obj/item/clothing/mask/gas/voice/clown))
span = "sans"
- if(WINGDINGS in mutations)
- span = "wingdings"
-
var/list/parent = ..()
verb = parent["verb"]
diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm
index bc276b05b00..d7a9ed07f21 100644
--- a/code/modules/mob/living/carbon/human/species/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/_species.dm
@@ -381,7 +381,8 @@
playsound(target.loc, attack.attack_sound, 25, 1, -1)
target.visible_message("[user] [pick(attack.attack_verb)]ed [target]!")
-
+ if(target.reagents.has_reagent("jestosterone"))
+ playsound(target.loc, 'sound/items/bikehorn.ogg', 50, 1)
target.apply_damage(damage, BRUTE, affecting, armor_block, sharp = attack.sharp) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway.
if((target.stat != DEAD) && damage >= user.dna.species.punchstunthreshold)
target.visible_message("[user] has weakened [target]!", \
diff --git a/code/modules/reagents/chemistry/reagents/misc.dm b/code/modules/reagents/chemistry/reagents/misc.dm
index 02e8d1da21c..a5d665b1d0a 100644
--- a/code/modules/reagents/chemistry/reagents/misc.dm
+++ b/code/modules/reagents/chemistry/reagents/misc.dm
@@ -419,6 +419,44 @@
/datum/reagent/love/reaction_mob(mob/living/M, method=TOUCH, volume)
to_chat(M, "You feel loved!")
+/datum/reagent/jestosterone //Formerly known as Nitrogen tungstide hypochlorite before NT fired the chemists for trying to be funny
+ name = "Jestosterone"
+ id = "jestosterone"
+ description = "Jestosterone is an odd chemical compound that induces a variety of annoying side-effects in the average person. It also causes mild intoxication."
+ color = "#ff00ff" //Fuchsia, pity we can't do rainbow here
+ taste_message = "a funny flavour"
+
+/datum/reagent/jestosterone/reaction_mob(mob/living/M, method, volume)
+ if(ishuman(M) && M.job in list("Clown"))
+ to_chat(M, "Whatever that was, it feels great!")
+ else
+ to_chat(M, "Something doesn't feel right...")
+ M.AdjustDizzy(volume)
+ ..()
+
+/datum/reagent/jestosterone/on_mob_life(mob/living/M)
+ if(prob(10))
+ M.emote("giggle")
+ if(ishuman(M) && M.job in list("Clown"))
+ M.adjustBruteLoss(-1.5 * REAGENTS_EFFECT_MULTIPLIER) //Screw those pesky clown beatings!
+ else
+ M.AdjustDizzy(10, 0, 500)
+ M.Druggy(15)
+ if(prob(10))
+ M.EyeBlurry(5)
+ else if(prob(5))
+ var/list/clown_message = list("You feel light-headed.",
+ "You can't see straight.",
+ "You feel about as funny as the station clown.",
+ "Bright colours and rainbows cloud your vision.",
+ "Your funny bone aches.",
+ "You can hear bike horns in the distance.",
+ "You feel like SHOUTING!",
+ "Sinister laughter echoes in your ears.",
+ "Your legs feel like jelly.",
+ "You feel like telling a pun.")
+ to_chat(M, "[pick(clown_message)]")
+ ..()
/datum/reagent/royal_bee_jelly
name = "royal bee jelly"
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index 4651ba0f87c..b56c22d8069 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -290,6 +290,15 @@
result_amount = 2
mix_message = "The substance gives off a lovely scent!"
+/datum/chemical_reaction/jestosterone
+ name = "Jestosterone"
+ id = "jestosterone"
+ result = "jestosterone"
+ required_reagents = list("blood" = 1, "sodiumchloride" = 1, "banana" = 1, "lube" = 1, "mercury" = 1) //Or one freshly-squeezed clown
+ min_temp = 374
+ result_amount = 5
+ mix_message = "The substance quickly shifts colour, cycling from red, to yellow, to green, to blue, and finally settles at a vibrant fuchsia."
+
/datum/chemical_reaction/royal_bee_jelly
name = "royal bee jelly"
id = "royal_bee_jelly"