diff --git a/Content.Server/Body/Components/StomachComponent.cs b/Content.Server/Body/Components/StomachComponent.cs
index 06f03482e7..4821b78f4a 100644
--- a/Content.Server/Body/Components/StomachComponent.cs
+++ b/Content.Server/Body/Components/StomachComponent.cs
@@ -47,6 +47,12 @@ namespace Content.Server.Body.Components
[DataField]
public EntityWhitelist? SpecialDigestible = null;
+ ///
+ /// Controls whitelist behavior. If true, this stomach can digest only food that passes the whitelist. If false, it can digest normal food and any food that passes the whitelist.
+ ///
+ [DataField]
+ public bool IsSpecialDigestibleExclusive = true;
+
///
/// Used to track how long each reagent has been in the stomach
///
diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
index 8b7626e031..38c9cba72d 100644
--- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
+++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
@@ -442,8 +442,10 @@ public sealed class FoodSystem : EntitySystem
// Check if the food is in the whitelist
if (_whitelistSystem.IsWhitelistPass(ent.Comp1.SpecialDigestible, food))
return true;
- // They can only eat whitelist food and the food isn't in the whitelist. It's not edible.
- return false;
+
+ // If their diet is whitelist exclusive, then they cannot eat anything but what follows their whitelisted tags. Else, they can eat their tags AND human food.
+ if (ent.Comp1.IsSpecialDigestibleExclusive)
+ return false;
}
if (component.RequiresSpecialDigestion)
diff --git a/Resources/Prototypes/Body/Organs/vox.yml b/Resources/Prototypes/Body/Organs/vox.yml
index 8b38bb8d0b..3dbb65c928 100644
--- a/Resources/Prototypes/Body/Organs/vox.yml
+++ b/Resources/Prototypes/Body/Organs/vox.yml
@@ -27,14 +27,7 @@
specialDigestible:
tags:
- Trash
- - Fruit
- - ReptilianFood
- - Meat
- - Pill
- - Crayon
- - Paper
- - VoxFood
- - Vegetable
+ isSpecialDigestibleExclusive: false
- type: entity
parent: OrganHumanLiver
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml
index ef0d43be3f..114b3e01f2 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml
@@ -20,9 +20,6 @@
reagents:
- ReagentId: Nutriment
Quantity: 5
- - type: Tag
- tags:
- - VoxFood
- type: entity
id: FoodBagel
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
index 1945da67f3..d817d53b18 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
@@ -15,7 +15,6 @@
- type: Tag
tags:
- Bread
- - VoxFood
- type: SolutionContainerManager
solutions:
food:
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
index 763e8d3580..3b9ae17b6a 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
@@ -26,7 +26,6 @@
- type: Tag
tags:
- Cake
- - VoxFood
- type: SecretStash
maxItemSize: "Normal"
secretStashName: secret-stash-cake
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
index 4cdca4799c..52ac7b2fe9 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
@@ -10,7 +10,6 @@
- type: Tag
tags:
- Donut
- - VoxFood
- type: Sprite
sprite: Objects/Consumable/Food/Baked/donut.rsi
- type: SolutionContainerManager
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
index 7776906b75..c7a10d4212 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
@@ -18,9 +18,6 @@
Quantity: 5
- type: Item
size: Tiny
- - type: Tag
- tags:
- - VoxFood
# Muffins
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
index 8633d0f718..b86a4201e8 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
@@ -30,7 +30,6 @@
- type: Tag
tags:
- Pie
- - VoxFood
- type: entity
parent: FoodInjectableBase # Not sliceable
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml
index 3576fdfc15..a4cf014bff 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml
@@ -22,9 +22,6 @@
reagents:
- ReagentId: Nutriment
Quantity: 20
- - type: Tag
- tags:
- - VoxFood
# Meals
@@ -353,7 +350,7 @@
description: BBQ ribs, slathered in a healthy coating of BBQ sauce. The least vegan thing to ever exist.
components:
- type: Food
- trash:
+ trash:
- FoodKebabSkewer
- type: FlavorProfile
flavors:
@@ -615,7 +612,7 @@
description: Buttery.
components:
- type: Food
- trash:
+ trash:
- FoodPlate
- type: FlavorProfile
flavors:
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml
index b11b38be1c..4bff8252aa 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml
@@ -18,10 +18,7 @@
reagents:
- ReagentId: Nutriment
Quantity: 20
- - type: Tag
- tags:
- - VoxFood
-
+
# Noodles
- type: entity
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml
index 72243b6d06..9147a79158 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml
@@ -10,7 +10,6 @@
- type: Tag
tags:
- FoodSnack
- - VoxFood
- type: Sprite
sprite: Objects/Consumable/Food/snacks.rsi
- type: SolutionContainerManager
@@ -42,7 +41,7 @@
state: boritos
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketBoritosTrash
- type: entity
@@ -58,7 +57,7 @@
state: cnds
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketCnDsTrash
- type: entity
@@ -75,7 +74,7 @@
state: cheesiehonkers
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketCheesieTrash
- type: entity
@@ -93,7 +92,7 @@
state: chips
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketChipsTrash
- type: entity
@@ -192,7 +191,7 @@
state: pistachio
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketPistachioTrash
- type: Tag
tags:
@@ -215,7 +214,7 @@
- type: Item
heldPrefix: popcorn
- type: Food
- trash:
+ trash:
- FoodPacketPopcornTrash
- type: entity
@@ -231,7 +230,7 @@
state: raisins
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketRaisinsTrash
- type: Tag
tags:
@@ -250,7 +249,7 @@
state: semki
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketSemkiTrash
- type: entity
@@ -266,7 +265,7 @@
state: susjerky
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketSusTrash
- type: Tag
tags:
@@ -285,7 +284,7 @@
state: syndicakes
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketSyndiTrash
- type: entity
@@ -310,7 +309,7 @@
- type: Sprite
state: ramen
- type: Food
- trash:
+ trash:
- FoodPacketCupRamenTrash
- type: entity
@@ -353,7 +352,7 @@
- ReagentId: Soysauce
Quantity: 2
- type: Food
- trash:
+ trash:
- FoodPacketChowMeinTrash
- type: entity
@@ -382,7 +381,7 @@
- ReagentId: Soysauce
Quantity: 2
- type: Food
- trash:
+ trash:
- FoodPacketDanDanTrash
- type: entity
@@ -408,7 +407,7 @@
heldPrefix: packet
size: Tiny
- type: Food
- trash:
+ trash:
- FoodCookieFortune
- type: entity
@@ -498,9 +497,6 @@
Quantity: 10
- ReagentId: Theobromine
Quantity: 3
- - type: Tag
- tags:
- - VoxFood
# Trash
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
index 2450f6ab4f..148bdf8161 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
@@ -8,7 +8,7 @@
- type: Item
storedRotation: -90
- type: Food
- trash:
+ trash:
- FoodBowlBig
utensil: Spoon
- type: SolutionContainerManager
@@ -42,7 +42,6 @@
- type: Tag
tags:
- Soup
- - VoxFood
- type: Destructible
thresholds:
- trigger:
@@ -972,7 +971,7 @@
flavors:
- miso
- type: Food
- trash:
+ trash:
- FoodBowlFancy
- type: Sprite
layers:
diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml
index 0a9980962d..9f97fa8ed0 100644
--- a/Resources/Prototypes/tags.yml
+++ b/Resources/Prototypes/tags.yml
@@ -1364,9 +1364,6 @@
- type: Tag
id: VoiceTrigger
-- type: Tag # Eating fix tag
- id: VoxFood
-
- type: Tag
id: Wall