diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index bb68ce45f04..aa1abe7ae6c 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -29,7 +29,7 @@
/obj/effect/effect/foam/New(loc)
..(loc)
create_reagents(1000) //limited by the size of the reagent holder anyway.
- SSobj.processing.Add(src)
+ SSobj.processing |= src
playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3)
/obj/effect/effect/foam/Destroy()
diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm
index b2fcf48b72c..b1e6b6dde79 100644
--- a/code/game/objects/effects/effect_system/effects_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_smoke.dm
@@ -31,7 +31,7 @@
/obj/effect/effect/smoke/New()
..()
create_reagents(500)
- SSobj.processing.Add(src)
+ SSobj.processing |= src
lifetime += rand(-1,1)
/obj/effect/effect/smoke/Destroy()
@@ -276,8 +276,9 @@
lifetime = 10
/obj/effect/effect/smoke/sleeping/process()
- for(var/mob/living/carbon/M in range(1,src))
- smoke_mob(M)
+ if(..())
+ for(var/mob/living/carbon/M in range(1,src))
+ smoke_mob(M)
/obj/effect/effect/smoke/sleeping/smoke_mob(mob/living/carbon/M)
if(..())
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index b64d21f6c14..99f7e10089c 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -82,7 +82,7 @@
/obj/item/weapon/reagent_containers/throw_impact(atom/target)
. = ..()
- if(!reagents.total_volume || !spillable)
+ if(!reagents || !reagents.total_volume || !spillable)
return
if(ismob(target) && target.reagents)
@@ -91,10 +91,9 @@
var/R
target.visible_message("[M] has been splashed with something!", \
"[M] has been splashed with something!")
- if(reagents)
- for(var/datum/reagent/A in reagents.reagent_list)
- R += A.id + " ("
- R += num2text(A.volume) + "),"
+ for(var/datum/reagent/A in reagents.reagent_list)
+ R += A.id + " ("
+ R += num2text(A.volume) + "),"
if(thrownby)
add_logs(thrownby, M, "splashed", R)
diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi
index e44ddedfcd4..a9bb0a68c02 100644
Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ