diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 0432b455326..50bddf4e5e6 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -1,3 +1,4 @@
+#define MAX_WEIGHT_CLASS WEIGHT_CLASS_SMALL * 2
//Food items that are eaten normally and don't leave anything behind.
/obj/item/weapon/reagent_containers/food/snacks
name = "snack"
@@ -14,6 +15,7 @@
var/dry = 0
var/cooktype[0]
var/cooked_type = null //for microwave cooking. path of the resulting item after microwaving
+ var/total_w_class = 0 //for the total weight an item of food can carry
//Placeholder for effect that trigger on eating that aren't tied to reagents.
@@ -130,10 +132,10 @@
istype(W, /obj/item/weapon/hatchet) \
)
inaccurate = 1
- else if(W.w_class <= WEIGHT_CLASS_SMALL && istype(src,/obj/item/weapon/reagent_containers/food/snacks/sliceable))
+ if(total_w_class > MAX_WEIGHT_CLASS)
if(contents.len)
// Nope, no bluespace slice food
- to_chat(user, "Something is already in the [src]!")
+ to_chat(user, "Something is already in [src]!")
return 1
if(!iscarbon(user))
return 1
@@ -142,6 +144,7 @@
if((user.client && user.s_active != src))
user.client.screen -= W
W.dropped(user)
+ total_w_class += W.w_class
add_fingerprint(user)
contents += W
return
@@ -2525,4 +2528,5 @@
icon_state = "onionrings"
list_reagents = list("nutriment" = 3)
filling_color = "#C0C9A0"
- gender = PLURAL
\ No newline at end of file
+ gender = PLURAL
+#undef MAX_WEIGHT_CLASS
\ No newline at end of file