* 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>
[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>
// 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)
specialDigestible:
tags:
- Trash
- - Fruit
- - ReptilianFood
- - Meat
- - Pill
- - Crayon
- - Paper
- - VoxFood
- - Vegetable
+ isSpecialDigestibleExclusive: false
- type: entity
parent: OrganHumanLiver
reagents:
- ReagentId: Nutriment
Quantity: 5
- - type: Tag
- tags:
- - VoxFood
- type: entity
id: FoodBagel
- type: Tag
tags:
- Bread
- - VoxFood
- type: SolutionContainerManager
solutions:
food:
- type: Tag
tags:
- Cake
- - VoxFood
- type: SecretStash
maxItemSize: "Normal"
secretStashName: secret-stash-cake
- type: Tag
tags:
- Donut
- - VoxFood
- type: Sprite
sprite: Objects/Consumable/Food/Baked/donut.rsi
- type: SolutionContainerManager
Quantity: 5
- type: Item
size: Tiny
- - type: Tag
- tags:
- - VoxFood
# Muffins
- type: Tag
tags:
- Pie
- - VoxFood
- type: entity
parent: FoodInjectableBase # Not sliceable
reagents:
- ReagentId: Nutriment
Quantity: 20
- - type: Tag
- tags:
- - VoxFood
# Meals
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:
description: Buttery.
components:
- type: Food
- trash:
+ trash:
- FoodPlate
- type: FlavorProfile
flavors:
reagents:
- ReagentId: Nutriment
Quantity: 20
- - type: Tag
- tags:
- - VoxFood
-
+
# Noodles
- type: entity
- type: Tag
tags:
- FoodSnack
- - VoxFood
- type: Sprite
sprite: Objects/Consumable/Food/snacks.rsi
- type: SolutionContainerManager
state: boritos
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketBoritosTrash
- type: entity
state: cnds
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketCnDsTrash
- type: entity
state: cheesiehonkers
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketCheesieTrash
- type: entity
state: chips
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketChipsTrash
- type: entity
state: pistachio
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketPistachioTrash
- type: Tag
tags:
- type: Item
heldPrefix: popcorn
- type: Food
- trash:
+ trash:
- FoodPacketPopcornTrash
- type: entity
state: raisins
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketRaisinsTrash
- type: Tag
tags:
state: semki
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketSemkiTrash
- type: entity
state: susjerky
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketSusTrash
- type: Tag
tags:
state: syndicakes
- type: Item
- type: Food
- trash:
+ trash:
- FoodPacketSyndiTrash
- type: entity
- type: Sprite
state: ramen
- type: Food
- trash:
+ trash:
- FoodPacketCupRamenTrash
- type: entity
- ReagentId: Soysauce
Quantity: 2
- type: Food
- trash:
+ trash:
- FoodPacketChowMeinTrash
- type: entity
- ReagentId: Soysauce
Quantity: 2
- type: Food
- trash:
+ trash:
- FoodPacketDanDanTrash
- type: entity
heldPrefix: packet
size: Tiny
- type: Food
- trash:
+ trash:
- FoodCookieFortune
- type: entity
Quantity: 10
- ReagentId: Theobromine
Quantity: 3
- - type: Tag
- tags:
- - VoxFood
# Trash
- type: Item
storedRotation: -90
- type: Food
- trash:
+ trash:
- FoodBowlBig
utensil: Spoon
- type: SolutionContainerManager
- type: Tag
tags:
- Soup
- - VoxFood
- type: Destructible
thresholds:
- trigger:
flavors:
- miso
- type: Food
- trash:
+ trash:
- FoodBowlFancy
- type: Sprite
layers:
- type: Tag
id: VoiceTrigger
-- type: Tag # Eating fix tag
- id: VoxFood
-
- type: Tag
id: Wall