diff --git a/code/modules/reagents/chemistry/reagents/misc_reagents.dm b/code/modules/reagents/chemistry/reagents/misc_reagents.dm
index 095a7319d80..e99879f3b28 100644
--- a/code/modules/reagents/chemistry/reagents/misc_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/misc_reagents.dm
@@ -465,12 +465,13 @@
else if(C.mind.assigned_role == "Mime")
to_chat(C, "You feel nauseous.")
C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT)
+ ADD_TRAIT(C, TRAIT_COMIC_SANS, id)
+ C.AddElement(/datum/element/waddling)
else
to_chat(C, "Something doesn't feel right...")
C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT)
- if(C.mind.assigned_role != "Clown")
- ADD_TRAIT(C, TRAIT_COMIC_SANS, id)
- C.AddElement(/datum/element/waddling)
+ ADD_TRAIT(C, TRAIT_COMIC_SANS, id)
+ C.AddElement(/datum/element/waddling)
C.AddComponent(/datum/component/squeak, null, null, null, null, null, TRUE, falloff_exponent = 20)
/datum/reagent/jestosterone/on_mob_life(mob/living/carbon/M)
@@ -505,7 +506,7 @@
/datum/reagent/jestosterone/on_mob_delete(mob/living/M)
..()
- if(M.mind.assigned_role != "Clown")
+ if(M.mind?.assigned_role != "Clown")
REMOVE_TRAIT(M, TRAIT_COMIC_SANS, id)
M.RemoveElement(/datum/element/waddling)
qdel(M.GetComponent(/datum/component/squeak))
diff --git a/code/modules/reagents/chemistry/reagents_holder.dm b/code/modules/reagents/chemistry/reagents_holder.dm
index 53d12d76eef..9be2cdc7df8 100644
--- a/code/modules/reagents/chemistry/reagents_holder.dm
+++ b/code/modules/reagents/chemistry/reagents_holder.dm
@@ -716,7 +716,12 @@
cached_reagents += R
R.holder = src
R.volume = amount
- R.on_new(data)
+ if(ishuman(my_atom))
+ if(can_metabolize(my_atom, R))
+ R.on_new(data)
+ else
+ R.on_new(data)
+
if(data)
R.data = data