From 9dca286988b39fa8f4c625895272df01fb1143ba Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Wed, 4 May 2016 03:12:58 -0400 Subject: [PATCH] tweaks and additions --- code/modules/mob/living/carbon/human/emote.dm | 9 +- code/modules/reagents/newchem/drugs.dm | 146 ++++++++++++++---- code/modules/reagents/newchem/toxins.dm | 2 +- 3 files changed, 119 insertions(+), 38 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 657d40983de..9f1b41b3ac5 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -336,7 +336,7 @@ message = "[src] faints." if(src.sleeping) return //Can't faint while asleep - src.sleeping += 10 //Short-short nap + src.sleeping += 1 m_type = 1 if ("cough", "coughs") @@ -791,14 +791,9 @@ continue // Now, we don't have this: //new /obj/effects/fart_cloud(T,L) - // But: - // <[REDACTED]> so, what it does is...imagine a 3x3 grid with the person in the center. When someone uses the emote *fart (it's not a spell style ability and has no cooldown), then anyone in the 8 tiles AROUND the person who uses it - // <[REDACTED]> gets between 1 and 10 units of jenkem added to them...we obviously don't have Jenkem, but Space Drugs do literally the same exact thing as Jenkem - // <[REDACTED]> the user, of course, isn't impacted because it's not an actual smoke cloud - // So, let's give 'em space drugs. if (M == src) continue - M.reagents.add_reagent("space_drugs",rand(1,10)) + M.reagents.add_reagent("jenkem", 1) if ("help") var/emotelist = "aflap(s), airguitar, blink(s), blink(s)_r, blush(es), bow(s)-(none)/mob, burp(s), choke(s), chuckle(s), clap(s), collapse(s), cough(s),cry, cries, custom, dap(s)(none)/mob," \ diff --git a/code/modules/reagents/newchem/drugs.dm b/code/modules/reagents/newchem/drugs.dm index 9dea913cbfe..127a37593d1 100644 --- a/code/modules/reagents/newchem/drugs.dm +++ b/code/modules/reagents/newchem/drugs.dm @@ -60,7 +60,7 @@ else if(effect <= 7) M.emote("collapse") to_chat(M, "Your heart is pounding!") - M << 'sound/effects/Heart Beat.ogg' + M << 'sound/effects/singlebeat.ogg' M.Paralyse(5) M.Jitter(30) M.adjustToxLoss(6) @@ -326,30 +326,97 @@ name = "Bath Salts" id = "bath_salts" description = "Sometimes packaged as a refreshing bathwater additive, these crystals are definitely not for human consumption." - reagent_state = LIQUID - color = "#60A584" // rgb: 96, 165, 132 + reagent_state = SOLID + color = "#FAFAFA" overdose_threshold = 20 addiction_chance = 80 metabolization_rate = 0.6 - /datum/reagent/bath_salts/on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom - var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.") - if(prob(5)) - to_chat(M, "[high_message]") - M.AdjustParalysis(-5) - M.AdjustStunned(-5) - M.AdjustWeakened(-5) - M.adjustStaminaLoss(-10) - M.adjustBrainLoss(1) - M.adjustToxLoss(0.1) - M.hallucination += 10 - if(M.canmove && !istype(M.loc, /turf/space)) - step(M, pick(cardinal)) - step(M, pick(cardinal)) + var/check = rand(0,100) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(check < 8 && H.h_style != "Very Long Beard") + H.h_style = "Very Long Hair" + H.f_style = "Very Long Beard" + H.update_hair() + H.update_fhair() + H.visible_message("[H] has a wild look in their eyes!") + if(check < 60) + M.SetParalysis(0) + M.SetStunned(0) + M.SetWeakened(0) + if(check < 30) + M.emote(pick("twitch", "twitch_s", "scream", "drool", "grumble", "mumble")) + M.druggy = max(M.druggy, 15) + if(check < 20) + M.confused += 10 + if(check < 8) + M.reagents.add_reagent(pick("methamphetamine", "crank", "neurotoxin"), rand(1,5)) + M.visible_message("[M] scratches at something under their skin!") + M.adjustBruteLoss(5) + else if(check < 16) + M.hallucination += 30 + else if(check < 24) + to_chat(M, "They're coming for you!") + else if(check < 28) + to_chat(M, "THEY'RE GONNA GET YOU!") ..() - return + +/datum/reagent/bath_salts/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) + if(method == INGEST) + to_chat(M, "You feel FUCKED UP!!!!!!") + M << 'sound/effects/singlebeat.ogg' + M.emote("faint") + M.apply_effect(5, IRRADIATE, negate_armor = 1) + M.adjustToxLoss(5) + M.adjustBrainLoss(10) + else + to_chat(M, "You feel a bit more salty than usual.") + +/datum/reagent/bath_salts/overdose_process(var/mob/living/M as mob, severity) + var/effect = ..() + if(severity == 1) + if(effect <= 2) + M.visible_message("[M] flails around like a lunatic!") + M.confused += 25 + M.Jitter(10) + M.emote("scream") + M.reagents.add_reagent("jagged_crystals", 5) + else if(effect <= 4) + M.visible_message("[M]'s eyes dilate!") + M.emote("twitch_s") + M.adjustToxLoss(2) + M.adjustBrainLoss(1) + M.Stun(3) + M.eye_blurry = max(M.eye_blurry, 7) + M.reagents.add_reagent("jagged_crystals", 5) + else if(effect <= 7) + M.emote("faint") + M.reagents.add_reagent("jagged_crystals", 5) + else if(severity == 2) + if(effect <= 2) + M.visible_message("[M]'s eyes dilate!") + M.adjustToxLoss(2) + M.adjustBrainLoss(1) + M.Stun(3) + M.eye_blurry = max(M.eye_blurry, 7) + M.reagents.add_reagent("jagged_crystals", 5) + else if(effect <= 4) + M.visible_message("[M] convulses violently and falls to the floor!") + M.Jitter(50) + M.adjustToxLoss(2) + M.adjustBrainLoss(1) + M.Weaken(8) + M.emote("gasp") + M.reagents.add_reagent("jagged_crystals", 5) + else if(effect <= 7) + M.emote("scream") + M.visible_message("[M] tears at their own skin!") + M.adjustBruteLoss(5) + M.reagents.add_reagent("jagged_crystals", 5) + M.emote("twitch") /datum/chemical_reaction/bath_salts name = "bath_salts" @@ -361,18 +428,37 @@ mix_message = "Tiny cubic crystals precipitate out of the mixture. Huh." mix_sound = 'sound/goonstation/misc/fuse.ogg' -/datum/reagent/bath_salts/overdose_process(var/mob/living/M as mob, severity) - M.hallucination += 10 - if(M.canmove && !istype(M.loc, /turf/space)) - for(var/i = 0, i < 8, i++) - step(M, pick(cardinal)) - if(prob(20)) - M.emote(pick("twitch","drool","moan")) - if(prob(33)) - var/obj/item/I = M.get_active_hand() - if(I) - M.drop_item() - return +/datum/chemical_reaction/jenkem + name = "Jenkem" + id = "jenkem" + result = "jenkem" + required_reagents = list("toiletwater" = 1, "ammonia" = 1, "water" = 1) + result_amount = 3 + mix_message = "The mixture ferments into a filthy morass." + mix_sound = 'sound/effects/blobattack.ogg' + +/datum/chemical_reaction/jenkem/on_reaction(var/datum/reagents/holder) + var/turf/T = get_turf(holder.my_atom) + T.visible_message("The solution generates a strong vapor!") + for(var/mob/living/carbon/C in range(T, 1)) + if(!(C.wear_mask && (C.internals != null || C.wear_mask.flags & BLOCK_GAS_SMOKE_EFFECT))) + C.reagents.add_reagent("jenkem", 25) + +/datum/reagent/jenkem + name = "Jenkem" + id = "jenkem" + description = "Jenkem is a prison drug made from fermenting feces in a solution of urine. Extremely disgusting." + reagent_state = LIQUID + color = "#644600" + addiction_chance = 30 + +/datum/reagent/jenkem/on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + M.Dizzy(5) + if(prob(10)) + M.emote(pick("twitch_s","drool","moan")) + M.adjustToxLoss(1) + ..() /datum/chemical_reaction/aranesp name = "Aranesp" diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm index 7ec34a4e6f5..5ab704bfb52 100644 --- a/code/modules/reagents/newchem/toxins.dm +++ b/code/modules/reagents/newchem/toxins.dm @@ -87,7 +87,7 @@ M.Weaken(8) else if(effect <= 7) to_chat(M, "Your heartbeat is pounding inside your head!") - M << 'sound/effects/Heart Beat.ogg' + M << 'sound/effects/singlebeat.ogg' M.emote("collapse") M.adjustOxyLoss(8) M.adjustToxLoss(3)