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"