diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index c891b7475bc..4d1ae80ccbc 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -202,6 +202,15 @@ var/list/uplink_items = list()
job = list("Research Director")
+//Stimulants
+
+/datum/uplink_item/jobspecific/stims
+ name = "Stimulants"
+ desc = "A highly illegal compound containd within a comapct auto-injector; when injected it makes the user extremely resistant to incapacitation and greatly enhances the body's ability to repair itself."
+ item = /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimulants
+ cost = 7
+ job = list("Scientist","Research Director","Geneticist","Chief Medical Officer","Medical Doctor","Psychiatrist","Chemist","Paramedic","Virologist","Brig Physician")
+
// DANGEROUS WEAPONS
/datum/uplink_item/dangerous
@@ -383,8 +392,7 @@ var/list/uplink_items = list()
/datum/uplink_item/stealthy_weapons/sleepy_pen
name = "Sleepy Pen"
- desc = "A syringe disguised as a functional pen, filled with a potent mix of drugs, including a strong anaesthetic and a chemical that is capable of blocking the movement of the vocal chords. \
- The pen holds one dose of the mixture. The pen can be refilled."
+ desc = "A syringe disguised as a functional pen. It's filled with a potent anaesthetic. \The pen holds two doses of the mixture. The pen can be refilled."
item = /obj/item/weapon/pen/sleepy
cost = 8
excludefrom = list("nuclear emergency")
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 220931d805e..a7a2ec07130 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -47,11 +47,18 @@
adjustmask(user)
/obj/item/clothing/mask/fakemoustache
- name = "fake moustache"
- desc = "Warning: moustache is fake."
+ name = "completely real moustache"
+ desc = "moustache is totally real."
icon_state = "fake-moustache"
flags_inv = HIDEFACE
+/obj/item/clothing/mask/fakemoustache/verb/pontificate()
+ set name = "Pontificate Evilly"
+ set category = "Object"
+ set desc = "Devise evil plans of evilness."
+
+ usr.visible_message("\ [usr] twirls \his moustache and laughs [pick("fiendishly","maniacally","diabolically","evilly")]!")
+
//scarves (fit in in mask slot)
/obj/item/clothing/mask/bluescarf
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 290e6a428c1..149b19307a6 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -73,12 +73,10 @@
if(..())
if(reagents.total_volume)
if(M.reagents)
- reagents.trans_to(M, 55)
+ reagents.trans_to(M, 50)
/obj/item/weapon/pen/sleepy/New()
- create_reagents(55)
- reagents.add_reagent("stoxin", 30)
- reagents.add_reagent("mutetoxin", 15)
- reagents.add_reagent("tirizene", 10)
+ create_reagents(100)
+ reagents.add_reagent("ketamine", 100)
..()
diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm
index ac1710d2cbb..e8e27782ccb 100644
--- a/code/modules/projectiles/projectile/bullets.dm
+++ b/code/modules/projectiles/projectile/bullets.dm
@@ -172,7 +172,7 @@
/obj/item/projectile/bullet/dart/metalfoam
New()
..()
- reagents.add_reagent("aluminium", 15)
+ reagents.add_reagent("aluminum", 15)
reagents.add_reagent("foaming_agent", 5)
reagents.add_reagent("pacid", 5)
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 2304b239c63..6abe0deff5e 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -283,7 +283,7 @@
dispensable_reagents = list()
var/list/special_reagents = list(list("hydrogen", "oxygen", "silicon", "phosphorus", "sulfur", "carbon", "nitrogen"),
list("lithium", "sugar", "water", "copper", "mercury", "sodium"),
- list("ethanol", "chlorine", "potassium", "aluminium","plasma", "radium", "fluorine", "iron"))
+ list("ethanol", "chlorine", "potassium", "aluminum","plasma", "radium", "fluorine", "iron"))
/obj/machinery/chem_dispenser/constructable/New()
..()
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 0eb56c51e13..e08f7203444 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -346,7 +346,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.adjustToxLoss(1.5)
+ M.adjustToxLoss(2)
..()
return
@@ -483,6 +483,7 @@ datum
description = "An illegal chemical compound used as drug."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
+ metabolization_rate = 0.2
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -491,7 +492,6 @@ datum
if(M.canmove && !M.restrained())
if(prob(10)) step(M, pick(cardinal))
if(prob(7)) M.emote(pick("twitch","drool","moan","giggle"))
- holder.remove_reagent(src.id, 0.5 * REAGENTS_METABOLISM)
..()
return
@@ -658,13 +658,12 @@ datum
description = "A chemical element."
reagent_state = LIQUID
color = "#484848" // rgb: 72, 72, 72
+ metabolization_rate = 0.2
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- if(M.canmove && istype(M.loc, /turf/space))
- step(M, pick(cardinal))
- if(prob(5)) M.emote(pick("twitch","drool","moan"))
- M.adjustBrainLoss(2)
+ if(prob(70))
+ M.adjustBrainLoss(1)
..()
return
@@ -698,7 +697,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.take_organ_damage(1*REM, 0)
+ M.adjustFireLoss(1)
..()
return
@@ -711,6 +710,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
+ M.adjustFireLoss(1)
M.adjustToxLoss(1*REM)
..()
return
@@ -764,7 +764,11 @@ datum
M.AdjustWeakened(-1)
if(current_cycle >= 90)
M.jitteriness += 10
- if(volume > overdose_threshold)
+ ..()
+ return
+
+ overdose_process(var/mob/living/M as mob)
+ if(volume > 200)
M << "You pass out from hyperglycemic shock!"
M.Paralyse(1)
..()
@@ -780,7 +784,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1*REM)
- M.take_organ_damage(0, 1*REM)
+ M.adjustFireLoss(1)
..()
return
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
@@ -857,8 +861,8 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.adjustToxLoss(2*REM)
- M.take_organ_damage(0, 1*REM)
+ M.adjustToxLoss(1*REM)
+ M.adjustFireLoss(1)
..()
return
@@ -953,10 +957,11 @@ datum
description = "Radium is an alkaline earth metal. It is extremely radioactive."
reagent_state = SOLID
color = "#C7C7C7" // rgb: 199,199,199
+ metabolization_rate = 0.3
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.apply_effect(2*REM,IRRADIATE,0)
+ M.apply_effect(4*REM,IRRADIATE,0)
// radium may increase your chances to cure a disease
if(istype(M,/mob/living/carbon)) // make sure to only use it on carbon mobs
var/mob/living/carbon/C = M
@@ -1048,6 +1053,7 @@ datum
description = "Might cause unpredictable mutations. Keep away from children."
reagent_state = LIQUID
color = "#13BC5E" // rgb: 19, 188, 94
+ metabolization_rate = 0.3
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
if(!..()) return
@@ -1065,7 +1071,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
if(!M) M = holder.my_atom
- M.apply_effect(5*REM,IRRADIATE,0)
+ M.apply_effect(2*REM,IRRADIATE,0)
..()
return
@@ -1189,7 +1195,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.apply_effect(1,IRRADIATE,0)
+ M.apply_effect(2,IRRADIATE,0)
..()
return
@@ -1391,10 +1397,7 @@ datum
if(M.stat == 2.0)
return
if(!M) M = holder.my_atom
- if(prob(33))
- M.take_organ_damage(1*REM, 0)
- M.adjustOxyLoss(3)
- if(prob(20)) M.emote("gasp")
+ M.adjustToxLoss(1)
..()
return
@@ -1725,7 +1728,7 @@ datum
if(!M) M = holder.my_atom
if(M.bodytemperature < 170)
M.adjustCloneLoss(-1)
- M.adjustOxyLoss(-3)
+ M.adjustOxyLoss(-10)
M.heal_organ_damage(3,3)
M.adjustToxLoss(-3)
..()
@@ -1742,9 +1745,6 @@ datum
if(!M) M = holder.my_atom
if(M.bodytemperature < 170)
M.adjustCloneLoss(-3)
- M.adjustOxyLoss(-3)
- M.heal_organ_damage(3,3)
- M.adjustToxLoss(-3)
M.status_flags &= ~DISFIGURED
..()
return
@@ -1826,18 +1826,6 @@ datum
M.status_flags &= ~FAKEDEATH
..()8*/
- mutetoxin
- name = "Mute Toxin"
- id = "mutetoxin"
- description = "A toxin that temporarily paralyzes the vocal cords."
- reagent_state = LIQUID
- color = "#F0F8FF" // rgb: 240, 248, 255
-
- on_mob_life(var/mob/living/M)
- if(!M) M = holder.my_atom
- M.silent += REM + 1
- ..()
-
staminatoxin
name = "Tirizene"
id = "tirizene"
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 2937935b833..2bd3ec01812 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -91,7 +91,7 @@ datum
name = "Unstable mutagen"
id = "mutagen"
result = "mutagen"
- required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1)
+ required_reagents = list("radium" = 1, "plasma" = 1, "chlorine" = 1)
result_amount = 3
tramadol
@@ -122,19 +122,13 @@ datum
required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1)
result_amount = 3
- lexorin
- name = "Lexorin"
- id = "lexorin"
- result = "lexorin"
- required_reagents = list("plasma" = 1, "hydrogen" = 1, "nitrogen" = 1)
- result_amount = 3
-
space_drugs
name = "Space Drugs"
id = "space_drugs"
result = "space_drugs"
required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1)
result_amount = 3
+ mix_message = "Slightly dizzying fumes drift from the solution."
lube
name = "Space Lube"
@@ -283,8 +277,8 @@ datum
name = "Cryoxadone"
id = "cryoxadone"
result = "cryoxadone"
- required_reagents = list("dexalin" = 1, "water" = 1, "oxygen" = 1)
- result_amount = 3
+ required_reagents = list("cryostylane" = 1, "plasma" = 1, "acetone" = 1, "mutagen" = 1)
+ result_amount = 4
clonexadone
name = "Clonexadone"
@@ -391,13 +385,6 @@ datum
required_reagents = list("carpotoxin" = 5, "stoxin" = 5, "copper" = 5)
result_amount = 2
- mutetoxin
- name = "Mute toxin"
- id = "mutetoxin"
- result = "mutetoxin"
- required_reagents = list("uranium" = 2, "water" = 1, "carbon" = 1)
- result_amount = 2
-
rezadone
name = "Rezadone"
id = "rezadone"
@@ -587,6 +574,7 @@ datum
result = "diethylamine"
required_reagents = list ("ammonia" = 1, "ethanol" = 1)
result_amount = 2
+ required_temp = 374
space_cleaner
name = "Space cleaner"
diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm
index f87e1a23130..2ad2c3708ec 100644
--- a/code/modules/reagents/newchem/medicine.dm
+++ b/code/modules/reagents/newchem/medicine.dm
@@ -66,6 +66,7 @@ datum/reagent/salglu_solution
description = "Has a 33% chance per metabolism cycle to heal brute and burn damage."
reagent_state = LIQUID
color = "#C8A5DC"
+ metabolization_rate = 0.15
datum/reagent/salglu_solution/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -187,6 +188,8 @@ datum/reagent/calomel/on_mob_life(var/mob/living/M as mob)
M.reagents.remove_reagent(R.id,5)
if(M.health > 20)
M.adjustToxLoss(5*REM)
+ if(prob(10))
+ M.fakevomit()
..()
return
@@ -302,7 +305,7 @@ datum/reagent/salbutamol/on_mob_life(var/mob/living/M as mob)
name = "Salbutamol"
id = "salbutamol"
result = "salbutamol"
- required_reagents = list("sal_acid" = 1, "lithium" = 1, "aluminium" = 1, "bromine" = 1, "ammonia" = 1)
+ required_reagents = list("sal_acid" = 1, "lithium" = 1, "aluminum" = 1, "bromine" = 1, "ammonia" = 1)
result_amount = 5
datum/reagent/perfluorodecalin
@@ -344,7 +347,6 @@ datum/reagent/ephedrine
datum/reagent/ephedrine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.status_flags |= IGNORESLOWDOWN
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
@@ -771,7 +773,6 @@ datum/reagent/antihol/on_mob_life(var/mob/living/M as mob)
M.slurring = 0
M.confused = 0
M.reagents.remove_reagent("ethanol", 8)
- M.adjustToxLoss(-0.2*REM)
..()
/datum/chemical_reaction/antihol
@@ -794,29 +795,24 @@ datum/reagent/antihol/on_mob_life(var/mob/living/M as mob)
description = "Increases run speed and eliminates stuns, can heal minor damage. If overdosed it will deal toxin damage and stun."
color = "#C8A5DC"
metabolization_rate = 0.4
- overdose_threshold = 60
datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.status_flags |= IGNORESLOWDOWN
- if(M.health < 50 && M.health > 0)
- if(prob(50))
- M.adjustOxyLoss(-5*REM)
- M.adjustToxLoss(-5*REM)
- M.adjustBruteLoss(-5*REM)
- M.adjustFireLoss(-5*REM)
- M.adjustFireLoss(-3*REM)
- M.AdjustParalysis(-1)
- M.AdjustStunned(-1)
- M.AdjustWeakened(-1)
- M.adjustStaminaLoss(-3*REM)
+ M.adjustOxyLoss(-5*REM)
+ M.adjustToxLoss(-5*REM)
+ M.adjustBruteLoss(-10*REM)
+ M.adjustFireLoss(-10*REM)
+ M.setStaminaLoss(0)
+ var/status = CANSTUN | CANWEAKEN | CANPARALYSE
+ M.status_flags &= ~status
..()
-datum/reagent/stimulants/overdose_process(var/mob/living/M as mob)
- if(prob(33))
- M.adjustStaminaLoss(5*REM)
- M.adjustToxLoss(2*REM)
- M.losebreath++
+datum/reagent/stimulants/reagent_deleted(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE
+ M.adjustBruteLoss(12)
+ M.adjustToxLoss(24)
+ M.Stun(4)
..()
return
diff --git a/code/modules/reagents/newchem/newchem_procs.dm b/code/modules/reagents/newchem/newchem_procs.dm
index 47bde2059b2..43b750b87e6 100644
--- a/code/modules/reagents/newchem/newchem_procs.dm
+++ b/code/modules/reagents/newchem/newchem_procs.dm
@@ -62,7 +62,7 @@ datum/reagents/proc/reagent_on_tick()
datum/reagents/proc/check_ignoreslow(var/mob/M)
if(istype(M, /mob))
- if(M.reagents.has_reagent("morphine")||M.reagents.has_reagent("ephedrine"))
+ if(M.reagents.has_reagent("morphine"))
return 1
else
M.status_flags &= ~IGNORESLOWDOWN
diff --git a/code/modules/reagents/newchem/other.dm b/code/modules/reagents/newchem/other.dm
index a3f76d0412e..1b336a8df66 100644
--- a/code/modules/reagents/newchem/other.dm
+++ b/code/modules/reagents/newchem/other.dm
@@ -237,8 +237,8 @@ datum/reagent/hair_dye
name = "hair_dye"
id = "hair_dye"
result = "hair_dye"
- required_reagents = list("colorful_reagent" = 1, "radium" = 1, "space_drugs" = 1)
- result_amount = 5
+ required_reagents = list("colorful_reagent" = 1, "hairgrownium" = 1)
+ result_amount = 2
datum/reagent/hair_dye/reaction_mob(var/mob/living/M, var/volume)
if(M && ishuman(M))
@@ -287,14 +287,21 @@ datum/reagent/super_hairgrownium
name = "Super Hairgrownium"
id = "super_hairgrownium"
result = "super_hairgrownium"
- required_reagents = list("iron" = 1, "methamphetamine " = 1, "hairgrownium" = 1)
+ required_reagents = list("iron" = 1, "methamphetamine" = 1, "hairgrownium" = 1)
result_amount = 3
-datum/reagent/super_hairgrownium/reaction_mob(var/mob/living/M, var/volume)
+datum/reagent/super_hairgrownium/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
if(M && ishuman(M))
var/mob/living/carbon/human/H = M
H.h_style = "Very Long Hair"
H.f_style = "Very Long Beard"
H.update_hair()
+ if(!H.wear_mask || H.wear_mask && !istype(H.wear_mask, /obj/item/clothing/mask/fakemoustache))
+ if(H.wear_mask)
+ H.unEquip(H.wear_mask)
+ var/obj/item/clothing/mask/fakemoustache = new /obj/item/clothing/mask/fakemoustache
+ H.equip_to_slot(fakemoustache, slot_wear_mask)
+ H << "Hair bursts forth from your every follicle!"
..()
return
\ No newline at end of file
diff --git a/code/modules/reagents/newchem/pyro.dm b/code/modules/reagents/newchem/pyro.dm
index 0f0bddbb42f..6699a688ffe 100644
--- a/code/modules/reagents/newchem/pyro.dm
+++ b/code/modules/reagents/newchem/pyro.dm
@@ -202,7 +202,7 @@
name = "Flash powder"
id = "flash_powder"
result = "flash_powder"
- required_reagents = list("aluminium" = 1, "potassium" = 1, "sulfur" = 1 )
+ required_reagents = list("aluminum" = 1, "potassium" = 1, "sulfur" = 1 )
result_amount = 3
/datum/chemical_reaction/flash_powder_flash
@@ -429,8 +429,8 @@
/datum/chemical_reaction/napalm
name = "Napalm"
id = "napalm"
- result = null
- required_reagents = list("aluminium" = 1, "plasma" = 1, "sacid" = 1 )
+ result = "napalm"
+ required_reagents = list("sugar" = 1, "fuel" = 1, "ethanol" = 1 )
result_amount = 1
datum/reagent/cryostylane
@@ -446,27 +446,11 @@ datum/reagent/cryostylane
required_reagents = list("water" = 1, "plasma" = 1, "nitrogen" = 1)
result_amount = 3
-/datum/chemical_reaction/cryostylane/on_reaction(var/datum/reagents/holder, var/created_volume)
- holder.chem_temp = 20 // cools the fuck down
- return
-
-
datum/reagent/cryostylane/on_mob_life(var/mob/living/M as mob) //TODO: code freezing into an ice cube
- if(M.reagents.has_reagent("oxygen"))
- M.reagents.remove_reagent("oxygen", 1)
- M.bodytemperature -= 30
+ M.bodytemperature -= 30
..()
return
-datum/reagent/cryostylane/on_tick()
- if(holder.has_reagent("oxygen"))
- holder.remove_reagent("oxygen", 1)
- holder.chem_temp -= 10
- holder.handle_reactions()
- ..()
- return
-
-
datum/reagent/cryostylane/reaction_turf(var/turf/simulated/T, var/volume)
if(volume >= 5)
for(var/mob/living/carbon/slime/M in T)
diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm
index 836473d0cd2..91fb49b6b31 100644
--- a/code/modules/reagents/newchem/toxins.dm
+++ b/code/modules/reagents/newchem/toxins.dm
@@ -200,8 +200,8 @@ datum/reagent/itching_powder/on_mob_life(var/mob/living/M as mob)
datum/reagent/facid/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.adjustToxLoss(2*REM)
- M.take_organ_damage(0, 1*REM)
+ M.adjustToxLoss(1*REM)
+ M.adjustFireLoss(1)
..()
return
@@ -354,6 +354,26 @@ datum/reagent/sodium_thiopental/on_mob_life(var/mob/living/M as mob)
..()
return
+datum/reagent/ketamine
+ name = "Ketamine"
+ id = "ketamine"
+ description = "A potent veterinary tranquilizer."
+ reagent_state = LIQUID
+ color = "#646EA0"
+ metabolization_rate = 0.8
+
+datum/reagent/ketamine/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ if(current_cycle <= 10)
+ if(prob(20))
+ M.emote("yawn")
+ if(current_cycle == 6)
+ M.eye_blurry = max(M.eye_blurry, 5)
+ if(current_cycle >= 10)
+ M.Paralyse(10)
+ ..()
+ return
+
datum/reagent/sulfonal
name = "Sulfonal"
id = "sulfonal"
@@ -467,7 +487,7 @@ datum/reagent/sarin
required_reagents = list("chlorine" = 1, "fluorine" = 1, "hydrogen" = 1, "oxygen" = 1, "phosphorus" = 1, "fuel" = 1, "acetone" = 1, "atrazine" = 1)
result_amount = 3
mix_message = "The mixture yields a colorless, odorless liquid."
- required_temp = 373
+ required_temp = 374
datum/reagent/sarin/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
@@ -564,4 +584,49 @@ datum/reagent/atrazine/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volu
result = "atrazine"
required_reagents = list("chlorine" = 1, "hydrogen" = 1, "nitrogen" = 1)
result_amount = 3
- mix_message = "The mixture gives off a harsh odor"
\ No newline at end of file
+ mix_message = "The mixture gives off a harsh odor"
+
+datum/reagent/capulettium
+ name = "Capulettium"
+ id = "capulettium"
+ description = "A rare drug that causes the user to appear dead for some time."
+ reagent_state = LIQUID
+ color = "#60A584"
+
+/datum/chemical_reaction/capulettium
+ name = "capulettium"
+ id = "capulettium"
+ result = "capulettium"
+ required_reagents = list("neurotoxin2" = 1, "chlorine" = 1, "hydrogen" = 1)
+ result_amount = 1
+ mix_message = "The smell of death wafts up from the solution."
+
+datum/reagent/capulettium/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ M.eye_blurry = max(M.eye_blurry, 2)
+ if(current_cycle == 12)
+ M.emote("deathgasp")
+ M.Paralyse(10)
+ ..()
+ return
+
+datum/reagent/capulettium_plus
+ name = "Capulettium Plus"
+ id = "capulettium_plus"
+ description = "A rare and expensive drug that causes the user to appear dead for some time while they retain consciousness and vision."
+ reagent_state = LIQUID
+ color = "#60A584"
+
+/datum/chemical_reaction/capulettium_plus
+ name = "capulettium_plus"
+ id = "capulettium_plus"
+ result = "capulettium_plus"
+ required_reagents = list("capulettium" = 1, "ephedrine" = 1, "methamphetamine" = 1)
+ result_amount = 3
+ mix_message = "The solution begins to slosh about violently by itself."
+
+datum/reagent/capulettium_plus/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ M.silent += REM + 1
+ ..()
+ return
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 002601833cc..60e2b504cf5 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -136,4 +136,19 @@
reagents.add_reagent("hyperzine", 9)
reagents.add_reagent("lexorin", 1)
update_icon()
+ return
+
+/obj/item/weapon/reagent_containers/hypospray/autoinjector/stimulants
+ name = "Stimulants autoinjector"
+ desc = "Rapidly stimulates and regernates the body's organ system."
+ icon_state = "stimpen"
+ amount_per_transfer_from_this = 50
+ possible_transfer_amounts = list(50)
+ volume = 50
+
+/obj/item/weapon/reagent_containers/hypospray/autoinjector/stimulants/New()
+ ..()
+ reagents.remove_reagent("epinephrine", 10)
+ reagents.add_reagent("stimulants", 50)
+ update_icon()
return
\ No newline at end of file
diff --git a/code/setup.dm b/code/setup.dm
index 9f6992e63d2..f841b9f6ab4 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -802,7 +802,7 @@ var/list/be_special_flags = list(
//feel free to add shit to lists below
var/list/tachycardics = list("coffee", "inaprovaline", "hyperzine", "nitroglycerin", "thirteenloko", "nicotine") //increase heart rate
var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "space_drugs", "stoxin") //decrease heart rate
-var/list/heartstopper = list("zombie_powder") //this stops the heart
+var/list/heartstopper = list("zombie_powder", "capulettium", "capulettium_plus") //this stops the heart
var/list/cheartstopper = list() //this stops the heart when overdose is met -- c = conditional
//proc/get_pulse methods