diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm
index 077072f938a..e3aa2ae9624 100644
--- a/code/game/machinery/hydroponics.dm
+++ b/code/game/machinery/hydroponics.dm
@@ -51,7 +51,7 @@
"chlorine" = 1.5,
"sacid" = 1.5,
"pacid" = 3,
- "plantbgone" = 3,
+ "atrazine" = 3,
"cryoxadone" = -3,
"radium" = 2
)
@@ -76,7 +76,7 @@
"sugar" = 2,
"sacid" = -2,
"pacid" = -4,
- "plantbgone" = -8,
+ "atrazine" = -8,
"adminordrazine" = -5
)
var/global/list/pestkiller_reagents = list(
@@ -105,7 +105,7 @@
"sodawater" = list( 0.1, 0, 0 ),
"sacid" = list( -1, 0, 0 ),
"pacid" = list( -2, 0, 0 ),
- "plantbgone" = list( -2, 0, 0.2 ),
+ "atrazine" = list( -2, 0, 0.2 ),
"cryoxadone" = list( 3, 0, 0 ),
"ammonia" = list( 0.5, 0, 0 ),
"diethylamine" = list( 1, 0, 0 ),
diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm
index 4ed64721966..f1444bd0882 100644
--- a/code/game/objects/items/random_items.dm
+++ b/code/game/objects/items/random_items.dm
@@ -61,7 +61,7 @@
// identify_probability = 0
New()
..()
- var/global/list/chems_only = list("slimejelly","blood","water","lube","anti_toxin","toxin","cyanide","stoxin","inaprovaline","space_drugs","serotrotium","oxygen","copper","nitrogen","hydrogen","potassium","mercury","sulfur","carbon","chlorine","fluorine","sodium","phosphorus","lithium","sugar","sacid","pacid","glycerol","radium","ryetalyn","thermite","mutagen","virusfood","iron","gold","silver","uranium","aluminum","silicon","fuel","cleaner","plantbgone","plasma","leporazine","cryptobiolin","lexorin","kelotane","dermaline","dexalin","dexalinp","tricordrazine","synaptizine","impedrezene","hyronalin","arithrazine","alkysine","imidazoline","bicaridine","hyperzine","cryoxadone","clonexadone","spaceacillin","carpotoxin","zombiepowder","mindbreaker","fluorosurfactant","foaming_agent","ethanol","ammonia","diethylamine","ethylredoxrazine","chloralhydrate","lipozine","condensedcapsaicin","frostoil","amatoxin","psilocybin","enzyme","nothing","doctorsdelight","antifreeze","neurotoxin")
+ var/global/list/chems_only = list("slimejelly","blood","water","lube","anti_toxin","toxin","cyanide","stoxin","inaprovaline","space_drugs","serotrotium","oxygen","copper","nitrogen","hydrogen","potassium","mercury","sulfur","carbon","chlorine","fluorine","sodium","phosphorus","lithium","sugar","sacid","pacid","glycerol","radium","ryetalyn","thermite","mutagen","virusfood","iron","gold","silver","uranium","aluminum","silicon","fuel","cleaner","atrazine","plasma","leporazine","cryptobiolin","lexorin","kelotane","dermaline","dexalin","dexalinp","tricordrazine","synaptizine","impedrezene","hyronalin","arithrazine","alkysine","imidazoline","bicaridine","hyperzine","cryoxadone","clonexadone","spaceacillin","carpotoxin","zombiepowder","mindbreaker","fluorosurfactant","foaming_agent","ethanol","ammonia","diethylamine","ethylredoxrazine","chloralhydrate","lipozine","condensedcapsaicin","frostoil","amatoxin","psilocybin","enzyme","nothing","doctorsdelight","antifreeze","neurotoxin")
var/global/list/rare_chems = list("minttoxin","nanites","xenomicrobes","adminordrazine")
var/datum/reagent/R = pick(chems_only + rare_chems)
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 48a826abc96..2a941470364 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -429,11 +429,11 @@
var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("plantbgone", 30)
+ B1.reagents.add_reagent("atrazine", 30)
B1.reagents.add_reagent("potassium", 20)
B2.reagents.add_reagent("phosphorus", 20)
B2.reagents.add_reagent("sugar", 20)
- B2.reagents.add_reagent("plantbgone", 10)
+ B2.reagents.add_reagent("atrazine", 10)
beakers += B1
beakers += B2
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 41f998e5d6f..60704cb581e 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -269,7 +269,7 @@
for(var/i = 1 to storage_slots)
reagents.add_reagent("lipozine",4)
reagents.add_reagent("ammonia",2)
- reagents.add_reagent("plantbgone",1)
+ reagents.add_reagent("atrazine",1)
reagents.add_reagent("toxin",1.5)
/*
diff --git a/code/modules/events/tgevents/vent_clog.dm b/code/modules/events/tgevents/vent_clog.dm
index 061450a197d..db8cbe2694c 100755
--- a/code/modules/events/tgevents/vent_clog.dm
+++ b/code/modules/events/tgevents/vent_clog.dm
@@ -21,7 +21,7 @@
var/obj/vent = pick_n_take(vents)
var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","psilocybin","lube",
- "plantbgone","banana","anti_toxin","space_drugs","hyperzine","holywater","ethanol","hot_coco","pacid",
+ "atrazine","banana","anti_toxin","space_drugs","hyperzine","holywater","ethanol","hot_coco","pacid",
"blood","stoxin","fluorine","ryetalyn","mutagen","oxycodone","fuel","cryptobiolin",
"impedrezene","mindbreaker","nanites","lipozine","frostoil","doctorsdelight","beepskysmash",
"tricordrazine", "amatoxin", "adminordrazine", "neurotoxin", "zombiepowder", "synaptizine")
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index f5f37f895e2..bd0c6694da7 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -330,6 +330,10 @@
message = "[src] waves."
m_type = 1
+ if ("quiver")
+ message = "[src] quivers."
+ m_type = 1
+
if ("gasp")
if(miming)
message = "[src] appears to be gasping!"
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 49fd84c3b7a..ed6d6e3385c 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -82,7 +82,7 @@
/atom/proc/visible_message(var/message, var/blind_message)
for(var/mob/M in viewers(src))
M.show_message( message, 1, blind_message, 2)
-
+
// Show a message to all mobs in earshot of this one
// This would be for audible actions by the src mob
// message is the message output to anyone who can hear.
@@ -98,7 +98,7 @@
if(self_message && M==src)
msg = self_message
M.show_message( msg, 2, deaf_message, 1)
-
+
// Show a message to all mobs in earshot of this atom
// Use for objects performing audible actions
// message is the message output to anyone who can hear.
@@ -1439,3 +1439,11 @@ mob/proc/yank_out_object()
if(G.can_reenter_corpse || even_if_they_cant_reenter)
return G
break
+
+
+/mob/proc/fakevomit() //for aesthetic vomits that need to be instant and do not stun. -Fox
+ src.visible_message("[src] pukes all over \himself!","You puke all over yourself!")
+ playsound(loc, 'sound/effects/splat.ogg', 50, 1)
+ var/turf/location = loc
+ if (istype(location, /turf/simulated))
+ location.add_vomit_floor(src, 1)
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 03411d7b75a..346e617a6b6 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -1314,62 +1314,6 @@ datum
..()
return
- plantbgone
- name = "Plant-B-Gone"
- id = "plantbgone"
- description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
- reagent_state = LIQUID
- color = "#49002E" // rgb: 73, 0, 46
-
- on_mob_life(var/mob/living/M as mob)
- if(!M) M = holder.my_atom
- M.adjustToxLoss(1)
- ..()
- return
-
- // Clear off wallrot fungi
- reaction_turf(var/turf/T, var/volume)
- if(istype(T, /turf/simulated/wall))
- var/turf/simulated/wall/W = T
- if(W.rotting)
- W.rotting = 0
- for(var/obj/effect/E in W) if(E.name == "Wallrot") del E
-
- for(var/mob/O in viewers(W, null))
- O.show_message(text("\blue The fungi are completely dissolved by the solution!"), 1)
-
- reaction_obj(var/obj/O, var/volume)
- if(istype(O,/obj/structure/alien/weeds/))
- var/obj/structure/alien/weeds/alien_weeds = O
- alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast
- alien_weeds.healthcheck()
- else if(istype(O,/obj/effect/glowshroom)) //even a small amount is enough to kill it
- del(O)
- else if(istype(O,/obj/effect/plantsegment))
- if(prob(50)) del(O) //Kills kudzu too.
- // Damage that is done to growing plants is separately at code/game/machinery/hydroponics at obj/item/hydroponics
-
- reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
- src = null
- if(iscarbon(M))
- var/mob/living/carbon/C = M
- if(!C.wear_mask) // If not wearing a mask
- C.adjustToxLoss(2) // 4 toxic damage per application, doubled for some reason
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- if(H.dna)
- if(H.species.flags & IS_PLANT) //plantmen take a LOT of damage
- H.adjustToxLoss(50)
- ..()
- return
- if(ismonkey(M))
- var/mob/living/carbon/monkey/MO = M
- if(MO.dna)
- if(MO.dna.mutantrace == "plant") //plantmen monkeys (diona) take EVEN MORE damage
- MO.adjustToxLoss(100)
- ..()
- return
-
plasma
name = "Plasma"
id = "plasma"
@@ -1947,7 +1891,7 @@ datum
on_mob_life(var/mob/living/M)
if(!M) M = holder.my_atom
- if (holder.has_reagent("plantbgone",45))
+ if (holder.has_reagent("atrazine",45))
holder.del_reagent("spore")
if (prob(1))
M << "\red Your mouth tastes funny."
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index f6d41a6cbae..fe5240c4073 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -347,8 +347,8 @@ datum
name = "Sodium Chloride"
id = "sodiumchloride"
result = "sodiumchloride"
- required_reagents = list("sodium" = 1, "chlorine" = 1)
- result_amount = 2
+ required_reagents = list("sodium" = 1, "chlorine" = 1, "water" = 1)
+ result_amount = 3
flash_powder
name = "Flash powder"
@@ -595,13 +595,6 @@ datum
required_reagents = list("ammonia" = 1, "water" = 1)
result_amount = 2
- plantbgone
- name = "Plant-B-Gone"
- id = "plantbgone"
- result = "plantbgone"
- required_reagents = list("chlorine" = 1, "hydrogen" = 1, "nitrogen" = 1)
- result_amount = 3
-
///////Changeling Blood Test/////////////
changeling_test
name = "Changeling blood test"
diff --git a/code/modules/reagents/newchem/pyro.dm b/code/modules/reagents/newchem/pyro.dm
index fa3cc08a176..0f0bddbb42f 100644
--- a/code/modules/reagents/newchem/pyro.dm
+++ b/code/modules/reagents/newchem/pyro.dm
@@ -503,3 +503,16 @@ datum/reagent/pyrosium/on_tick()
holder.handle_reactions()
..()
return
+
+/datum/chemical_reaction/azide
+ name = "azide"
+ id = "azide"
+ result = null
+ required_reagents = list("chlorine" = 1, "oxygen" = 1, "nitrogen" = 1, "ammonia" = 1, "sodium" = 1, "silver" = 1)
+ result_amount = 1
+ mix_message = "The substance violently detonates!"
+
+/datum/chemical_reaction/azide/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ explosion(location,0,1,3)
+ return
\ No newline at end of file
diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm
index c485f283835..82a8552ab2d 100644
--- a/code/modules/reagents/newchem/toxins.dm
+++ b/code/modules/reagents/newchem/toxins.dm
@@ -450,4 +450,114 @@ datum/reagent/curare/on_mob_life(var/mob/living/M as mob)
M.adjustToxLoss(1)
M.adjustOxyLoss(1)
..()
- return
\ No newline at end of file
+ return
+
+datum/reagent/sarin
+ name = "Sarin"
+ id = "sarin"
+ description = "An extremely deadly neurotoxin."
+ reagent_state = LIQUID
+ color = "#C7C7C7"
+ metabolization_rate = 0.1
+
+/datum/chemical_reaction/sarin
+ name = "sarin"
+ id = "sarin"
+ result = "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
+
+datum/reagent/sarin/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ M.adjustFireLoss(1)
+ M.adjustToxLoss(1)
+ if(prob(20))
+ M.emote(pick("twitch","scream", "drool", "quiver"))
+ if(prob(5))
+ M.confused = max(M.confused, 3)
+ if(prob(15))
+ M.fakevomit()
+ if(prob(2))
+ M.visible_message("[M] starts having a seizure!", "You have a seizure!")
+ M.Paralyse(5)
+ M.Jitter(1000)
+ if(current_cycle >= 5)
+ M.Jitter(50)
+ if(current_cycle >= 20)
+ if(prob(5))
+ M.emote("collapse")
+ switch(current_cycle)
+ if(0 to 60)
+ M.adjustBrainLoss(1)
+ if(61 to INFINITY)
+ M.adjustBrainLoss(2)
+ M.Paralyse(5)
+ M.losebreath += 5
+ ..()
+ return
+
+datum/reagent/atrazine
+ name = "Atrazine"
+ id = "atrazine"
+ description = "A herbicidal compound used for destroying unwanted plants."
+ reagent_state = LIQUID
+ color = "#17002D"
+
+datum/reagent/atrazine/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ M.adjustToxLoss(2)
+ ..()
+ return
+
+ // Clear off wallrot fungi
+datum/reagent/atrazine/reaction_turf(var/turf/T, var/volume)
+ if(istype(T, /turf/simulated/wall))
+ var/turf/simulated/wall/W = T
+ if(W.rotting)
+ W.rotting = 0
+ for(var/obj/effect/E in W) if(E.name == "Wallrot") del E
+
+ for(var/mob/O in viewers(W, null))
+ O.show_message(text("\blue The fungi are completely dissolved by the solution!"), 1)
+
+datum/reagent/atrazine/reaction_obj(var/obj/O, var/volume)
+ if(istype(O,/obj/structure/alien/weeds/))
+ var/obj/structure/alien/weeds/alien_weeds = O
+ alien_weeds.health -= rand(15,35) // Kills alien weeds pretty fast
+ alien_weeds.healthcheck()
+ else if(istype(O,/obj/effect/glowshroom)) //even a small amount is enough to kill it
+ del(O)
+ else if(istype(O,/obj/effect/plantsegment))
+ if(prob(50)) del(O) //Kills kudzu too.
+ // Damage that is done to growing plants is separately at code/game/machinery/hydroponics at obj/item/hydroponics
+
+datum/reagent/atrazine/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
+ src = null
+ if(iscarbon(M))
+ var/mob/living/carbon/C = M
+ if(!C.wear_mask) // If not wearing a mask
+ C.adjustToxLoss(2) // 4 toxic damage per application, doubled for some reason
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(H.dna)
+ if(H.species.flags & IS_PLANT) //plantmen take a LOT of damage
+ H.adjustToxLoss(50)
+ ..()
+ return
+ if(ismonkey(M))
+ var/mob/living/carbon/monkey/MO = M
+ if(MO.dna)
+ if(MO.dna.mutantrace == "plant") //plantmen monkeys (diona) take EVEN MORE damage
+ MO.adjustToxLoss(100)
+ ..()
+ return
+
+/datum/chemical_reaction/atrazine
+ name = "atrazine"
+ id = "atrazine"
+ 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
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 17bbf565dfd..59ec5175f1a 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -47,7 +47,7 @@
playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6)
user.changeNext_move(CLICK_CD_RANGE*2)
-
+
if(reagents.has_reagent("sacid"))
message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].")
log_game("[key_name(user)] fired sulphuric acid from \a [src].")
@@ -226,7 +226,7 @@
/obj/item/weapon/reagent_containers/spray/plantbgone/New()
..()
- reagents.add_reagent("plantbgone", 100)
+ reagents.add_reagent("atrazine", 100)
/obj/item/weapon/reagent_containers/spray/plantbgone/afterattack(atom/A as mob|obj, mob/user as mob, proximity)