diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 130bf7b05db..2f3758012dc 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -586,7 +586,7 @@
m_type = 1
if ("tremble", "trembles")
- message = "[src] trembles in fear!"
+ message = "[src] trembles."
m_type = 1
if ("sneeze", "sneezes")
diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm
index 2b041372ee8..33377f42194 100644
--- a/code/modules/reagents/newchem/drinks.dm
+++ b/code/modules/reagents/newchem/drinks.dm
@@ -16,19 +16,18 @@
/datum/reagent/ginsonic/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- if(prob(10))
+ M.drowsyness = max(0, M.drowsyness-5)
+ if(prob(25))
+ M.AdjustParalysis(-1)
+ M.AdjustStunned(-1)
+ M.AdjustWeakened(-1)
+ if(prob(8))
M.reagents.add_reagent("methamphetamine",1.2)
- M.reagents.add_reagent("ethanol",1.4)
- if(prob(8))
- M.say(pick("Gotta go fast!", "Let's juice.", "I feel a need for speed!", "Way Past Cool!"))
- if(prob(8))
- switch(pick(1, 2, 3))
- if(1)
- M << "Time to speed, keed!"
- if(2)
- M << "Let's juice."
- if(3)
- M << "Way Past Cool!"
+ var/sonic_message = pick("Gotta go fast!", "Time to speed, keed!", "I feel a need for speed!", "Let's juice.", "Juice time.", "Way Past Cool!")
+ if(prob(50))
+ M.say("[sonic_message]")
+ else
+ M << "[sonic_message ]"
..()
return
diff --git a/code/modules/reagents/newchem/drugs.dm b/code/modules/reagents/newchem/drugs.dm
index bbecf0c134e..8ba994a1a24 100644
--- a/code/modules/reagents/newchem/drugs.dm
+++ b/code/modules/reagents/newchem/drugs.dm
@@ -198,7 +198,7 @@
/datum/reagent/methamphetamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(5))
- M.emote(pick("twitch","blink_r","shiver"))
+ M.emote(pick("twitch_s","blink_r","shiver"))
if(current_cycle >= 25)
M.jitteriness += 5
M.drowsyness = max(M.drowsyness-10, 0)
@@ -397,17 +397,19 @@
/datum/reagent/aranesp/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- var/high_message = pick("You feel like you're made of steel!", "You feel invigorated!", "You feel really buff!", "You feel on top of the world!", "You feel full of energy!")
- if(prob(5))
- M << "[high_message]"
M.adjustStaminaLoss(-40)
if(prob(90))
M.adjustToxLoss(1)
+ if (prob(5))
+ M.emote(pick("twitch", "shake", "tremble","quiver", "twitch_s"))
+ var/high_message = pick("really buff", "on top of the world","like you're made of steel", "energized", "invigorated", "full of energy")
+ if(prob(8))
+ M << "[high_message]!"
if(prob(5))
M << "You cannot breathe!"
- M.losebreath += 1
M.adjustOxyLoss(15)
M.Stun(1)
+ M.losebreath++
..()
return
@@ -476,10 +478,13 @@
M.SpinAnimation(speed = 5, loops = -1)
if(current_cycle == 50)
M.SpinAnimation(speed = 4, loops = -1)
- M.AdjustParalysis(-2)
- M.AdjustStunned(-2)
- M.AdjustWeakened(-2)
- M.adjustStaminaLoss(-2)
+
+ M.drowsyness = max(0, M.drowsyness-6)
+ M.AdjustParalysis(-1.5)
+ M.AdjustStunned(-1.5)
+ M.AdjustWeakened(-1.5)
+ M.adjustStaminaLoss(-1.5)
+ M.setSleeping(0)
..()
return
diff --git a/code/modules/reagents/newchem/food.dm b/code/modules/reagents/newchem/food.dm
index 1329828b948..306341f7476 100644
--- a/code/modules/reagents/newchem/food.dm
+++ b/code/modules/reagents/newchem/food.dm
@@ -22,8 +22,10 @@ datum/reagent/egg
datum/reagent/egg/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- if(prob(5))
+ if(prob(8))
M.emote("fart")
+ if(prob(3))
+ M.reagents.add_reagent("cholesterol", rand(1,2))
..()
return
@@ -118,7 +120,7 @@ datum/reagent/vhfcs/on_mob_life(var/mob/living/M as mob)
datum/reagent/honey/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.reagents.add_reagent("sugar", 0.8)
+ M.reagents.add_reagent("sugar", 0.4)
..()
return
@@ -174,13 +176,15 @@ datum/reagent/mugwort/on_mob_life(var/mob/living/M as mob)
reagent_state = LIQUID
color = "#AB5D5D"
metabolization_rate = 0.2
- overdose_threshold = 125
+ overdose_threshold = 133
datum/reagent/porktonium/overdose_process(var/mob/living/M as mob)
- if(volume > 125)
+ if(volume > 133)
+ if(prob(15))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
if(prob(8))
- M.reagents.add_reagent("cyanide", 10)
M.reagents.add_reagent("radium", 15)
+ M.reagents.add_reagent("cyanide", 10)
..()
return
@@ -195,7 +199,13 @@ datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
if(!istype(M, /mob/living))
return
if(method == INGEST)
- M << "Yuck!"
+ var/ranchance = rand(1,10)
+ if(ranchance == 1)
+ M << "You feel very sick."
+ M.reagents.add_reagent("toxin", rand(1,5))
+ else if (ranchance <= 5 && ranchance != 1)
+ M << "That tasted absolutely FOUL."
+ else M << "Yuck!"
/datum/reagent/chicken_soup
name = "Chicken soup"
@@ -216,6 +226,7 @@ datum/reagent/fungus/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
description = "Monosodium Glutamate is a sodium salt known chiefly for its use as a controversial flavor enhancer."
reagent_state = LIQUID
color = "#F5F5F5"
+ metabolization_rate = 0.2
datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
if(!istype(M, /mob/living))
@@ -225,9 +236,12 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
/datum/reagent/msg/on_mob_life(var/mob/living/M as mob)
- if(prob(1))
- M.Stun(rand(4,10))
- M << "A horrible migraine overpowers you."
+ if(prob(5))
+ if (prob(10))
+ M.adjustToxLoss(rand(2.4))
+ if(prob(7))
+ M << "A horrible migraine overpowers you."
+ M.Stun(rand(2,5))
..()
return
@@ -238,6 +252,11 @@ datum/reagent/msg/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
reagent_state = SOLID
color = "#FFFF00"
+
+/datum/reagent/cheese/on_mob_life(var/mob/living/M as mob)
+ if(prob(3))
+ M.reagents.add_reagent("cholesterol", rand(1,2)) //intentional no parent call, hehehe.
+
datum/reagent/cheese/reaction_turf(var/turf/T, var/volume)
src = null
if(volume >= 5)
@@ -258,6 +277,13 @@ datum/reagent/cheese/reaction_turf(var/turf/T, var/volume)
description = "A cheese-like substance derived loosely from actual cheese."
reagent_state = LIQUID
color = "#B2B139"
+ overdose_threshold = 50
+
+/datum/reagent/fake_cheese/overdose_process(var/mob/living/M as mob)
+ if(prob(8))
+ M << "You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat."
+ M.adjustToxLoss(rand(1,2))
+ ..()
/datum/reagent/weird_cheese
name = "Weird cheese"
@@ -266,6 +292,10 @@ datum/reagent/cheese/reaction_turf(var/turf/T, var/volume)
reagent_state = SOLID
color = "#50FF00"
+/datum/reagent/weird_cheese/on_mob_life(var/mob/living/M as mob)
+ if(prob(5))
+ M.reagents.add_reagent("cholesterol", rand(1,3)) //intentional no parent call, hehehe.
+
datum/reagent/weird_cheese/reaction_turf(var/turf/T, var/volume)
src = null
if(volume >= 5)
@@ -289,7 +319,7 @@ datum/reagent/beans
datum/reagent/beans/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- if(prob(8))
+ if(prob(10))
M.emote("fart")
..()
return
@@ -353,7 +383,7 @@ datum/reagent/ectoplasm/reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
/datum/reagent/ectoplasm/on_mob_life(var/mob/living/M as mob)
var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...")
- if(prob(5))
+ if(prob(8))
M << "[spooky_message]"
..()
return
@@ -365,15 +395,17 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume)
return
/datum/reagent/soybeanoil
- name = "Space-soybean oil "
+ name = "Space-soybean oil"
id = "soybeanoil"
description = "An oil derived from extra-terrestrial soybeans."
reagent_state = LIQUID
color = "#B1B0B0"
/datum/reagent/soybeanoil/on_mob_life(var/mob/living/M as mob)
- if(prob(5))
- M.reagents.add_reagent("porktonium",5)
+ if(prob(10))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ if(prob(8))
+ M.reagents.add_reagent("porktonium", 5)
..()
return
@@ -383,13 +415,33 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume)
description = "An oil derived from extra-terrestrial soybeans, with additional hydrogen atoms added to convert it into a saturated form."
reagent_state = LIQUID
color = "#B1B0B0"
+ metabolization_rate = 0.2
+ overdose_threshold = 75
/datum/reagent/hydrogenated_soybeanoil/on_mob_life(var/mob/living/M as mob)
+ if(prob(15))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
if(prob(8))
- M.reagents.add_reagent("porktonium",5)
+ M.reagents.add_reagent("porktonium", 5)
+ if(holder.has_reagent(src.id,75))
+ metabolization_rate = 0.4
+ else
+ metabolization_rate = 0.2
..()
return
+/datum/reagent/hydrogenated_soybeanoil/overdose_process(var/mob/living/M as mob)
+ if(prob(33))
+ M << "You feel horribly weak."
+ if(prob(10))
+ M << "You cannot breathe!"
+ M.adjustOxyLoss(5)
+ if(prob(5))
+ M << "You feel a sharp pain in your chest!"
+ M.adjustOxyLoss(25)
+ M.Stun(5)
+ M.Paralyse(10)
+
/datum/chemical_reaction/hydrogenated_soybeanoil
name = "Partially hydrogenated space-soybean oil"
id = "hydrogenated_soybeanoil"
@@ -406,6 +458,17 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume)
reagent_state = LIQUID
color = "#EBD7D7"
+/datum/reagent/meatslurry/on_mob_life(var/mob/living/M as mob)
+ if(prob(4))
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ ..()
+
+/datum/reagent/meatslurry/reaction_turf(var/turf/T, var/volume)
+ src = null
+ if(volume >= 5 && prob(10))
+ new /obj/effect/decal/cleanable/blood/gibs/cleangibs(T)
+ playsound(T, 'sound/effects/splat.ogg', 50, 1, -3)
+
/datum/chemical_reaction/meatslurry
name = "Meat Slurry"
id = "meatslurry"
@@ -447,13 +510,12 @@ datum/reagent/ectoplasm/reaction_turf(var/turf/T, var/volume)
/datum/reagent/beff/on_mob_life(var/mob/living/M as mob)
if(prob(5))
- M.reagents.add_reagent("porktonium",5)
- if(prob(5))
- M.reagents.add_reagent(pick("blood", "corn_syrup", "synthflesh", "hydrogenated_soybeanoil"), 0.8)
- if(prob(5))
- M.emote("groan")
- if(prob(2))
- M << "You feel sick."
+ M.reagents.add_reagent("cholesterol", rand(1,3))
+ if(prob(8))
+ M.reagents.add_reagent(pick("blood", "corn_syrup", "synthflesh", "hydrogenated_soybeanoil", "porktonium", "toxic_slurry"), 0.8)
+ else if(prob(6))
+ M << "[pick("You feel ill.","Your stomach churns.","You feel queasy.","You feel sick.")]"
+ M.emote(pick("groan","moan"))
..()
return
@@ -488,7 +550,7 @@ datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vol
if(prob(50))
M.adjustBruteLoss(1)
- playsound(M, 'sound/effects/woodhit.ogg', 50, 1, -1)
+ playsound(M, 'sound/effects/woodhit.ogg', 50, 1)
M << "A slice of pepperoni slaps you!"
else
M.emote("burp")
@@ -502,4 +564,29 @@ datum/reagent/pepperoni/reaction_mob(var/mob/living/M, var/method=TOUCH, var/vol
required_reagents = list("beff" = 1, "saltpetre" = 1, "synthflesh" = 1)
result_amount = 2
mix_message = "The beff and the synthflesh combine to form a smoky red log."
- mix_sound = 'sound/effects/blobattack.ogg'
\ No newline at end of file
+ mix_sound = 'sound/effects/blobattack.ogg'
+
+/datum/reagent/cholesterol
+ name = "cholesterol"
+ id = "cholesterol"
+ description = "Pure cholesterol. Probably not very good for you."
+ reagent_state = LIQUID
+ color = "#FFFAC8"
+
+/datum/reagent/cholesterol/on_mob_life(var/mob/living/M as mob)
+ if(holder.get_reagent_amount(src.id) >= 25 && prob(holder.get_reagent_amount(src.id)*0.15))
+ M << "Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!"
+ M.adjustToxLoss(rand(1,2))
+ else if (holder.get_reagent_amount(src.id) >= 45 && prob(holder.get_reagent_amount(src.id)*0.08))
+ M << "Your chest [pick("hurts","stings","aches","burns")]!"
+ M.adjustToxLoss(rand(2,4))
+ M.stunned ++
+ else if (holder.get_reagent_amount(src.id) >= 150 && prob(holder.get_reagent_amount(src.id)*0.01))
+ M << "Your chest is burning with pain!"
+ M.Stun(1)
+ M.Weaken(1)
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(!H.heart_attack)
+ H.heart_attack = 1
+ ..()
\ No newline at end of file
diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm
index 1617fdfa7e9..2a7e0517f50 100644
--- a/code/modules/reagents/newchem/medicine.dm
+++ b/code/modules/reagents/newchem/medicine.dm
@@ -226,11 +226,8 @@ datum/reagent/potass_iodide
datum/reagent/potass_iodide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- if(M.radiation > 0)
- if(prob(80))
- M.radiation--
- if(M.radiation < 0)
- M.radiation = 0
+ if(prob(80))
+ M.radiation = max(0, M.radiation-1)
..()
return
@@ -251,18 +248,15 @@ datum/reagent/pen_acid
datum/reagent/pen_acid/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- if(M.radiation > 0)
- M.radiation -= 7
+ for(var/datum/reagent/R in M.reagents.reagent_list)
+ if(R != src)
+ M.reagents.remove_reagent(R.id,4)
+ M.radiation = max(0, M.radiation-7)
if(prob(75))
M.adjustToxLoss(-4*REM)
if(prob(33))
M.adjustBruteLoss(1*REM)
M.adjustFireLoss(1*REM)
- if(M.radiation < 0)
- M.radiation = 0
- for(var/datum/reagent/R in M.reagents.reagent_list)
- if(R != src)
- M.reagents.remove_reagent(R.id,4)
..()
return
diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm
index d5831cc0360..a9006bfcb3f 100644
--- a/code/modules/reagents/newchem/toxins.dm
+++ b/code/modules/reagents/newchem/toxins.dm
@@ -329,9 +329,10 @@
M.losebreath += 5
M.adjustOxyLoss(10)
if(2)
- var/mob/living/carbon/human/H = M
- if(!H.heart_attack)
- H.heart_attack = 1 // rip in pepperoni
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(!H.heart_attack)
+ H.heart_attack = 1 // rip in pepperoni
..()
return
@@ -596,10 +597,10 @@
if(1 to 15)
M.jitteriness += 20
if(prob(20))
- M.emote(pick("twitch","twitch_v","quiver"))
+ M.emote(pick("twitch","twitch_s","quiver"))
if(16 to 30)
if(prob(25))
- M.emote(pick("twitch","twitch_v","drool","quiver","tremble"))
+ M.emote(pick("twitch","twitch","drool","quiver","tremble"))
M.eye_blurry += 5
M.stuttering = max(M.stuttering, 5)
if(prob(10))
@@ -612,7 +613,7 @@
M.stuttering = max(M.stuttering, 5)
if(prob(10))
M.Stun(1)
- M.emote(pick("twitch","twitch_v","drool","shake","tremble"))
+ M.emote(pick("twitch","twitch","drool","shake","tremble"))
if(prob(5))
M.emote("collapse")
if(prob(5))
@@ -625,7 +626,7 @@
M.losebreath++
if(61 to INFINITY)
if(prob(15))
- M.emote(pick("gasp", "choke", "cough","twitch", "shake", "tremble","quiver","drool", "twitch_v","collapse"))
+ M.emote(pick("gasp", "choke", "cough","twitch", "shake", "tremble","quiver","drool", "twitch","collapse"))
M.losebreath = max(5, M.losebreath + 5)
M.adjustToxLoss(1)
M.adjustBrainLoss(1)