diff --git a/Content.Client/Entry/EntryPoint.cs b/Content.Client/Entry/EntryPoint.cs
index dbc3af3b809..8c034d00881 100644
--- a/Content.Client/Entry/EntryPoint.cs
+++ b/Content.Client/Entry/EntryPoint.cs
@@ -123,6 +123,7 @@ public override void Init()
_prototypeManager.RegisterIgnore("alertLevels");
_prototypeManager.RegisterIgnore("nukeopsRole");
_prototypeManager.RegisterIgnore("ghostRoleRaffleDecider");
+ _prototypeManager.RegisterIgnore("digestion"); // Frontier: server-only
_prototypeManager.RegisterIgnore("pointOfInterest"); // Frontier: worldgen-related, server-only
_componentFactory.GenerateNetIds();
diff --git a/Content.Server/Body/Components/StomachComponent.cs b/Content.Server/Body/Components/StomachComponent.cs
index d541ca4d7c4..6adc930fb2d 100644
--- a/Content.Server/Body/Components/StomachComponent.cs
+++ b/Content.Server/Body/Components/StomachComponent.cs
@@ -4,6 +4,8 @@
using Content.Shared.Chemistry.Reagent;
using Content.Shared.Whitelist;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
+using Content.Server._NF.Nutrition.Prototypes; // Frontier
+using Robust.Shared.Prototypes; // Frontier
namespace Content.Server.Body.Components
{
@@ -69,5 +71,11 @@ public ReagentDelta(ReagentQuantity reagentQuantity)
public void Increment(TimeSpan delta) => Lifetime += delta;
}
+
+ ///
+ /// Frontier: digestion prototype (used for species-specific reagent replacement/effects)
+ ///
+ [DataField]
+ public ProtoId? Digestion = "Default";
}
}
diff --git a/Content.Server/Nutrition/Components/FoodComponent.cs b/Content.Server/Nutrition/Components/FoodComponent.cs
index 638e898060c..33f5c9cdc33 100644
--- a/Content.Server/Nutrition/Components/FoodComponent.cs
+++ b/Content.Server/Nutrition/Components/FoodComponent.cs
@@ -7,7 +7,7 @@
namespace Content.Server.Nutrition.Components;
-[RegisterComponent, Access(typeof(FoodSystem), typeof(FoodSequenceSystem))]
+[RegisterComponent, Access(typeof(FoodSystem), typeof(FoodSequenceSystem))] // Frontier
public sealed partial class FoodComponent : Component
{
[DataField]
@@ -75,6 +75,12 @@ public sealed partial class FoodComponent : Component
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool RequireDead = true;
+ ///
+ /// The quality of this food, for species-specific digestion.
+ ///
+ [DataField, ViewVariables]
+ public FoodQuality Quality = FoodQuality.Bland;
+
[DataField]
public LocId VerbEat = "food-system-verb-eat"; // Frontier
@@ -96,3 +102,24 @@ public sealed partial class FoodComponent : Component
[DataField]
public LocId CannotEatAnyMoreOtherMessage = "food-system-you-cannot-eat-any-more-other"; // Frontier
}
+
+///
+/// An enumeration of the quality of given pieces of food.
+///
+public enum FoodQuality : byte
+{
+ // Run of the mill foods, spammable things
+ Bland,
+ // Goblin-friendly recipes
+ Nasty,
+ Awful,
+ GoblinGourmet,
+ // Regular recipes
+ Normal,
+ High,
+ Gourmet,
+ // Completely inedible
+ Junk,
+ SuperJunk,
+}
+// End of modified code
diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
index 214346463a0..77f5ad46d14 100644
--- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
+++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
@@ -40,7 +40,7 @@ namespace Content.Server.Nutrition.EntitySystems;
///
/// Handles feeding attempts both on yourself and on the target.
///
-public sealed class FoodSystem : EntitySystem
+public sealed partial class FoodSystem : EntitySystem // Frontier: add partial
{
[Dependency] private readonly BodySystem _body = default!;
[Dependency] private readonly FlavorProfileSystem _flavorProfile = default!;
@@ -245,12 +245,21 @@ private void OnDoAfter(Entity entity, ref ConsumeDoAfterEvent arg
var split = _solutionContainer.SplitSolution(soln.Value, transferAmount);
+ // Frontier: food digestion
+ if (!CheckDigestablePrereqs(entity, entity.Comp, stomachs))
+ return;
+
// Get the stomach with the highest available solution volume
var highestAvailable = FixedPoint2.Zero;
Entity? stomachToUse = null;
foreach (var ent in stomachs)
{
var owner = ent.Owner;
+
+ // Frontier: check specific-stomach digestion
+ if (!IsFoodDigestibleByStomach(args.Used.Value, entity.Comp, ent.Comp1)) // Frontier: make sure food is processed by a stomach that can digest it
+ continue;
+
if (!_stomach.CanTransferSolution(owner, split, ent.Comp1))
continue;
@@ -272,6 +281,8 @@ private void OnDoAfter(Entity entity, ref ConsumeDoAfterEvent arg
return;
}
+ var digestion = DigestFood(entity, stomachToUse.Value, split, args.Target.Value, args.User); // Frontier: species-specific digestion
+
_reaction.DoEntityReaction(args.Target.Value, solution, ReactionMethod.Ingestion);
_stomach.TryTransferSolution(stomachToUse!.Value.Owner, split, stomachToUse);
@@ -279,9 +290,12 @@ private void OnDoAfter(Entity entity, ref ConsumeDoAfterEvent arg
if (forceFeed)
{
- var targetName = Identity.Entity(args.Target.Value, EntityManager);
+ var targetName = Identity.Entity(args.Target!.Value, EntityManager);
var userName = Identity.Entity(args.User, EntityManager);
- _popup.PopupEntity(Loc.GetString(entity.Comp.ForceFeedSuccessMessage, ("user", userName), ("flavors", flavors)), args.Target.Value, args.Target.Value); // Frontier: entity.Owner->args.Target.Value
+
+ // TODO: revise this with napkin work
+ if (digestion.ShowFlavors) // Frontier
+ _popup.PopupEntity(Loc.GetString(entity.Comp.ForceFeedSuccessMessage, ("user", userName), ("flavors", flavors)), args.Target.Value, args.Target.Value); // Frontier: entity.Owner->args.Target.Value
_popup.PopupEntity(Loc.GetString(entity.Comp.ForceFeedSuccessUserMessage, ("target", targetName)), args.User, args.User);
@@ -290,7 +304,8 @@ private void OnDoAfter(Entity entity, ref ConsumeDoAfterEvent arg
}
else
{
- _popup.PopupEntity(Loc.GetString(entity.Comp.EatMessage, ("food", entity.Owner), ("flavors", flavors)), args.User, args.User);
+ if (digestion.ShowFlavors) // Frontier
+ _popup.PopupEntity(Loc.GetString(entity.Comp.EatMessage, ("food", entity.Owner), ("flavors", flavors)), args.User, args.User);
// log successful voluntary eating
_adminLogger.Add(LogType.Ingestion, LogImpact.Low, $"{ToPrettyString(args.User):target} ate {ToPrettyString(entity.Owner):food}");
@@ -420,29 +435,49 @@ public bool IsDigestibleBy(EntityUid uid, EntityUid food, FoodComponent? foodCom
///
private bool IsDigestibleBy(EntityUid food, FoodComponent component, List> stomachs)
{
- var digestible = true;
+ return GetDigestableStomach(food, component, stomachs) is not null; // Frontier: removed
+ }
+
+ private bool CheckDigestablePrereqs(EntityUid food, FoodComponent component, List> stomachs)
+ {
+ return stomachs.Count >= component.RequiredStomachs;
+ }
- // Does the mob have enough stomachs?
- if (stomachs.Count < component.RequiredStomachs)
+ private bool IsFoodDigestibleByStomach(EntityUid food, FoodComponent component, StomachComponent stomach)
+ {
+ if (!component.RequiresSpecialDigestion)
+ return true;
+
+ // Check if the food is in the whitelist
+ if (_whitelistSystem.IsWhitelistPass(stomach.SpecialDigestible, food))
+ return true;
+ else
return false;
+ }
+ private StomachComponent? GetDigestableStomach(EntityUid food, FoodComponent component, List> stomachs)
+ {
+ if (!CheckDigestablePrereqs(food, component, stomachs)) {
+ return null;
+ }
// Run through the mobs' stomachs
foreach (var ent in stomachs)
{
- // Find a stomach with a SpecialDigestible
- if (ent.Comp1.SpecialDigestible == null)
- continue;
- // 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 (IsFoodDigestibleByStomach(food, component, ent.Comp1)) {
+ return ent.Comp1;
+ }
- if (component.RequiresSpecialDigestion)
- return false;
+ // // Find a stomach with a SpecialDigestible
+ // if (ent.Comp1.SpecialDigestible == null)
+ // continue;
+ // // 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;
+ }
- return digestible;
+ return null;
}
private bool TryGetRequiredUtensils(EntityUid user, FoodComponent component,
diff --git a/Content.Server/_NF/Nutrition/EntitySystems/FoodSystem.Digestion.cs b/Content.Server/_NF/Nutrition/EntitySystems/FoodSystem.Digestion.cs
new file mode 100644
index 00000000000..d084ed3bdf3
--- /dev/null
+++ b/Content.Server/_NF/Nutrition/EntitySystems/FoodSystem.Digestion.cs
@@ -0,0 +1,81 @@
+// New Frontiers - This file is licensed under AGPLv3
+// Copyright (c) 2024 New Frontiers Contributors
+// See AGPLv3.txt for details.
+using Content.Server.Nutrition.Components;
+using Content.Shared.Chemistry.Reagent;
+using Content.Shared.Chemistry.Components;
+using Content.Server.Body.Components;
+using Robust.Shared.Prototypes;
+using Content.Shared.EntityEffects;
+using Robust.Shared.Random;
+using Content.Shared.Chemistry;
+
+namespace Content.Server.Nutrition.EntitySystems;
+
+// Frontier: extending food system to handle species-specific digestion quirks.
+public sealed partial class FoodSystem : EntitySystem
+{
+ [Dependency] private readonly IPrototypeManager _prototype = default!;
+ [Dependency] private readonly IRobustRandom _random = default!;
+
+ public struct DigestionResult
+ {
+ public bool ShowFlavors;
+ }
+
+ DigestionResult DigestFood(Entity food, Entity stomach, Solution eatenSolution, EntityUid target, EntityUid _)
+ {
+ var result = new DigestionResult
+ {
+ ShowFlavors = true
+ };
+
+ // Frontier - Food quality system
+ if (!_prototype.TryIndex(stomach.Comp.Digestion, out var digestion))
+ {
+ return result;
+ }
+
+ var eatenVolume = eatenSolution.Volume;
+ while (digestion != null)
+ {
+ // Iterate through effects
+ foreach (var effect in digestion.Effects)
+ {
+ // Precondition: match food quality and/or whitelist.
+ if (effect.Quality.Contains(food.Comp.Quality))
+ continue;
+
+ if (_whitelistSystem.IsWhitelistFail(effect.Whitelist, food.Owner)
+ || _whitelistSystem.IsBlacklistPass(effect.Whitelist, food.Owner))
+ continue;
+
+ // Run reagent conversions
+ foreach (var (beforeReagent, afterDict) in effect.Conversions)
+ {
+ var removedAmount = eatenSolution.RemoveReagent(new ReagentQuantity(beforeReagent, eatenVolume));
+ foreach (var (afterReagent, afterRatio) in afterDict)
+ {
+ eatenSolution.AddReagent(new ReagentQuantity(afterReagent, removedAmount * afterRatio));
+ }
+ }
+
+ var args = new EntityEffectReagentArgs(target, EntityManager, stomach.Owner, eatenSolution, eatenSolution.Volume, null, ReactionMethod.Ingestion, 1.0f);
+ foreach (var entEffect in effect.Effects)
+ {
+ if (!EntityEffectExt.ShouldApply(entEffect, args, _random))
+ continue;
+ entEffect.Effect(args);
+ }
+ }
+
+ // Get next digestion to run
+ if (!_prototype.TryIndex(digestion.PostDigest, out digestion))
+ {
+ digestion = null;
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/Content.Server/_NF/Nutrition/Prototypes/DigestionPrototype.cs b/Content.Server/_NF/Nutrition/Prototypes/DigestionPrototype.cs
new file mode 100644
index 00000000000..f6c276e8c5b
--- /dev/null
+++ b/Content.Server/_NF/Nutrition/Prototypes/DigestionPrototype.cs
@@ -0,0 +1,63 @@
+using Content.Server.Nutrition.Components;
+using Content.Shared.Chemistry.Reagent;
+using Content.Shared.EntityEffects;
+using Content.Shared.FixedPoint;
+using Content.Shared.Whitelist;
+using Robust.Shared.Prototypes;
+
+namespace Content.Server._NF.Nutrition.Prototypes;
+
+[Prototype("digestion")]
+[DataDefinition]
+public sealed partial class DigestionPrototype : IPrototype
+{
+ [ViewVariables]
+ [IdDataField]
+ public string ID { get; private set; } = default!;
+
+ ///
+ /// The list of digestive effects that occur in this organ.
+ ///
+ [DataField]
+ public List Effects { get; private set; } = new();
+
+ ///
+ /// The list of digestive effects that occur in this organ.
+ ///
+ [DataField]
+ public ProtoId? PostDigest { get; private set; } = null;
+}
+
+[DataDefinition]
+public sealed partial class DigestionEffect
+{
+ ///
+ /// The quality of food this effect occurs on.
+ ///
+ [DataField]
+ public List Quality { get; private set; } = new();
+
+ ///
+ /// A whitelist on the food item this bite was taken from.
+ ///
+ [DataField]
+ public EntityWhitelist? Whitelist { get; private set; } = null;
+
+ ///
+ /// A blacklist on the food item this bite was taken from.
+ ///
+ [DataField]
+ public EntityWhitelist? Blacklist { get; private set; } = null;
+
+ ///
+ /// A list of reagent effects that happen on the stomach solution
+ ///
+ [DataField]
+ public List Effects { get; private set; } = new();
+
+ ///
+ /// A list of conversions. All values should be ratios of the input reagent, and the sum of their values should be <= 1.
+ ///
+ [DataField]
+ public Dictionary, Dictionary, FixedPoint2>> Conversions { get; private set; } = new();
+}
diff --git a/Resources/Locale/en-US/_NF/nutrition/components/food-component.ftl b/Resources/Locale/en-US/_NF/nutrition/components/food-component.ftl
index 585b1e81431..b2251fe26fc 100644
--- a/Resources/Locale/en-US/_NF/nutrition/components/food-component.ftl
+++ b/Resources/Locale/en-US/_NF/nutrition/components/food-component.ftl
@@ -12,3 +12,6 @@ food-system-verb-wipe = Wipe Face
food-system-wipe = {CAPITALIZE(THE($user))} is trying to wipe your face.
food-system-wipe-success = {CAPITALIZE(THE($user))} wiped your face.
food-system-wipe-success-user = You wiped {THE($target)}'s face.
+
+food-system-nasty = That food was gross.
+food-system-toxin = That food was bad.
\ No newline at end of file
diff --git a/Resources/Locale/en-US/_NF/reagents/foods.ftl b/Resources/Locale/en-US/_NF/reagents/foods.ftl
new file mode 100644
index 00000000000..8f4275ac0f2
--- /dev/null
+++ b/Resources/Locale/en-US/_NF/reagents/foods.ftl
@@ -0,0 +1,2 @@
+reagent-name-trashjuice = trash juice
+reagent-desc-trashjuice = Do you really want to know what it is?
diff --git a/Resources/Locale/en-US/_NF/reagents/meta/consumable/food/food.ftl b/Resources/Locale/en-US/_NF/reagents/meta/consumable/food/food.ftl
index 044c74eea27..2832bac1c17 100644
--- a/Resources/Locale/en-US/_NF/reagents/meta/consumable/food/food.ftl
+++ b/Resources/Locale/en-US/_NF/reagents/meta/consumable/food/food.ftl
@@ -1,5 +1,8 @@
reagent-name-flavorol = flavorol
reagent-desc-flavorol = All the vitamins, minerals, and carbohydrates the body needs in pure form.
+reagent-name-bloatamine = bloatamine
+reagent-desc-bloatamine = A metabolized version of the preservatives put in junk food. Carcinogenic in large quantities.
+
reagent-name-raisins = raisins
reagent-desc-raisins = Are they the best or worst part of the cookie? They're a bunch of desiccated grapes is what they are.
diff --git a/Resources/Locale/en-US/_NF/reagents/physical-desc.ftl b/Resources/Locale/en-US/_NF/reagents/physical-desc.ftl
new file mode 100644
index 00000000000..24bb74a5ea4
--- /dev/null
+++ b/Resources/Locale/en-US/_NF/reagents/physical-desc.ftl
@@ -0,0 +1 @@
+reagent-physical-desc-trashjuice = ... Wait.. Did it just move?
diff --git a/Resources/Prototypes/Body/Organs/Animal/animal.yml b/Resources/Prototypes/Body/Organs/Animal/animal.yml
index e3b3b5b0f51..5cd71013363 100644
--- a/Resources/Prototypes/Body/Organs/Animal/animal.yml
+++ b/Resources/Prototypes/Body/Organs/Animal/animal.yml
@@ -4,8 +4,8 @@
abstract: true
components:
- type: Organ
- - type: Food
-# quality: Nasty # Frontier
+ - type: Food # Frontier
+ quality: Nasty # Frontier
- type: Sprite
sprite: Mobs/Species/Human/organs.rsi
- type: StaticPrice
diff --git a/Resources/Prototypes/Body/Organs/Animal/ruminant.yml b/Resources/Prototypes/Body/Organs/Animal/ruminant.yml
index 3b00e1a2237..cd0066dbf76 100644
--- a/Resources/Prototypes/Body/Organs/Animal/ruminant.yml
+++ b/Resources/Prototypes/Body/Organs/Animal/ruminant.yml
@@ -8,3 +8,5 @@
solutions:
stomach:
maxVol: 80
+ - type: Stomach # Frontier
+ digestion: Ruminant # Frontier
diff --git a/Resources/Prototypes/Body/Organs/human.yml b/Resources/Prototypes/Body/Organs/human.yml
index 5fd071e061e..aff9e520f93 100644
--- a/Resources/Prototypes/Body/Organs/human.yml
+++ b/Resources/Prototypes/Body/Organs/human.yml
@@ -6,8 +6,8 @@
- type: Sprite
sprite: Mobs/Species/Human/organs.rsi
- type: Organ
- - type: Food
-# quality: Nasty # Frontier
+ - type: Food # Frontier
+ quality: Nasty # Frontier
- type: Extractable
grindableSolutionName: organ
- type: SolutionContainerManager
diff --git a/Resources/Prototypes/Body/Organs/moth.yml b/Resources/Prototypes/Body/Organs/moth.yml
index 263a964a1ec..65dd2361641 100644
--- a/Resources/Prototypes/Body/Organs/moth.yml
+++ b/Resources/Prototypes/Body/Organs/moth.yml
@@ -4,12 +4,12 @@
categories: [ HideSpawnMenu ]
components:
- type: Stomach
- # specialDigestible: # Frontier
- # tags: # Frontier
- # - MothFood # Frontier
- # - Fruit # Frontier
- # - Pill # Frontier
- # - Crayon # Frontier
+ specialDigestible:
+ tags:
+ - MothFood
+ component:
+ - Food # Frontier
+ digestion: Moth # Frontier
- type: SolutionContainerManager
solutions:
stomach:
diff --git a/Resources/Prototypes/Body/Organs/reptilian.yml b/Resources/Prototypes/Body/Organs/reptilian.yml
index 6cea48d6e39..c0061301557 100644
--- a/Resources/Prototypes/Body/Organs/reptilian.yml
+++ b/Resources/Prototypes/Body/Organs/reptilian.yml
@@ -4,14 +4,7 @@
categories: [ HideSpawnMenu ]
components:
- type: Stomach
- # specialDigestible: # Frontier
- # tags: # Frontier
- # - Fruit # Frontier
- # - ReptilianFood # Frontier
- # - Meat # Frontier
- # - Pill # Frontier
- # - Crayon # Frontier
- # - Paper # Frontier
+ digestion: Carnivore # Frontier
- type: SolutionContainerManager
solutions:
stomach:
@@ -20,4 +13,4 @@
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
- Quantity: 5
\ No newline at end of file
+ Quantity: 5
diff --git a/Resources/Prototypes/Body/Parts/base.yml b/Resources/Prototypes/Body/Parts/base.yml
index 836d0f140af..c2861364d90 100644
--- a/Resources/Prototypes/Body/Parts/base.yml
+++ b/Resources/Prototypes/Body/Parts/base.yml
@@ -6,6 +6,8 @@
name: "body part"
abstract: true
components:
+ - type: Food # Frontier
+ quality: Nasty # Frontier
- type: Damageable
damageContainer: Biological
- type: BodyPart
diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/donut.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/donut.yml
index 16dc3e628f8..2b7a4c9de8f 100644
--- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/donut.yml
+++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/donut.yml
@@ -1,9 +1,9 @@
- type: vendingMachineInventory
id: DonutInventory
startingInventory:
- FoodDonutChocolate: 5
- FoodDonutApple: 3
- FoodDonutPink: 3
- FoodDonutBungo: 3
- emaggedInventory:
- FoodDonutPoison: 1
+ FoodDonutChocolateVendor: 5
+ FoodDonutAppleVendor: 3
+ FoodDonutPinkVendor: 3
+ FoodDonutBungoVendor: 3
+ # emaggedInventory: # Frontier: no fun allowed
+ # FoodDonutPoison: 1 # Frontier: no fun allowed
diff --git a/Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml b/Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml
index 4d243971457..741191c7b12 100644
--- a/Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml
+++ b/Resources/Prototypes/DeltaV/Body/Organs/vulpkanin.yml
@@ -4,6 +4,7 @@
categories: [ HideSpawnMenu ]
components:
- type: Stomach
+ digestion: Carnivore # Frontier
- type: SolutionContainerManager
solutions:
stomach:
@@ -12,4 +13,4 @@
maxVol: 5
reagents:
- ReagentId: UncookedAnimalProteins
- Quantity: 5
\ No newline at end of file
+ Quantity: 5
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml
index 8f23b6c7df9..0da0f850579 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml
@@ -20,6 +20,8 @@
reagents:
- ReagentId: Nutriment
Quantity: 5
+ - type: Food # Frontier
+ quality: Bland # Frontier
- 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 35b0113fdfc..cda7dbf45b3 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
@@ -10,6 +10,7 @@
flavors:
- bread
- type: Food
+ quality: Normal # Frontier, New Food Quality System
- type: Sprite
sprite: Objects/Consumable/Food/Baked/bread.rsi
- type: Tag
@@ -18,12 +19,10 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 31
+ maxVol: 26
reagents:
- ReagentId: Nutriment
Quantity: 20
- - ReagentId: Flavorol
- Quantity: 5
- type: entity
parent: FoodBreadBase
@@ -42,12 +41,11 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 9
+ maxVol: 8
reagents:
- ReagentId: Nutriment
Quantity: 4
- - ReagentId: Flavorol
- Quantity: 1
+
# Custom Bread Example
- type: entity
@@ -145,6 +143,7 @@
tags:
- ClothMade
- Bread
+ - MothFood # Frontier
- type: SolutionContainerManager
solutions:
food:
@@ -175,6 +174,7 @@
- ClothMade
- Bread
- Slice
+ - MothFood # Frontier
- type: SolutionContainerManager
solutions:
food:
@@ -204,12 +204,10 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 25
+ maxVol: 20
reagents:
- ReagentId: Nutriment
Quantity: 15
- - ReagentId: Flavorol
- Quantity: 5
# Tastes like bread, banana, nut.
- type: entity
@@ -229,12 +227,10 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 6
+ maxVol: 5
reagents:
- ReagentId: Nutriment
Quantity: 3
- - ReagentId: Flavorol
- Quantity: 1
- type: entity
name: cream cheese bread
@@ -256,14 +252,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 40
+ maxVol: 35
reagents:
- ReagentId: Nutriment
Quantity: 20
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 5
# Tastes like bread, cheese.
- type: entity
@@ -290,8 +284,6 @@
Quantity: 4
- ReagentId: Vitamin
Quantity: 1.2
- - ReagentId: Flavorol
- Quantity: 1.5
- type: entity
name: meat bread
@@ -312,14 +304,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 50
+ maxVol: 45
reagents:
- ReagentId: Nutriment
Quantity: 30
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 10
- type: Tag
tags:
- Meat
@@ -349,8 +339,6 @@
Quantity: 6
- ReagentId: Vitamin
Quantity: 1.2
- - ReagentId: Flavorol
- Quantity: 2
- type: Tag
tags:
- Meat
@@ -376,7 +364,7 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 45
+ maxVol: 40
reagents:
- ReagentId: Nutriment
Quantity: 15
@@ -386,8 +374,6 @@
Quantity: 5
- ReagentId: MuteToxin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 5
# Tastes like bread, cheese.
- type: entity
@@ -417,8 +403,6 @@
Quantity: 1
- ReagentId: MuteToxin
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 1
- type: entity
name: bread
@@ -427,6 +411,7 @@
description: Some plain old earthen bread.
components:
- type: Food
+ quality: Bland # Frontier, New Food Quality System
- type: Sprite
layers:
- state: plain
@@ -440,6 +425,7 @@
description: A slice of home.
components:
- type: Food
+ quality: Bland # Frontier, New Food Quality System
- type: Sprite
layers:
- state: plain-slice
@@ -471,8 +457,6 @@
Quantity: 5
- ReagentId: Protein
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 5
- type: Tag
tags:
- Meat
@@ -503,8 +487,6 @@
Quantity: 1
- ReagentId: Protein
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 2
- type: Tag
tags:
- Meat
@@ -521,7 +503,8 @@
flavors:
- cobwebs
- bread
- - type: Food
+ - type: Food # Frontier
+ quality: Toxin # Frontier, New Food Quality System
- type: Sprite
layers:
- state: spidermeat
@@ -530,21 +513,16 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 60
+ maxVol: 45
reagents:
- ReagentId: Nutriment
Quantity: 30
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Toxin
- Quantity: 5
- - ReagentId: Flavorol
- Quantity: 10
- type: Tag
tags:
- Meat
- Bread
-# Tastes like bread, cobwebs.
- type: entity
name: spider meat bread slice
@@ -556,23 +534,20 @@
flavors:
- cobwebs
- bread
- - type: Food
+ - type: Food # Frontier
+ quality: Nasty # Frontier, New Food Quality System
- type: Sprite
layers:
- state: spidermeat-slice
- type: SolutionContainerManager
solutions:
food:
- maxVol: 15
+ maxVol: 12
reagents:
- ReagentId: Nutriment
Quantity: 6
- ReagentId: Vitamin
Quantity: 1.2
- - ReagentId: Toxin
- Quantity: .5
- - ReagentId: Flavorol
- Quantity: 2
- type: Tag
tags:
- Meat
@@ -598,14 +573,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 62
+ maxVol: 48
reagents:
- ReagentId: Nutriment
Quantity: 30
- ReagentId: Protein
Quantity: 12
- - ReagentId: Flavorol
- Quantity: 15
# Tastes like bread, tofu.
- type: entity
@@ -631,8 +604,6 @@
Quantity: 6
- ReagentId: Vitamin
Quantity: 2.4
- - ReagentId: Flavorol
- Quantity: 3
- type: entity
name: xeno meat bread
@@ -644,7 +615,6 @@
flavors:
- acid
- bread
- - type: Food
- type: Sprite
layers:
- state: xenomeat
@@ -659,8 +629,6 @@
Quantity: 30
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 10
- type: Tag
tags:
- Meat
@@ -690,8 +658,6 @@
Quantity: 6
- ReagentId: Vitamin
Quantity: 1.2
- - ReagentId: Flavorol
- Quantity: 2.4
- type: Tag
tags:
- Meat
@@ -714,7 +680,7 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 20
+ maxVol: 15
reagents:
- ReagentId: Nutriment
Quantity: 6
@@ -724,8 +690,6 @@
Quantity: 1
- ReagentId: Blackpepper
Quantity: 1
- - ReagentId: Flavorol # Frontier
- Quantity: 5 # Frontier
- type: Clothing
slots: [ BELT ]
equippedPrefix: baguette
@@ -786,8 +750,6 @@
Quantity: 5
- ReagentId: Vitamin
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 1
# Tastes like bread, butter.
- type: entity
@@ -805,14 +767,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 12
+ maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 4
- ReagentId: Vitamin
Quantity: 2
- - ReagentId: Flavorol
- Quantity: 1
# Tastes like bread, butter.
- type: entity
@@ -821,6 +781,8 @@
id: FoodBreadGarlicSlice
description: Alas, it is limited.
components:
+ - type: Food # Frontier
+ quality: High # Frontier, New Food Quality System
- type: FlavorProfile
flavors:
- bread
@@ -831,14 +793,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 20
+ maxVol: 15
reagents:
- ReagentId: Nutriment
Quantity: 6
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 5
# Tastes like garlic, Italy.
- type: entity
@@ -857,14 +817,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 12
+ maxVol: 10
reagents:
- ReagentId: Nutriment
Quantity: 4
- ReagentId: Vitamin
Quantity: 4
- - ReagentId: Flavorol
- Quantity: 2
# Tastes like garlic, Italy.
- type: entity
@@ -888,6 +846,8 @@
Quantity: 4
- ReagentId: Mold
Quantity: 7
+ - type: Food # Frontier
+ quality: Toxin # Frontier, New Food Quality System
# Tastes like decaying fungus.
- type: entity
@@ -976,3 +936,5 @@
damage:
groups:
Brute: 1
+ - type: Food # Frontier
+ quality: High # Frontier
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
index ab05503a2e6..151a8a75d7c 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
@@ -10,19 +10,18 @@
flavors:
- sweet
- type: Food
+ quality: High # Frontier, New Food Quality System
- type: Sprite
sprite: Objects/Consumable/Food/Baked/cake.rsi
- type: SolutionContainerManager
solutions:
food:
- maxVol: 50
+ maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 20
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 20
- type: Item
size: Normal
- type: Tag
@@ -48,8 +47,6 @@
Quantity: 4
- ReagentId: Vitamin
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 4
- type: Item
size: Tiny
- type: Tag
@@ -131,7 +128,7 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 35
+ maxVol: 30
reagents:
- ReagentId: JuiceCarrot
Quantity: 15
@@ -139,8 +136,6 @@
Quantity: 5
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 5
- type: Tag
tags:
- Cake
@@ -165,8 +160,6 @@
Quantity: 1
- ReagentId: Vitamin
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 1
- type: Tag
tags:
- Cake
@@ -189,6 +182,8 @@
tags:
- Cake
- Meat
+ - type: Food # Frontier
+ quality: Nasty # Frontier, New Food Quality System
- type: entity
name: slice of brain cake
@@ -203,6 +198,8 @@
- Cake
- Meat
- Slice
+ - type: Food # Frontier
+ quality: Nasty # Frontier, New Food Quality System
# Tastes like sweetness, cake, brains.
- type: entity
@@ -385,7 +382,7 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 55
+ maxVol: 35
reagents:
- ReagentId: Nutriment
Quantity: 20
@@ -393,8 +390,6 @@
Quantity: 5
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 20
- type: entity
name: slice of chocolate cake
@@ -414,8 +409,6 @@
Quantity: 1
- ReagentId: Vitamin
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 4
# Tastes like sweetness, cake, chocolate.
- type: entity
@@ -491,14 +484,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 70
+ maxVol: 50
reagents:
- ReagentId: Nutriment
Quantity: 32
- ReagentId: Vitamin
Quantity: 11
- - ReagentId: Flavorol
- Quantity: 20
- type: Tag
tags:
- Cake
@@ -521,8 +512,6 @@
Quantity: 6.4
- ReagentId: Vitamin
Quantity: 2.2
- - ReagentId: Flavorol
- Quantity: 4
- type: Tag
tags:
- Cake
@@ -593,7 +582,7 @@
- type: SolutionContainerManager #TODO Sprinkles
solutions:
food:
- maxVol: 65
+ maxVol: 45
reagents:
- ReagentId: Nutriment
Quantity: 20
@@ -601,8 +590,6 @@
Quantity: 5
- ReagentId: Sugar
Quantity: 15
- - ReagentId: Flavorol
- Quantity: 20
- type: entity
name: slice of vanilla cake
@@ -623,8 +610,6 @@
Quantity: 1
- ReagentId: Sugar
Quantity: 3
- - ReagentId: Flavorol
- Quantity: 4
# Tastes like sweetness, cake, vanilla.
- type: entity
@@ -640,7 +625,7 @@
- type: SolutionContainerManager #TODO Sprinkles
solutions:
food:
- maxVol: 65
+ maxVol: 45
reagents:
- ReagentId: Nutriment
Quantity: 20
@@ -648,8 +633,6 @@
Quantity: 5
- ReagentId: Sugar
Quantity: 15
- - ReagentId: Flavorol
- Quantity: 20
- type: entity
name: slice of clown cake
@@ -670,8 +653,6 @@
Quantity: 1
- ReagentId: Sugar
Quantity: 3
- - ReagentId: Flavorol
- Quantity: 4
# Tastes like sweetness, cake, clown.
- type: entity
@@ -808,7 +789,7 @@
food:
maxVol: 48
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 48
- type: Food
transferAmount: 12
@@ -832,7 +813,7 @@
food:
maxVol: 12
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 12
- type: Food
transferAmount: 3
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml
index c7e46d9a94a..79948076077 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml
@@ -6,6 +6,7 @@
abstract: true
components:
- type: Food
+ quality: Junk # Frontier
- type: Sprite
sprite: Objects/Consumable/Food/Baked/donkpocket.rsi
- type: SolutionContainerManager
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
index 87157834f7c..e721ce80f82 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
@@ -45,6 +45,8 @@
- sweet
- type: Sprite
state: plain
+ - type: Food # Frontier
+ quality: Normal # Frontier
- type: entity
name: plain jelly-donut
@@ -126,6 +128,8 @@
state: pink
- type: Item
heldPrefix: pink
+ - type: Food # Frontier
+ quality: Junk # Frontier
- type: entity
name: spaceman's donut
@@ -475,3 +479,5 @@
reagents:
- ReagentId: Amatoxin
Quantity: 10
+ - type: Food # Frontier
+ quality: Junk # Frontier, New Food Quality System
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
index f0e7021dc1d..a0759ff2afd 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
@@ -7,6 +7,7 @@
abstract: true
components:
- type: Food
+ quality: Normal # Frontier
- type: Sprite
sprite: Objects/Consumable/Food/Baked/misc.rsi
- type: SolutionContainerManager
@@ -261,7 +262,7 @@
- type: Tag
tags:
- Nugget
- - Meat
+ - Meat # Frontier
- type: Sprite
sprite: Objects/Consumable/Food/Baked/nuggets.rsi
layers:
@@ -341,13 +342,6 @@
map: ["pancakes9"]
visible: false
- type: Appearance
- - type: SolutionContainerManager
- solutions:
- food:
- maxVol: 6
- reagents:
- - ReagentId: Flavorol
- Quantity: 5
- type: Tag
tags:
- Pancake
@@ -404,13 +398,6 @@
tags:
- Pancake
- Fruit
- - type: SolutionContainerManager # Frontier: flavorol
- solutions:
- food:
- maxVol: 6
- reagents:
- - ReagentId: Flavorol
- Quantity: 5 # End Frontier: flavorol
- type: entity
name: chocolate chip pancake
@@ -465,7 +452,7 @@
food:
maxVol: 6
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 5
- ReagentId: Theobromine
Quantity: 1
@@ -485,7 +472,7 @@
food:
maxVol: 20
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 8
- ReagentId: Vitamin
Quantity: 1
@@ -505,7 +492,7 @@
food:
maxVol: 20
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 10
- ReagentId: Vitamin
Quantity: 1
@@ -525,7 +512,7 @@
food:
maxVol: 20
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 10
- ReagentId: Vitamin
Quantity: 1
@@ -545,7 +532,7 @@
food:
maxVol: 20
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 8
- ReagentId: Vitamin
Quantity: 2
@@ -574,7 +561,7 @@
food:
maxVol: 20
reagents:
- - ReagentId: Flavorol
+ - ReagentId: Nutriment
Quantity: 5
- ReagentId: Vitamin
Quantity: 1
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
index 6862630f96b..49ffea830e4 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
@@ -16,15 +16,14 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 31
+ maxVol: 20
reagents: #Most of these are this with slight variations, not worth changing until we have the rest of the reagents
- ReagentId: Nutriment
Quantity: 11
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 11
- type: Food #All pies here made with a pie tin; unless you're some kind of savage, you're probably not destroying this when you eat or slice the pie!
+ quality: High # Frontier, New Food Quality System
trash:
- FoodPlateTin
- type: SliceableFood
@@ -49,18 +48,18 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 8
+ maxVol: 6
reagents:
- ReagentId: Nutriment
- Quantity: 2.5
+ Quantity: 1.2
- ReagentId: Vitamin
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 2
- type: Tag
tags:
- Pie
- Slice
+ - type: Food # Frontier
+ quality: High # Frontier, New Food Quality System
# Pie
@@ -377,6 +376,8 @@
tags:
- Meat
- Pie
+ - type: Food # Frontier
+ quality: Toxin # Frontier, New Food Quality System
- type: entity
name: slice of xeno pie
@@ -397,6 +398,8 @@
- Meat
- Pie
- Slice
+ - type: Food # Frontier
+ quality: Toxin # Frontier, New Food Quality System
# Tastes like pie, meat, acid.
- type: entity
@@ -477,7 +480,7 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 23
+ maxVol: 17
reagents:
- ReagentId: Nutriment
Quantity: 6
@@ -485,8 +488,8 @@
Quantity: 3
- ReagentId: Vitamin
Quantity: 4
- - ReagentId: Flavorol
- Quantity: 6
+ - type: Food # Frontier, New Food Quality System
+ quality: Toxin # Frontier, New Food Quality System
# Tastes like pie, mushrooms.
- type: entity
@@ -552,12 +555,10 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 41
+ maxVol: 26
reagents:
- ReagentId: Nutriment
Quantity: 15
- ReagentId: Theobromine
Quantity: 2
- - ReagentId: Flavorol
- Quantity: 15
# Tastes like tart, dark chocolate.
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml
index db9af1ad457..e9f5aa79289 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml
@@ -11,6 +11,7 @@
- oily
- bread
- type: Food
+ quality: High # Frontier, New Food Quality System
- type: Sprite
sprite: Objects/Consumable/Food/Baked/pizza.rsi
- type: SolutionContainerManager
@@ -19,11 +20,9 @@
maxVol: 40
reagents:
- ReagentId: Nutriment
- Quantity: 15
+ Quantity: 30
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 15
- type: SliceableFood
count: 8
- type: Item
@@ -54,11 +53,9 @@
maxVol: 6
reagents:
- ReagentId: Nutriment
- Quantity: 3
+ Quantity: 5
- ReagentId: Vitamin
Quantity: 0.8
- - ReagentId: Flavorol
- Quantity: 3
- type: Item
size: Tiny
- type: Tag
@@ -85,6 +82,8 @@
- state: margherita
- type: SliceableFood
slice: FoodPizzaMargheritaSlice
+ - type: Food # Frontier
+ quality: Normal # Frontier
- type: entity
name: slice of margherita pizza
@@ -161,6 +160,8 @@
- state: mushroom
- type: SliceableFood
slice: FoodPizzaMushroomSlice
+ - type: Food # Frontier
+ quality: Normal # Frontier
- type: entity
name: slice of mushroom pizza
@@ -176,6 +177,8 @@
- type: Sprite
layers:
- state: mushroom-slice
+ - type: Food # Frontier
+ quality: Normal # Frontier
# Tastes like crust, tomato, cheese, mushroom.
- type: entity
@@ -208,8 +211,8 @@
Quantity: 5
- ReagentId: Vitamin
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 15
+ - type: Food # Frontier
+ quality: Gourmet # Frontier
- type: entity
name: slice of vegetable pizza
@@ -240,8 +243,8 @@
Quantity: 1
- ReagentId: Vitamin
Quantity: 1
- - ReagentId: Flavorol
- Quantity: 3
+ - type: Food # Frontier
+ quality: Gourmet # Frontier
# Tastes like crust, tomato, cheese, carrot.
@@ -262,7 +265,7 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 60
+ maxVol: 50
reagents:
- ReagentId: Nutriment
Quantity: 27
@@ -270,8 +273,6 @@
Quantity: 6
- ReagentId: Omnizine
Quantity: 9
- - ReagentId: Flavorol
- Quantity: 15
- type: Tag
tags:
- Meat
@@ -301,8 +302,6 @@
Quantity: 1
- ReagentId: Omnizine
Quantity: 1.5
- - ReagentId: Flavorol
- Quantity: 3
- type: Tag
tags:
- Meat
@@ -330,14 +329,12 @@
- type: SolutionContainerManager
solutions:
food:
- maxVol: 65
+ maxVol: 50
reagents:
- ReagentId: Nutriment
- Quantity: 6 # Frontier: 20<6 (keeping flavorol and total volume the same)
+ Quantity: 20
- ReagentId: THC
Quantity: 30
- - ReagentId: Flavorol # Frontier
- Quantity: 15 # Frontier
- type: entity
name: slice of dank pizza
@@ -360,11 +357,9 @@
maxVol: 10
reagents:
- ReagentId: Nutriment
- Quantity: 1 # Frontier: 3.5<1
+ Quantity: 3.5
- ReagentId: THC
Quantity: 5
- - ReagentId: Flavorol # Frontier
- Quantity: 3 # Frontier
# Tastes like crust, tomato, cheese, meat, satisfaction.
- type: entity
@@ -433,6 +428,8 @@
tags:
- Meat
- Pizza
+ - type: Food # Frontier
+ quality: Gourmet # Frontier
- type: entity
name: slice of Hawaiian pizza
@@ -455,6 +452,8 @@
- Meat
- Pizza
- Slice
+ - type: Food # Frontier
+ quality: Gourmet # Frontier: gauntlet thrown
# Tastes like crust, tomato, cheese, pineapple, ham.
#TODO: This is a meme pizza from /tg/. It has specially coded mechanics.
@@ -489,8 +488,6 @@
Quantity: 10
- ReagentId: Omnizine
Quantity: 30
- - ReagentId: Flavorol
- Quantity: 15
- type: Tag
tags:
- Meat
@@ -525,13 +522,13 @@
Quantity: 1.6
- ReagentId: Omnizine
Quantity: 5
- - ReagentId: Flavorol
- Quantity: 4
- type: Tag
tags:
- Meat
- Pizza
- Slice
+ - type: Food # Frontier
+ quality: Awful # Frontier
# Tastes like crust, tomato, cheese, pepperoni, 9 millimeter bullets.
#TODO: Make this do poison damage and make cut pizza slices eventually rot into this.
@@ -564,6 +561,8 @@
Quantity: 2
- ReagentId: Vitamin
Quantity: 1
+ - type: Food # Frontier
+ quality: Awful # Frontier
# Tastes like stale crust, rancid cheese, mushroom.
- type: entity
@@ -601,6 +600,8 @@
Quantity: 4
- ReagentId: Uranium
Quantity: 16
+ - type: Food # Frontier
+ quality: Awful # Frontier
- type: entity
name: slice of spicy rock pizza
@@ -636,6 +637,8 @@
Quantity: 0.5
- ReagentId: Uranium
Quantity: 2
+ - type: Food # Frontier
+ quality: Awful # Frontier
# Tastes like crust, tomato, cheese, radiation.
@@ -660,6 +663,7 @@
tags:
- ClothMade
- Pizza
+ - MothFood # Frontier
- type: SolutionContainerManager
solutions:
food:
@@ -690,6 +694,7 @@
- ClothMade
- Pizza
- Slice
+ - MothFood # Frontier
- type: SolutionContainerManager
solutions:
food:
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml
index cdfd894e5a4..1d4b3a0dbaa 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml
@@ -50,9 +50,9 @@
heldPrefix: box
- type: StorageFill
contents:
- - id: FoodDonutPink
+ - id: FoodDonutPinkVendor # Frontier: FoodDonutPink