diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 63c64f16d01..16e0cb8e77f 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -553,7 +553,7 @@
desc = "Filled with some of the most rancid stuff ever, will probably make anyone within a mile of it dry heave."
stage = READY
-/obj/item/weapon/grenade/chem_grenade/pukonium/New()
+/obj/item/weapon/grenade/chem_grenade/pukonium/Initialize()
..()
var/obj/item/weapon/reagent_containers/glass/beaker/large/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/large/B2 = new(src)
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index 8a83712811d..b257276dc00 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -47,7 +47,7 @@
add_logs(user, M, "fed", reagentlist(src))
var/fraction = min(gulp_size/reagents.total_volume, 1)
- if(ishuman(M))
+ if(iscarbon(M))
var/mob/living/carbon/human/H = M
if(foodtype & H.dna.species.toxic_food)
to_chat(M,"What the hell is this?!")
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index 6e2bdaf5841..ca93ef1adf8 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -173,7 +173,7 @@
desc = "A bottle filled with nothing."
icon_state = "bottleofnothing"
list_reagents = list("nothing" = 100)
- foodtype = null
+ foodtype = NONE
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron
name = "Wrapp Artiste Patron"
@@ -192,7 +192,7 @@
desc = "A flask of the chaplain's holy water."
icon_state = "holyflask"
list_reagents = list("holywater" = 100)
- foodtype = null
+ foodtype = NONE
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/hell
desc = "A flask of holy water...it's been sitting in the Necropolis a while though."
diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm
index 98fbdc436fb..7bab6adcf9c 100644
--- a/code/modules/food_and_drinks/food.dm
+++ b/code/modules/food_and_drinks/food.dm
@@ -6,7 +6,7 @@
volume = 50 //Sets the default container amount for all food items.
container_type = INJECTABLE
resistance_flags = FLAMMABLE
- var/foodtype
+ var/foodtype = NONE
/obj/item/weapon/reagent_containers/food/New()
..()
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index feebf71066e..2f68240984a 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -103,24 +103,24 @@
if(M.satiety > -200)
M.satiety -= junkiness
playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
- var/fraction = min(bitesize / reagents.total_volume, 1)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- if(foodtype & H.dna.species.toxic_food)
- to_chat(M,"What the hell was that thing?!")
- M.adjust_disgust(25 + 30 * fraction)
- else if(foodtype & H.dna.species.disliked_food)
- to_chat(M,"That didn't taste very good...")
- M.adjust_disgust(11 + 15 * fraction)
- else if(foodtype & H.dna.species.liked_food)
- to_chat(M,"I love this taste!")
- M.adjust_disgust(-5 + -2.5 * fraction)
if(reagents.total_volume)
+ var/fraction = min(bitesize / reagents.total_volume, 1)
reagents.reaction(M, INGEST, fraction)
reagents.trans_to(M, bitesize)
bitecount++
On_Consume()
- return 1
+ if(iscarbon(M))
+ var/mob/living/carbon/human/H = M
+ if(foodtype & H.dna.species.toxic_food)
+ to_chat(M,"What the hell was that thing?!")
+ M.adjust_disgust(25 + 30 * fraction)
+ else if(foodtype & H.dna.species.disliked_food)
+ to_chat(M,"That didn't taste very good...")
+ M.adjust_disgust(11 + 15 * fraction)
+ else if(foodtype & H.dna.species.liked_food)
+ to_chat(M,"I love this taste!")
+ M.adjust_disgust(-5 + -2.5 * fraction)
+ return 1
return 0
diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm
index fec1422ff13..a6055c7d70c 100644
--- a/code/modules/mob/living/carbon/carbon_defines.dm
+++ b/code/modules/mob/living/carbon/carbon_defines.dm
@@ -11,6 +11,8 @@
var/obj/item/handcuffed = null //Whether or not the mob is handcuffed
var/obj/item/legcuffed = null //Same as handcuffs but for legs. Bear traps use this.
+ var/disgust = 0
+
//inventory slots
var/obj/item/back = null
var/obj/item/clothing/mask/wear_mask = null
@@ -47,4 +49,4 @@
var/list/hand_bodyparts = list() //a collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)
var/icon_render_key = ""
- var/static/list/limb_icon_cache = list()
\ No newline at end of file
+ var/static/list/limb_icon_cache = list()
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 988dd06df89..a2354f320d0 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -29,7 +29,7 @@
var/exotic_bloodtype = "" //If your race uses a non standard bloodtype (A+, O-, AB-, etc)
var/meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human //What the species drops on gibbing
var/skinned_type
- var/liked_food
+ var/liked_food = NONE
var/disliked_food = GROSS
var/toxic_food = TOXIC
var/list/no_equip = list() // slots the race can't equip stuff to
diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm
index 64aa364711e..52c3f64cedf 100644
--- a/code/modules/mob/living/carbon/status_procs.dm
+++ b/code/modules/mob/living/carbon/status_procs.dm
@@ -72,7 +72,8 @@
disgust = max(disgust+amount, 0)
/mob/living/carbon/set_disgust(amount)
- disgust = amount
+ if(amount >= 0)
+ disgust = amount
/mob/living/carbon/cure_blind()
if(disabilities & BLIND)
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 9f44a0ad711..c9272c8d6bb 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -46,7 +46,6 @@
var/cultslurring = 0 //Carbon
var/real_name = null
var/druggy = 0 //Carbon
- var/disgust = 0 //Carbon
var/confused = 0 //Carbon
var/resting = 0 //Carbon
var/lying = 0