[Goonchem] Few Additional Chemicals

This commit is contained in:
Fox-McCloud
2015-03-25 03:50:54 -04:00
parent 84a659605d
commit dbb04f4dbb
12 changed files with 151 additions and 79 deletions
+1 -1
View File
@@ -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")
@@ -330,6 +330,10 @@
message = "<B>[src]</B> waves."
m_type = 1
if ("quiver")
message = "<B>[src]</B> quivers."
m_type = 1
if ("gasp")
if(miming)
message = "<B>[src]</B> appears to be gasping!"
+10 -2
View File
@@ -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("<span class='warning'>[src] pukes all over \himself!</span>","<span class='warning'>You puke all over yourself!</span>")
playsound(loc, 'sound/effects/splat.ogg', 50, 1)
var/turf/location = loc
if (istype(location, /turf/simulated))
location.add_vomit_floor(src, 1)
+1 -57
View File
@@ -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."
+2 -9
View File
@@ -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"
+13
View File
@@ -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
+111 -1
View File
@@ -450,4 +450,114 @@ datum/reagent/curare/on_mob_life(var/mob/living/M as mob)
M.adjustToxLoss(1)
M.adjustOxyLoss(1)
..()
return
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("<span class='danger'>[M] starts having a seizure!</span>", "<span class='danger'>You have a seizure!</span>")
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"
@@ -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)