Not exclusive whitelist diet. Vox regain access to old food. (#37497)
* Creates a secondary digestible whitelist that is not exclusive. Additionally reworks the Vox stomach. * Update FoodSystem.cs Remnants of an old attempt. Cleaning it. * Update vox.yml Remnants of an old attempt. Cleaning up. * Whitelist no longer, now the diet exclusion var is a bool. * Clean-up * Update Content.Server/Body/Components/StomachComponent.cs Typo fixing Co-authored-by: Tayrtahn <tayrtahn@gmail.com> * Update Content.Server/Body/Components/StomachComponent.cs Clarifications. Co-authored-by: Tayrtahn <tayrtahn@gmail.com> * Update Content.Server/Nutrition/EntitySystems/FoodSystem.cs Typo fixing Co-authored-by: Tayrtahn <tayrtahn@gmail.com> * Update Resources/Prototypes/Body/Organs/vox.yml Typo fixes Co-authored-by: Tayrtahn <tayrtahn@gmail.com> --------- Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
This commit is contained in:
@@ -47,6 +47,12 @@ namespace Content.Server.Body.Components
|
||||
[DataField]
|
||||
public EntityWhitelist? SpecialDigestible = null;
|
||||
|
||||
/// <summary>
|
||||
/// Controls whitelist behavior. If true, this stomach can digest <i>only</i> food that passes the whitelist. If false, it can digest normal food <i>and</i> any food that passes the whitelist.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool IsSpecialDigestibleExclusive = true;
|
||||
|
||||
/// <summary>
|
||||
/// Used to track how long each reagent has been in the stomach
|
||||
/// </summary>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -27,14 +27,7 @@
|
||||
specialDigestible:
|
||||
tags:
|
||||
- Trash
|
||||
- Fruit
|
||||
- ReptilianFood
|
||||
- Meat
|
||||
- Pill
|
||||
- Crayon
|
||||
- Paper
|
||||
- VoxFood
|
||||
- Vegetable
|
||||
isSpecialDigestibleExclusive: false
|
||||
|
||||
- type: entity
|
||||
parent: OrganHumanLiver
|
||||
|
||||
@@ -20,9 +20,6 @@
|
||||
reagents:
|
||||
- ReagentId: Nutriment
|
||||
Quantity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- VoxFood
|
||||
|
||||
- type: entity
|
||||
id: FoodBagel
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Bread
|
||||
- VoxFood
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Cake
|
||||
- VoxFood
|
||||
- type: SecretStash
|
||||
maxItemSize: "Normal"
|
||||
secretStashName: secret-stash-cake
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Donut
|
||||
- VoxFood
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/Baked/donut.rsi
|
||||
- type: SolutionContainerManager
|
||||
|
||||
@@ -18,9 +18,6 @@
|
||||
Quantity: 5
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: Tag
|
||||
tags:
|
||||
- VoxFood
|
||||
|
||||
# Muffins
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Pie
|
||||
- VoxFood
|
||||
|
||||
- type: entity
|
||||
parent: FoodInjectableBase # Not sliceable
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -18,10 +18,7 @@
|
||||
reagents:
|
||||
- ReagentId: Nutriment
|
||||
Quantity: 20
|
||||
- type: Tag
|
||||
tags:
|
||||
- VoxFood
|
||||
|
||||
|
||||
# Noodles
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -1364,9 +1364,6 @@
|
||||
- type: Tag
|
||||
id: VoiceTrigger
|
||||
|
||||
- type: Tag # Eating fix tag
|
||||
id: VoxFood
|
||||
|
||||
- type: Tag
|
||||
id: Wall
|
||||
|
||||
|
||||
Reference in New Issue
Block a user