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