diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm
index 3af5b6cd3e3..b05ad70d3b5 100644
--- a/code/game/objects/effects/decals/Cleanable/misc.dm
+++ b/code/game/objects/effects/decals/Cleanable/misc.dm
@@ -97,6 +97,12 @@
var/list/datum/disease2/disease/virus2 = list()
+/obj/effect/decal/cleanable/vomit/green
+ name = "green vomit"
+ desc = "It's all gummy. Ew."
+ icon_state = "gvomit_1"
+ random_icon_states = list("gvomit_1", "gvomit_2", "gvomit_3", "gvomit_4")
+
/obj/effect/decal/cleanable/poop
name = "poop"
desc = "Gosh, how unpleasant."
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index d871369edfb..7d85cc26b08 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -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("[src] pukes all over \himself!","You puke all over yourself!")
var/turf/location = loc
if (istype(location, /turf/simulated))
- playsound(location, 'sound/effects/splat.ogg', 50, 1)
- location.add_vomit_floor(src, 1)
\ No newline at end of file
+ if(green)
+ src.visible_message("[src] vomits up some green goo!","You vomit up some green goo!")
+ new /obj/effect/decal/cleanable/vomit/green(location)
+ else
+ src.visible_message("[src] pukes all over \himself!","You puke all over yourself!")
+ location.add_vomit_floor(src, 1)
+ playsound(location, 'sound/effects/splat.ogg', 50, 1)
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 2c0b448f32f..3d880331e83 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -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
diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm
index f82e15b4cba..7aa56618326 100644
--- a/code/modules/reagents/newchem/toxins.dm
+++ b/code/modules/reagents/newchem/toxins.dm
@@ -645,3 +645,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 << "A horrible migraine overpowers you."
+ ..()
+ 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
\ No newline at end of file
diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi
index 9820bb1f8ac..fb311bf9769 100644
Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ