Merge pull request #9287 from Citinited/funny-chemicals

Adds a new clown chemical 🤡
This commit is contained in:
variableundefined
2019-01-28 06:11:38 +08:00
committed by GitHub
13 changed files with 111 additions and 16 deletions
+1
View File
@@ -119,6 +119,7 @@ var/global/sent_honksquad = 0
equip_to_slot_or_del(new /obj/item/stamp/clown(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/toy/crayon/rainbow(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/reagent_containers/spray/waterflower(src), slot_in_backpack)
equip_to_slot_or_del(new /obj/item/reagent_containers/food/pill/patch/jestosterone(src), slot_r_store)
if(prob(50))
equip_to_slot_or_del(new /obj/item/gun/energy/clown(src), slot_in_backpack)
else
+2 -4
View File
@@ -121,12 +121,10 @@
span = mind.speech_span
if((COMIC in mutations) \
|| (locate(/obj/item/organ/internal/cyberimp/brain/clown_voice) in internal_organs) \
|| istype(get_item_by_slot(slot_wear_mask), /obj/item/clothing/mask/gas/voice/clown))
|| istype(get_item_by_slot(slot_wear_mask), /obj/item/clothing/mask/gas/voice/clown) \
|| GetComponent(/datum/component/jestosterone))
span = "sans"
if(WINGDINGS in mutations)
span = "wingdings"
var/list/parent = ..()
verb = parent["verb"]
@@ -381,7 +381,6 @@
playsound(target.loc, attack.attack_sound, 25, 1, -1)
target.visible_message("<span class='danger'>[user] [pick(attack.attack_verb)]ed [target]!</span>")
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("<span class='danger'>[user] has weakened [target]!</span>", \
@@ -390,6 +389,7 @@
target.forcesay(GLOB.hit_appends)
else if(target.lying)
target.forcesay(GLOB.hit_appends)
SEND_SIGNAL(target, COMSIG_PARENT_ATTACKBY)
/datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
if(target.check_block()) //cqc
+2 -1
View File
@@ -508,6 +508,7 @@
var/turf/T = loc
. = ..()
if(.)
SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED)
handle_footstep(loc)
step_count++
@@ -882,7 +883,7 @@
// If we're pulling something then drop what we're currently pulling and pull this instead.
AM.add_fingerprint(src)
if(pulling)
if(AM == pulling)// Are we trying to pull something we are already pulling? Then just stop here, no need to continue.
if(AM == pulling)// Are we trying to pull something we are already pulling? Then just stop here, no need to continue.
return
stop_pulling()
if(AM.pulledby)
+1 -1
View File
@@ -577,9 +577,9 @@ var/const/INGEST = 2
reagent_list += R
R.holder = src
R.volume = amount
R.on_new(data)
if(data)
R.data = data
R.on_new(data)
update_total()
if(my_atom)
@@ -419,6 +419,70 @@
/datum/reagent/love/reaction_mob(mob/living/M, method=TOUCH, volume)
to_chat(M, "<span class='notice'>You feel loved!</span>")
/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, and is toxic to mimes."
color = "#ff00ff" //Fuchsia, pity we can't do rainbow here
taste_message = "a funny flavour"
/datum/reagent/jestosterone/on_new()
..()
var/mob/living/carbon/C = holder.my_atom
if(!istype(C))
return
var/mind_type = FALSE
if(C.mind)
if(C.mind.assigned_role == "Clown" || C.mind.assigned_role == SPECIAL_ROLE_HONKSQUAD)
mind_type = "Clown"
to_chat(C, "<span class='notice'>Whatever that was, it feels great!</span>")
else if(C.mind.assigned_role == "Mime")
mind_type = "Mime"
to_chat(C, "<span class='warning'>You feel nauseous.</span>")
C.AdjustDizzy(volume)
else
to_chat(C, "<span class='warning'>Something doesn't feel right...</span>")
C.AdjustDizzy(volume)
C.AddComponent(/datum/component/jestosterone, mind_type)
C.AddComponent(/datum/component/squeak, null, null, null, null, null, TRUE)
/datum/reagent/jestosterone/on_mob_life(mob/living/carbon/M)
if(!istype(M))
return ..()
var/update_flags = STATUS_UPDATE_NONE
if(prob(10))
M.emote("giggle")
GET_COMPONENT_FROM(jestosterone_component, /datum/component/jestosterone, M)
if(jestosterone_component.mind_type == "Clown")
update_flags |= 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)
if(prob(6))
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.",
"What was that?!",
"You can hear bike horns in the distance.",
"You feel like <em>SHOUTING</em>!",
"Sinister laughter echoes in your ears.",
"Your legs feel like jelly.",
"You feel like telling a pun.")
to_chat(M, "<span class='warning'>[pick(clown_message)]</span>")
if(jestosterone_component.mind_type == "Mime")
update_flags |= M.adjustToxLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER)
return ..() | update_flags
/datum/reagent/jestosterone/on_mob_delete(mob/living/M)
..()
GET_COMPONENT_FROM(remove_fun, /datum/component/jestosterone, M)
GET_COMPONENT_FROM(squeaking, /datum/component/squeak, M)
remove_fun.Destroy()
squeaking.Destroy()
/datum/reagent/royal_bee_jelly
name = "royal bee jelly"
@@ -290,6 +290,18 @@
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, "space_drugs" = 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/jestosterone/on_reaction(datum/reagents/holder, created_volume)
playsound(get_turf(holder.my_atom), 'sound/items/bikehorn.ogg', 50, 1)
/datum/chemical_reaction/royal_bee_jelly
name = "royal bee jelly"
id = "royal_bee_jelly"
@@ -37,4 +37,10 @@
/obj/item/reagent_containers/food/pill/patch/nicotine
name = "nicotine patch"
desc = "Helps temporarily curb the cravings of nicotine dependency."
list_reagents = list("nicotine" = 20)
list_reagents = list("nicotine" = 20)
/obj/item/reagent_containers/food/pill/patch/jestosterone
name = "jestosterone patch"
desc = "Helps with brute injuries if the affected person is a clown, otherwise inflicts various annoying effects."
icon_state = "bandaid_clown"
list_reagents = list("jestosterone" = 30)