Merge pull request #715 from Fox-McCloud/few-reagents

[Goonchem] Few New Reagents
This commit is contained in:
ZomgPonies
2015-04-02 21:32:28 -04:00
5 changed files with 87 additions and 11 deletions
+8 -4
View File
@@ -1441,11 +1441,15 @@ mob/proc/yank_out_object()
break
/mob/proc/fakevomit() //for aesthetic vomits that need to be instant and do not stun. -Fox
/mob/proc/fakevomit(green=0) //for aesthetic vomits that need to be instant and do not stun. -Fox
if(stat==DEAD)
return
src.visible_message("<span class='warning'>[src] pukes all over \himself!</span>","<span class='warning'>You puke all over yourself!</span>")
var/turf/location = loc
if (istype(location, /turf/simulated))
playsound(location, 'sound/effects/splat.ogg', 50, 1)
location.add_vomit_floor(src, 1)
if(green)
src.visible_message("<span class='warning'>[src] vomits up some green goo!</span>","<span class='warning'>You vomit up some green goo!</span>")
new /obj/effect/decal/cleanable/vomit/green(location)
else
src.visible_message("<span class='warning'>[src] pukes all over \himself!</span>","<span class='warning'>You puke all over yourself!</span>")
location.add_vomit_floor(src, 1)
playsound(location, 'sound/effects/splat.ogg', 50, 1)
+2 -1
View File
@@ -861,7 +861,6 @@ datum
if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
src = null
if((method==TOUCH && prob(33)) || method==INGEST)
randmuti(M)
if(prob(98))
randmutb(M)
else
@@ -873,6 +872,8 @@ datum
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(2*REM,IRRADIATE,0)
if(prob(4))
randmutb(M)
..()
return
+71 -6
View File
@@ -392,7 +392,7 @@ datum/reagent/sulfonal
id = "sulfonal"
description = "Deals some toxin damage, and puts you to sleep after 66 seconds."
reagent_state = LIQUID
color = "#CF3600"
color = "#6BA688"
metabolization_rate = 0.1
/datum/chemical_reaction/sulfonal
@@ -401,12 +401,22 @@ datum/reagent/sulfonal
result = "sulfonal"
required_reagents = list("acetone" = 1, "diethylamine" = 1, "sulfur" = 1)
result_amount = 3
mix_message = "The mixture gives off quite a stench."
datum/reagent/sulfonal/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(current_cycle >= 22)
M.sleeping += 3
M.adjustToxLoss(1)
if(current_cycle >= 11)
M.drowsyness = max(M.drowsyness, 20)
switch(current_cycle)
if(0 to 10)
if(prob(5))
M.emote("yawn")
if(22)
M.emote("faint")
if(23 to INFINITY)
if(prob(20))
M.emote("faint")
..()
return
@@ -471,16 +481,18 @@ datum/reagent/coniine/on_mob_life(var/mob/living/M as mob)
datum/reagent/curare
name = "Curare"
id = "curare"
description = "Does some oxygen and toxin damage, weakens you after 33 seconds."
description = "A highly dangerous paralytic poison."
reagent_state = LIQUID
color = "#CF3600"
color = "#191919"
metabolization_rate = 0.1
penetrates_skin = 1
datum/reagent/curare/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(5))
M.emote(pick("gasp","drool", "pale"))
if(current_cycle >= 11)
M.Weaken(3)
M.Weaken(15)
M.adjustToxLoss(1)
M.adjustOxyLoss(1)
..()
@@ -645,3 +657,56 @@ datum/reagent/capulettium_plus/on_mob_life(var/mob/living/M as mob)
M.silent += REM + 1
..()
return
datum/reagent/toxic_slurry
name = "Toxic Slurry"
id = "toxic_slurry"
description = "A filthy, carcinogenic sludge produced by the Slurrypod plant."
reagent_state = LIQUID
color = "#00C81E"
datum/reagent/toxic_slurry/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
if(prob(10))
M.adjustToxLoss(rand(2,4))
if(prob(7))
switch(pick(1,2))
if(1)
M.fakevomit(1)
if(2)
M.Stun(rand(4,10))
M << "<span class='warning'>A horrible migraine overpowers you.</span>"
..()
return
datum/reagent/glowing_slurry
name = "Glowing Slurry"
id = "glowing_slurry"
description = "This is probably not good for you."
reagent_state = LIQUID
color = "#00FD00"
datum/reagent/glowing_slurry/reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //same as mutagen
if(!..()) return
if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
src = null
if((method==TOUCH && prob(33)) || method==INGEST)
if(prob(98))
randmutb(M)
else
randmutg(M)
domutcheck(M, null)
M.UpdateAppearance()
return
datum/reagent/glowing_slurry/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.apply_effect(2*REM,IRRADIATE,0)
if(prob(15))
randmutb(M)
if(prob(5))
randmutg(M)
domutcheck(M, null)
M.UpdateAppearance()
..()
return