]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Custom burgers - FoodSequence system (#30755)
authorEd <96445749+TheShuEd@users.noreply.github.com>
Sat, 10 Aug 2024 19:31:32 +0000 (22:31 +0300)
committerGitHub <noreply@github.com>
Sat, 10 Aug 2024 19:31:32 +0000 (22:31 +0300)
* setup foodsequence

* name generation and max layers limit

* move to nutrition

* move code to serverside

* move to appearance data

* marked fields as required

* Update foodsequence.yml

* b

* burgeers!

* Update produce.yml

* Update meat.yml

* Update burger.yml

* fix duplicate naming

* Update Resources/Locale/en-US/nutrition/components/food-sequence.ftl

Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
* merge flavor profiles

* make food trash List<>

* merge trash

* Update FoodComponent.cs

* Update FoodComponent.cs

* organs and cannabis support

---------

Co-authored-by: Hrosts <35345601+Hrosts@users.noreply.github.com>
34 files changed:
Content.Client/Nutrition/EntitySystems/ClientFoodSequenceSystem.cs [new file with mode: 0644]
Content.Server/Nutrition/Components/FoodComponent.cs
Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs
Content.Server/Nutrition/EntitySystems/FoodSequenceSystem.cs [new file with mode: 0644]
Content.Server/Nutrition/EntitySystems/FoodSystem.cs
Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs
Content.Shared/Nutrition/Components/FoodSequenceElementComponent.cs [new file with mode: 0644]
Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs [new file with mode: 0644]
Content.Shared/Nutrition/EntitySystems/SharedFoodSequenceSystem.cs [new file with mode: 0644]
Resources/Locale/en-US/nutrition/components/food-sequence.ftl [new file with mode: 0644]
Resources/Prototypes/Body/Organs/human.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml
Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
Resources/Prototypes/Entities/Objects/Materials/materials.yml
Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml
Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_bottom.png [new file with mode: 0644]
Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_top.png [new file with mode: 0644]
Resources/Textures/Objects/Consumable/Food/burger.rsi/meta.json
Resources/Textures/Objects/Consumable/Food/meat.rsi/tomato.png
Resources/Textures/Objects/Specific/Hydroponics/aloe.rsi/produce.png
Resources/Textures/Objects/Specific/Hydroponics/apple.rsi/produce.png
Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/produce.png
Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/produce.png
Resources/Textures/Objects/Specific/Hydroponics/cannabis.rsi/produce.png

diff --git a/Content.Client/Nutrition/EntitySystems/ClientFoodSequenceSystem.cs b/Content.Client/Nutrition/EntitySystems/ClientFoodSequenceSystem.cs
new file mode 100644 (file)
index 0000000..452bb55
--- /dev/null
@@ -0,0 +1,57 @@
+using Content.Shared.Nutrition.Components;
+using Content.Shared.Nutrition.EntitySystems;
+using Robust.Client.GameObjects;
+
+namespace Content.Client.Nutrition.EntitySystems;
+
+public sealed class ClientFoodSequenceSystem : SharedFoodSequenceSystem
+{
+    public override void Initialize()
+    {
+        SubscribeLocalEvent<FoodSequenceStartPointComponent, AfterAutoHandleStateEvent>(OnHandleState);
+    }
+
+    private void OnHandleState(Entity<FoodSequenceStartPointComponent> start, ref AfterAutoHandleStateEvent args)
+    {
+        if (!TryComp<SpriteComponent>(start, out var sprite))
+            return;
+
+        UpdateFoodVisuals(start, sprite);
+    }
+
+    private void UpdateFoodVisuals(Entity<FoodSequenceStartPointComponent> start, SpriteComponent? sprite = null)
+    {
+        if (!Resolve(start, ref sprite, false))
+            return;
+
+        //Remove old layers
+        foreach (var key in start.Comp.RevealedLayers)
+        {
+            sprite.RemoveLayer(key);
+        }
+        start.Comp.RevealedLayers.Clear();
+
+        //Add new layers
+        var counter = 0;
+        foreach (var state in start.Comp.FoodLayers)
+        {
+            if (state.Sprite is null)
+                continue;
+
+            counter++;
+
+            var keyCode = $"food-layer-{counter}";
+            start.Comp.RevealedLayers.Add(keyCode);
+
+            var index = sprite.LayerMapReserveBlank(keyCode);
+
+            //Set image
+            sprite.LayerSetSprite(index, state.Sprite);
+
+            //Offset the layer
+            var layerPos = start.Comp.StartPosition;
+            layerPos += start.Comp.Offset * counter;
+            sprite.LayerSetOffset(index, layerPos);
+        }
+    }
+}
index 5ead67a12b2da954524fb1e255e20db6527b28ca..cfb69f53f0c9a2decc33629f534a30ae41b62c98 100644 (file)
@@ -7,7 +7,7 @@ using Robust.Shared.Prototypes;
 
 namespace Content.Server.Nutrition.Components;
 
-[RegisterComponent, Access(typeof(FoodSystem))]
+[RegisterComponent, Access(typeof(FoodSystem), typeof(FoodSequenceSystem))]
 public sealed partial class FoodComponent : Component
 {
     [DataField]
@@ -17,7 +17,7 @@ public sealed partial class FoodComponent : Component
     public SoundSpecifier UseSound = new SoundCollectionSpecifier("eating");
 
     [DataField]
-    public EntProtoId? Trash;
+    public List<EntProtoId> Trash = new();
 
     [DataField]
     public FixedPoint2? TransferAmount = FixedPoint2.New(5);
index a28679ddbc963cdeafb48b8678f858046d29e7c1..50b9297ca73c719e783c661befdb52f2ef7c3a61 100644 (file)
@@ -48,9 +48,12 @@ namespace Content.Server.Nutrition.EntitySystems
                 {
                     _puddle.TrySpillAt(uid, solution, out _, false);
                 }
-                if (!string.IsNullOrEmpty(foodComp.Trash))
+                if (foodComp.Trash.Count == 0)
                 {
-                    EntityManager.SpawnEntity(foodComp.Trash, Transform(uid).Coordinates);
+                    foreach (var trash in foodComp.Trash)
+                    {
+                        EntityManager.SpawnEntity(trash, Transform(uid).Coordinates);
+                    }
                 }
             }
             ActivatePayload(uid);
diff --git a/Content.Server/Nutrition/EntitySystems/FoodSequenceSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSequenceSystem.cs
new file mode 100644 (file)
index 0000000..6970f11
--- /dev/null
@@ -0,0 +1,140 @@
+using System.Text;
+using Content.Server.Nutrition.Components;
+using Content.Shared.Chemistry.EntitySystems;
+using Content.Shared.Interaction;
+using Content.Shared.Nutrition.Components;
+using Content.Shared.Nutrition.EntitySystems;
+using Content.Shared.Popups;
+
+namespace Content.Server.Nutrition.EntitySystems;
+
+public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
+{
+    [Dependency] private readonly SharedSolutionContainerSystem _solutionContainer = default!;
+    [Dependency] private readonly SharedPopupSystem _popup = default!;
+    [Dependency] private readonly MetaDataSystem _metaData = default!;
+
+    public override void Initialize()
+    {
+        base.Initialize();
+
+        SubscribeLocalEvent<FoodSequenceStartPointComponent, InteractUsingEvent>(OnInteractUsing);
+    }
+
+    private void OnInteractUsing(Entity<FoodSequenceStartPointComponent> ent, ref InteractUsingEvent args)
+    {
+        if (TryComp<FoodSequenceElementComponent>(args.Used, out var sequenceElement))
+            TryAddFoodElement(ent, (args.Used, sequenceElement), args.User);
+    }
+
+    private bool TryAddFoodElement(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element, EntityUid? user = null)
+    {
+        FoodSequenceElementEntry? elementData = null;
+        foreach (var entry in element.Comp.Entries)
+        {
+            if (entry.Key == start.Comp.Key)
+            {
+                elementData = entry.Value;
+                break;
+            }
+        }
+
+        if (elementData is null)
+            return false;
+
+        //if we run out of space, we can still put in one last, final finishing element.
+        if (start.Comp.FoodLayers.Count >= start.Comp.MaxLayers && !elementData.Value.Final || start.Comp.Finished)
+        {
+            if (user is not null)
+                _popup.PopupEntity(Loc.GetString("food-sequence-no-space"), start, user.Value);
+            return false;
+        }
+
+        if (elementData.Value.Sprite is not null)
+        {
+            start.Comp.FoodLayers.Add(elementData.Value);
+            Dirty(start);
+        }
+
+        if (elementData.Value.Final)
+            start.Comp.Finished = true;
+
+        UpdateFoodName(start);
+        MergeFoodSolutions(start, element);
+        MergeFlavorProfiles(start, element);
+        MergeTrash(start, element);
+        QueueDel(element);
+        return true;
+    }
+
+    private void UpdateFoodName(Entity<FoodSequenceStartPointComponent> start)
+    {
+        if (start.Comp.NameGeneration is null)
+            return;
+
+        var content = new StringBuilder();
+        var separator = "";
+        if (start.Comp.ContentSeparator is not null)
+            separator = Loc.GetString(start.Comp.ContentSeparator);
+
+        HashSet<LocId> existedContentNames = new();
+        foreach (var layer in start.Comp.FoodLayers)
+        {
+            if (layer.Name is not null && !existedContentNames.Contains(layer.Name.Value))
+            {
+                content.Append(Loc.GetString(layer.Name.Value));
+                existedContentNames.Add(layer.Name.Value);
+            }
+
+            content.Append(separator);
+        }
+
+        var newName = Loc.GetString(start.Comp.NameGeneration.Value,
+            ("prefix", start.Comp.NamePrefix is not null ? Loc.GetString(start.Comp.NamePrefix) : ""),
+            ("content", content),
+            ("suffix", start.Comp.NameSuffix is not null ? Loc.GetString(start.Comp.NameSuffix) : ""));
+
+        _metaData.SetEntityName(start, newName);
+    }
+
+    private void MergeFoodSolutions(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element)
+    {
+        if (!_solutionContainer.TryGetSolution(start.Owner, start.Comp.Solution, out var startSolutionEntity, out var startSolution))
+            return;
+
+        if (!_solutionContainer.TryGetSolution(element.Owner, element.Comp.Solution, out _, out var elementSolution))
+            return;
+
+        startSolution.MaxVolume += elementSolution.MaxVolume;
+        _solutionContainer.TryAddSolution(startSolutionEntity.Value, elementSolution);
+    }
+
+    private void MergeFlavorProfiles(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element)
+    {
+        if (!TryComp<FlavorProfileComponent>(start, out var startProfile))
+            return;
+
+        if (!TryComp<FlavorProfileComponent>(element, out var elementProfile))
+            return;
+
+        foreach (var flavor in elementProfile.Flavors)
+        {
+            if (startProfile != null && !startProfile.Flavors.Contains(flavor))
+                startProfile.Flavors.Add(flavor);
+        }
+    }
+
+    private void MergeTrash(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element)
+    {
+        if (!TryComp<FoodComponent>(start, out var startFood))
+            return;
+
+        if (!TryComp<FoodComponent>(element, out var elementFood))
+            return;
+
+        foreach (var trash in elementFood.Trash)
+        {
+            startFood.Trash.Add(trash);
+        }
+    }
+}
index 53c1b3998219d86cf12d68f5c278965346ccbb9d..3a7c249c2b30cbf3aadc231ed18da6288d4cd0ac 100644 (file)
@@ -335,27 +335,31 @@ public sealed class FoodSystem : EntitySystem
         if (ev.Cancelled)
             return;
 
-        if (string.IsNullOrEmpty(component.Trash))
+        if (component.Trash.Count == 0)
         {
             QueueDel(food);
             return;
         }
 
         //We're empty. Become trash.
+        //cache some data as we remove food, before spawning trash and passing it to the hand.
+
         var position = _transform.GetMapCoordinates(food);
-        var finisher = Spawn(component.Trash, position);
+        var trashes = component.Trash;
+        var tryPickup = _hands.IsHolding(user, food, out _);
 
-        // If the user is holding the item
-        if (_hands.IsHolding(user, food, out var hand))
+        Del(food);
+        foreach (var trash in trashes)
         {
-            Del(food);
+            var spawnedTrash = Spawn(trash, position);
 
-            // Put the trash in the user's hand
-            _hands.TryPickup(user, finisher, hand);
-            return;
+            // If the user is holding the item
+            if (tryPickup)
+            {
+                // Put the trash in the user's hand
+                _hands.TryPickupAnyHand(user, spawnedTrash);
+            }
         }
-
-        QueueDel(food);
     }
 
     private void AddEatVerb(Entity<FoodComponent> entity, ref GetVerbsEvent<AlternativeVerb> ev)
index ac3df5868fe8b10403780a6da32e3c3a41d88592..946a789b36d6f3103b276fc2fbe4da60dbca23ae 100644 (file)
@@ -125,18 +125,21 @@ namespace Content.Server.Nutrition.EntitySystems
             if (ev.Cancelled)
                 return;
 
-            if (string.IsNullOrEmpty(foodComp.Trash))
+            if (foodComp.Trash.Count == 0)
             {
                 QueueDel(uid);
                 return;
             }
 
             // Locate the sliced food and spawn its trash
-            var trashUid = Spawn(foodComp.Trash, _xformSystem.GetMapCoordinates(uid));
+            foreach (var trash in foodComp.Trash)
+            {
+                var trashUid = Spawn(trash, _xformSystem.GetMapCoordinates(uid));
 
-            // try putting the trash in the food's container too, to be consistent with slice spawning?
-            _xformSystem.DropNextTo(trashUid, uid);
-            _xformSystem.SetLocalRotation(trashUid, 0);
+                // try putting the trash in the food's container too, to be consistent with slice spawning?
+                _xformSystem.DropNextTo(trashUid, uid);
+                _xformSystem.SetLocalRotation(trashUid, 0);
+            }
 
             QueueDel(uid);
         }
diff --git a/Content.Shared/Nutrition/Components/FoodSequenceElementComponent.cs b/Content.Shared/Nutrition/Components/FoodSequenceElementComponent.cs
new file mode 100644 (file)
index 0000000..1fc8aee
--- /dev/null
@@ -0,0 +1,43 @@
+using Content.Shared.Nutrition.EntitySystems;
+using Robust.Shared.Serialization;
+using Robust.Shared.Utility;
+
+namespace Content.Shared.Nutrition.Components;
+
+/// <summary>
+/// Tndicates that this entity can be inserted into FoodSequence, which will transfer all reagents to the target.
+/// </summary>
+[RegisterComponent, Access(typeof(SharedFoodSequenceSystem))]
+public sealed partial class FoodSequenceElementComponent : Component
+{
+    /// <summary>
+    /// the same object can be used in different sequences, and it will have a different sprite in different sequences.
+    /// </summary>
+    [DataField(required: true)]
+    public Dictionary<string, FoodSequenceElementEntry> Entries = new();
+
+    /// <summary>
+    /// which solution we will add to the main dish
+    /// </summary>
+    [DataField]
+    public string Solution = "food";
+}
+
+[DataRecord, Serializable, NetSerializable]
+public partial record struct FoodSequenceElementEntry()
+{
+    /// <summary>
+    /// A localized name piece to build into the item name generator.
+    /// </summary>
+    public LocId? Name { get; set; } = null;
+
+    /// <summary>
+    /// state used to generate the appearance of the added layer
+    /// </summary>
+    public SpriteSpecifier? Sprite { get; set; } = null;
+
+    /// <summary>
+    /// If the layer is the final one, it can be added over the limit, but no other layers can be added after it.
+    /// </summary>
+    public bool Final { get; set; } = false;
+}
diff --git a/Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs b/Content.Shared/Nutrition/Components/FoodSequenceStartPointComponent.cs
new file mode 100644 (file)
index 0000000..b8186fd
--- /dev/null
@@ -0,0 +1,66 @@
+using System.Numerics;
+using Content.Shared.Nutrition.EntitySystems;
+using Robust.Shared.GameStates;
+using Robust.Shared.Serialization;
+
+namespace Content.Shared.Nutrition.Components;
+
+/// <summary>
+/// A starting point for the creation of procedural food.
+/// </summary>
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), Access(typeof(SharedFoodSequenceSystem))]
+public sealed partial class FoodSequenceStartPointComponent : Component
+{
+    /// <summary>
+    /// A key that determines which types of food elements can be attached to a food.
+    /// </summary>
+    [DataField(required: true)]
+    public string Key = string.Empty;
+
+    /// <summary>
+    /// The maximum number of layers of food that can be placed on this item.
+    /// </summary>
+    [DataField]
+    public int MaxLayers = 10;
+
+    /// <summary>
+    /// Start shift from the center of the sprite where the first layer of food will be placed.
+    /// </summary>
+    [DataField]
+    public Vector2 StartPosition = Vector2.Zero;
+
+    /// <summary>
+    /// Shift from the start position applied to each subsequent layer.
+    /// </summary>
+    [DataField]
+    public Vector2 Offset = Vector2.Zero;
+
+    /// <summary>
+    /// Can we put more layers?
+    /// </summary>
+    [DataField]
+    public bool Finished;
+
+    /// <summary>
+    /// list of sprite states to be displayed on this object.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public List<FoodSequenceElementEntry> FoodLayers = new();
+
+    public HashSet<string> RevealedLayers = new();
+
+    [DataField]
+    public string Solution = "food";
+
+    [DataField]
+    public LocId? NameGeneration;
+
+    [DataField]
+    public LocId? NamePrefix;
+
+    [DataField]
+    public LocId? ContentSeparator;
+
+    [DataField]
+    public LocId? NameSuffix;
+}
diff --git a/Content.Shared/Nutrition/EntitySystems/SharedFoodSequenceSystem.cs b/Content.Shared/Nutrition/EntitySystems/SharedFoodSequenceSystem.cs
new file mode 100644 (file)
index 0000000..2623e4a
--- /dev/null
@@ -0,0 +1,5 @@
+namespace Content.Shared.Nutrition.EntitySystems;
+
+public abstract class SharedFoodSequenceSystem : EntitySystem
+{
+}
diff --git a/Resources/Locale/en-US/nutrition/components/food-sequence.ftl b/Resources/Locale/en-US/nutrition/components/food-sequence.ftl
new file mode 100644 (file)
index 0000000..5679dd1
--- /dev/null
@@ -0,0 +1,70 @@
+food-sequence-no-space = You can't put any more!
+
+food-sequence-standart-gen = {$prefix}{$content}{$suffix}
+
+#Burger
+food-sequence-burger-suffix = burger
+
+food-sequence-burger-content-raw-meat = raw
+food-sequence-burger-content-carp = carpo
+food-sequence-burger-content-bear = bear
+food-sequence-burger-content-penguin = peng
+food-sequence-burger-content-chiken = chiken
+food-sequence-burger-content-duck = duck
+food-sequence-burger-content-corgi = corgi
+food-sequence-burger-content-crab = crabs
+food-sequence-burger-content-goliath = goli
+food-sequence-burger-content-dragon = dragon
+food-sequence-burger-content-rat = rat
+food-sequence-burger-content-lizard = lizzy
+food-sequence-burger-content-plant = plant
+food-sequence-burger-content-rotten = trash
+food-sequence-burger-content-spider = web
+food-sequence-burger-content-clump = clump
+food-sequence-burger-content-snake = snake
+food-sequence-burger-content-xeno = xeno
+food-sequence-burger-content-tomato = tomato
+food-sequence-burger-content-salami = salami
+food-sequence-burger-content-clown = clown
+food-sequence-burger-content-slime = slime
+
+food-sequence-burger-content-pea = pea
+food-sequence-burger-content-banana = banana
+food-sequence-burger-content-mimana = mimana
+food-sequence-burger-content-carrot = carro
+food-sequence-burger-content-cabbage = cabba
+food-sequence-burger-content-garlic = garli
+food-sequence-burger-content-lemon = lemon
+food-sequence-burger-content-orange = orange
+food-sequence-burger-content-pineapple = pine
+food-sequence-burger-content-potato = potato
+food-sequence-burger-content-apple = apple
+food-sequence-burger-content-cocoa = cocoa
+food-sequence-burger-content-corn = corn
+food-sequence-burger-content-onion = oni
+food-sequence-burger-content-mushroom = shroom
+food-sequence-burger-content-chili = chili
+food-sequence-burger-content-chilly = chilly
+food-sequence-burger-content-aloe = aloe
+food-sequence-burger-content-poppy = poppy
+food-sequence-burger-content-lily = lily
+food-sequence-burger-content-ambrosia = ambro
+food-sequence-burger-content-galaxy = galaxy
+food-sequence-burger-content-glasstle = glass
+food-sequence-burger-content-gatfruit = gat
+food-sequence-burger-content-rice = rice
+food-sequence-burger-content-soy = soy
+food-sequence-burger-content-koibean = koi
+food-sequence-burger-content-watermelon = water
+food-sequence-burger-content-cannabis = funny
+food-sequence-burger-content-rainbow-cannabis = FUNNY
+food-sequence-burger-content-tobacco = tobaco
+
+food-sequence-burger-content-cheese = cheese
+
+food-sequence-burger-content-brain = brain
+food-sequence-burger-content-tongue = tongue
+food-sequence-burger-content-appendix = appendi
+food-sequence-burger-content-ears = ear
+food-sequence-burger-content-stomach = stomach
+food-sequence-burger-content-liver = liver
\ No newline at end of file
index 69081020ce0bcdcc4002e34b221c6f9d3bd6be95..962ec18e70c55b9f9adbcefc16d2429ed0db33bb 100644 (file)
   - type: FlavorProfile
     flavors:
       - people
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-brain
+        sprite:
+          sprite: Mobs/Species/Human/organs.rsi
+          state: brain
   
 - type: entity
   id: OrganHumanEyes
   components:
   - type: Sprite
     state: tongue
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-tongue
+        sprite:
+          sprite: Mobs/Species/Human/organs.rsi
+          state: tongue
 
 - type: entity
   id: OrganHumanAppendix
     - state: appendix
     - state: appendix-inflamed
       visible: false
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-appendix
+        sprite:
+          sprite: Mobs/Species/Human/organs.rsi
+          state: appendix
 
 - type: entity
   id: OrganHumanEars
   components:
   - type: Sprite
     state: ears
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-ears
+        sprite:
+          sprite: Mobs/Species/Human/organs.rsi
+          state: ears
 
 - type: entity
   id: OrganHumanLungs
     groups:
     - id: Food
     - id: Drink
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-stomach
+        sprite:
+          sprite: Mobs/Species/Human/organs.rsi
+          state: stomach
 
 - type: entity
   id: OrganHumanLiver
     groups:
     - id: Alcohol
       rateModifier: 0.1 # removes alcohol very slowly along with the stomach removing it as a drink
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-liver
+        sprite:
+          sprite: Mobs/Species/Human/organs.rsi
+          state: liver
 
 - type: entity
   id: OrganHumanKidneys
index 09ec706e1fe793cf86bd3dc2e1d33ba52a103aca..c9ac4833431579ea37d80470a08d9946e8736840 100644 (file)
@@ -23,7 +23,8 @@
         - ReagentId: Vitamin
           Quantity: 5
   - 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!
-    trash: FoodPlateTin
+    trash: 
+    - FoodPlateTin
   - type: SliceableFood
     count: 4
   - type: Tag
index dc1a4ec74cd1856f03973f25f52586ddaf4ff527..3fbf14a6d604239dca2e72be97a3e812b8f3ae27 100644 (file)
@@ -88,7 +88,8 @@
     - sweet
     - funny
   - type: Food
-    trash: FoodTinPeachesTrash
+    trash: 
+    - FoodTinPeachesTrash
   - type: Tag
     tags:
     - Fruit
   - type: Sprite
     sprite: Objects/Consumable/Food/Tins/maint_peaches.rsi
   - type: Food
-    trash: FoodTinPeachesMaintTrash
+    trash: 
+    - FoodTinPeachesMaintTrash
 
 # only exists for backwards compatibility with a few maps, nothing else uses it
 - type: entity
     - salty
     - cheap
   - type: Food
-    trash: FoodTinBeansTrash
+    trash: 
+    - FoodTinBeansTrash
 
 - type: entity
   parent: FoodTinBaseTrash
     - salty
     - cheap
   - type: Food
-    trash: FoodTinMRETrash
+    trash: 
+    - FoodTinMRETrash
   - type: Tag
     tags:
     - Meat
index 22e6fce8e149a04b4749124a943276d156997d0d..8009779a36d82090fb0c3379f405ded3064d76aa 100644 (file)
         reagents:
         - ReagentId: Nutriment
           Quantity: 6.66 # 1/3 of a loaf of bread, technically losing 0.01 nutriment per batch of three buns over making bread loaves/slices
+  - type: Butcherable
+    butcherDelay: 1
+    spawned:
+      - id: FoodBreadBunTop
+        amount: 1
+      - id: FoodBreadBunBottom
+        amount: 1
 
+- type: entity
+  id: FoodBreadBunBottom
+  parent: FoodBreadSliceBase
+  name: bottom bun
+  description: It's time to start building the burger tower. 
+  components:
+  - type: Food
+  - type: Sprite
+    drawdepth: Mobs
+    noRot: true
+    sprite: Objects/Consumable/Food/burger.rsi
+    layers:
+    - state: bun_bottom
+  - type: FoodSequenceStartPoint
+    key: burger
+    maxLayers: 20
+    startPosition: 0, 0
+    offset: 0, 0.1
+    nameGeneration: food-sequence-standart-gen
+    nameSuffix: food-sequence-burger-suffix
+  - type: Appearance
+  - type: SolutionContainerManager
+    solutions:
+      food:
+        maxVol: 5
+        reagents:
+        - ReagentId: Nutriment
+          Quantity: 3.3 # 1/2 of a bun
+
+- type: entity
+  id: FoodBreadBunTop
+  parent: FoodBreadSliceBase
+  name: top bun
+  description: the perfect finish for your burger tower
+  components:
+  - type: Food
+  - type: Sprite
+    sprite: Objects/Consumable/Food/burger.rsi
+    layers:
+    - state: bun_top
+  - type: SolutionContainerManager
+    solutions:
+      food:
+        maxVol: 5
+        reagents:
+        - ReagentId: Nutriment
+          Quantity: 3.3 # 1/2 of a bun
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        final: true
+        sprite:
+          sprite: Objects/Consumable/Food/burger.rsi
+          state: bun_top
+  
 # Base
 
 - type: entity
   description: An elusive rib shaped burger with limited availability across the galaxy. Not as good as you remember it.
   components:
   - type: Food
-    trash: FoodKebabSkewer
+    trash: 
+    - FoodKebabSkewer
   - type: FlavorProfile
     flavors:
       - bun
index 8cd2fa70ee55942a9f18429191dd8c263fe198cc..a4593d50063c25b5a59683bd169852009025172d 100644 (file)
@@ -11,7 +11,8 @@
       - Egg
       - Meat
   - type: Food
-    trash: Eggshells
+    trash: 
+    - Eggshells
   - type: Sprite
     sprite: Objects/Consumable/Food/egg.rsi
   - type: Item
index c760e5e3ebbc916b3b1dfd574bb74c9e1c467df4..6465b5d06f63b456ce9d9297867e68864f63da8b 100644 (file)
@@ -88,7 +88,8 @@
     - state: popsicle
       color: orange
   - type: Food
-    trash: FoodFrozenPopsicleTrash
+    trash: 
+    - FoodFrozenPopsicleTrash
 
 - type: entity
   name: berry creamsicle
     - state: popsicle
       color: red
   - type: Food
-    trash: FoodFrozenPopsicleTrash
+    trash: 
+    - FoodFrozenPopsicleTrash
   - type: Tag
     tags:
     - Fruit
     - state: stick
     - state: jumbo
   - type: Food
-    trash: FoodFrozenPopsicleTrash
+    trash: 
+    - FoodFrozenPopsicleTrash
   - type: SolutionContainerManager
     solutions:
       food:
         - state: alpha-filling
     #      color: foo
     - type: Food
-      trash: FoodFrozenSnowconeTrash
+      trash: 
+      - FoodFrozenSnowconeTrash
     - type: SolutionContainerManager
       solutions:
         food:
     - state: cone
     - state: berry
   - type: Food
-    trash: FoodFrozenSnowconeTrash
+    trash: 
+    - FoodFrozenSnowconeTrash
   - type: Tag
     tags:
     - Fruit
     - state: cone
     - state: fruitsalad
   - type: Food
-    trash: FoodFrozenSnowconeTrash
+    trash: 
+    - FoodFrozenSnowconeTrash
   - type: Tag
     tags:
     - Fruit
     - state: cone
     - state: clown
   - type: Food
-    trash: FoodFrozenSnowconeTrash
+    trash: 
+    - FoodFrozenSnowconeTrash
 
 - type: entity
   name: mime snowcone
     - state: cone
     - state: mime
   - type: Food
-    trash: FoodFrozenSnowconeTrash
+    trash: 
+    - FoodFrozenSnowconeTrash
 
 - type: entity
   name: rainbow snowcone
     - state: cone
     - state: rainbow
   - type: Food
-    trash: FoodFrozenSnowconeTrash
+    trash: 
+    - FoodFrozenSnowconeTrash
 
 # Trash
 
index a81ed55545a86eb63c337823d719c5cc42d41947..52723345115c4602260171d8e3ecacd0abb0b776 100644 (file)
   - type: SliceableFood
     count: 3
     slice: FoodCheeseSlice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-cheese
+        sprite:
+          sprite: Objects/Consumable/Food/ingredients.rsi
+          state: cheesewheel
 
 - type: entity
   name: cheese wedge
   - type: Tag
     tags:
     - Slice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-cheese
+        sprite:
+          sprite: Objects/Consumable/Food/ingredients.rsi
+          state: cheesewedge
 
 - type: entity
   name: chèvre log
index 33c2a39d7faf64b873ac4ee57b9635adc7109c97..1ded684c77ad7e060c9078e1473d7ce9e70a0c31 100644 (file)
   description: BBQ ribs, slathered in a healthy coating of BBQ sauce. The least vegan thing to ever exist.
   components:
   - type: Food
-    trash: FoodKebabSkewer
+    trash: 
+    - FoodKebabSkewer
   - type: FlavorProfile
     flavors:
       - meaty
   description: Buttery.
   components:
   - type: Food
-    trash: FoodPlate
+    trash: 
+    - FoodPlate
   - type: FlavorProfile
     flavors:
       - corn
index 59b1db17820d1f28bb39a5c5b6ff44840eb05474..885c483ad0ef2c35f52608bb267d1a09f4ea5404 100644 (file)
     graph: MeatSteak
     node: start
     defaultTarget: meat steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-raw-meat
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: plain
   - type: Tag
     tags:
     - Meat
         reagents:
         - ReagentId: CarpoToxin
           Quantity: 5
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-carp
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: fish
   - type: Extractable
     juiceSolution:
       reagents:
     graph: Bacon
     node: start
     defaultTarget: bacon
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-carp
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bacon
 
 - type: entity
   name: raw bear meat
     graph: BearSteak
     node: start
     defaultTarget: filet migrawr
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-bear
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bear
 
 
 - type: entity
     graph: PenguinSteak
     node: start
     defaultTarget: cooked penguin
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-penguin
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bird
 
 - type: entity
   name: raw chicken meat
     graph: ChickenSteak
     node: start
     defaultTarget: cooked chicken
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-chiken
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bird
 
 - type: entity
   name: raw duck meat
     graph: DuckSteak
     node: start
     defaultTarget: cooked duck
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-penguin
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bird
 
 - type: entity
   name: prime-cut corgi meat
     price: 750
   - type: StealTarget
     stealGroup: FoodMeatCorgi
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-corgi
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: corgi
 
 - type: entity
   name: raw crab meat
     graph: CrabSteak
     node: start
     defaultTarget: cooked crab
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-crab
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: crab
 
 - type: entity
   name: raw goliath meat
     graph: GoliathSteak
     node: start
     defaultTarget: goliath steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-goliath
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: goliath
 
 - type: entity
   name: dragon flesh
       reagents:
       - ReagentId: Ichor
         Quantity: 10
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-dragon
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: dragon
 
 - type: entity
   name: raw rat meat
   - type: SliceableFood
     count: 3
     slice: FoodMeatCutlet
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-rat
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: plain
 
 - type: entity
   name: raw lizard meat
     graph: LizardSteak
     node: start
     defaultTarget: lizard steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lizard
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: lizard
 
 - type: entity
   name: raw plant meat
   components:
   - type: Sprite
     state: plant
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-plant
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: plant
 
 - type: entity
   name: rotten meat
           Quantity: 4
         - ReagentId: Fat
           Quantity: 4
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-rotten
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: rotten
 
 - type: entity
   name: raw spider meat
   - type: SliceableFood
     count: 3
     slice: FoodMeatSpiderCutlet
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-spider
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: spider
 
 - type: entity
   name: raw spider leg
           Quantity: 10
         - ReagentId: Fat
           Quantity: 3
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-spider
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: spiderleg
 
 - type: entity
   name: meatwheat clump
         reagents:
         - ReagentId: UncookedAnimalProteins
           Quantity: 1
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-clump
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: clump
 
 - type: entity
   name: raw snake meat
           Quantity: 10
         - ReagentId: Toxin
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-snake
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: snake
 
 - type: entity
   name: raw xeno meat
   - type: SliceableFood
     count: 3
     slice: FoodMeatXenoCutlet
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-xeno
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: xeno
 
 - type: entity
   name: raw rouny meat
     graph: RounySteak
     node: start
     defaultTarget: rouny steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-xeno
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: xeno
 
 - type: entity
   name: killer tomato meat
     slice: FoodMeatTomatoCutlet
   - type: StaticPrice
     price: 100
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-tomato
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: tomato
 
 - type: entity
   name: salami
     state: clown
   - type: SliceableFood
     slice: FoodMeatSalamiSlice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-clown
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: clown
 
 - type: entity
   name: meatball
     - Meat
   - type: Sprite
     state: meatball
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-raw-meat
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: meatball
 
 - type: entity
   name: slimeball
     - Meat
   - type: Sprite
     state: slime
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-slime
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: slime
 
 # Cooked
 
   - type: Construction
     graph: MeatSteak
     node: meat steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: plain-cooked
 
 - type: entity
   name: bacon
   - type: Construction
     graph: Bacon
     node: bacon
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bacon-cooked
 
 - type: entity
   name: cooked bear
   - type: Construction
     graph: BearSteak
     node: filet migrawr
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-bear
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: product-cooked
 
 - type: entity
   name: penguin filet
   - type: Construction
     graph: PenguinSteak
     node: cooked penguin
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-penguin
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bird-cooked
 
 - type: entity
   name: cooked chicken
   - type: Construction
     graph: ChickenSteak
     node: cooked chicken
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-chiken
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bird-cooked
 
 - type: entity
   name: fried chicken
           Quantity: 5
         - ReagentId: Protein
           Quantity: 5
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-chiken
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: chicken-fried
 
 - type: entity
   name: cooked duck
   - type: Construction
     graph: DuckSteak
     node: cooked duck
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-duck
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: bird-cooked
 
 - type: entity
   name: cooked crab
   - type: Construction
     graph: CrabSteak
     node: cooked crab
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-crab
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: crab-cooked
 
 - type: entity
   name: goliath steak
   - type: Construction
     graph: GoliathSteak
     node: goliath steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-goliath
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: goliath-cooked
 
 - type: entity
   name: rouny steak
   - type: Construction
     graph: RounySteak
     node: rouny steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-xeno
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: rouny-cooked
 
 - type: entity
   name: lizard steak
   - type: Construction
     graph: LizardSteak
     node: lizard steak
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lizard
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: lizard-cooked
 
 - type: entity
   name: boiled spider leg
           Quantity: 5
         - ReagentId: Protein
           Quantity: 5
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-spider
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: spiderleg-cooked
 
 - type: entity
   name: meatball
           Quantity: 5
         - ReagentId: Protein
           Quantity: 5
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: meatball-cooked
 
 # Cutlets
 
           Quantity: 3
         - ReagentId: Fat
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet
 
 - type: entity
   name: raw bear cutlet
           Quantity: 3
         - ReagentId: Fat
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-bear
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet
+          color: brown
 
 - type: entity
   name: raw penguin cutlet
           Quantity: 3
         - ReagentId: Fat
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-penguin
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet
+          color: white
 
 - type: entity
   name: raw chicken cutlet
           Quantity: 3
         - ReagentId: Fat
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-chiken
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet
+          color: white
 
 - type: entity
   name: raw duck cutlet
           Quantity: 3
         - ReagentId: Fat
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-duck
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet
+          color: white
 
 - type: entity
   name: raw lizard cutlet
           Quantity: 3
         - ReagentId: Fat
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lizard
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet
+          color: pink
 
 - type: entity
   name: raw spider cutlet
           Quantity: 3
         - ReagentId: Fat
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-spider
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: spidercutlet
 
 - type: entity
   name: raw xeno cutlet
         reagents:
         - ReagentId: SulfuricAcid
           Quantity: 20
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-xeno
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: xenocutlet
 
 - type: entity
   name: raw killer tomato cutlet
     color: red
   - type: StaticPrice
     price: 30
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-tomato
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: salami-slice
 
 - type: entity
   name: salami slice
           Quantity: 1
         - ReagentId: Protein
           Quantity: 1
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-salami
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: salami-slice
 
 # Cooked
 
           Quantity: 2
         - ReagentId: Protein
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet-cooked
 
 - type: entity
   name: bear cutlet
           Quantity: 2
         - ReagentId: Protein
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-bear
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet-cooked
 
 - type: entity
   name: penguin cutlet
           Quantity: 2
         - ReagentId: Protein
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-penguin
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet-cooked
 
 - type: entity
   name: chicken cutlet
           Quantity: 2
         - ReagentId: Protein
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-chiken
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet-cooked
 
 - type: entity
   name: duck cutlet
           Quantity: 2
         - ReagentId: Protein
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-duck
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet-cooked
 
 - type: entity
   name: lizard cutlet
           Quantity: 2
         - ReagentId: Protein
           Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lizard
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet-cooked
 
 - type: entity
   name: spider cutlet
           Quantity: 1
         - ReagentId: Protein
           Quantity: 1
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-spider
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: cutlet-cooked
 
 - type: entity
   name: xeno cutlet
           Quantity: 1
         - ReagentId: Protein
           Quantity: 1
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-xeno
+        sprite:
+          sprite: Objects/Consumable/Food/meat.rsi
+          state: xenocutlet-cooked
index 88a30150d8da5a8d8abcbca5e6f0e668d3b37696..d980db0ca12e1f9ef8abbbef2359da454927ea4c 100644 (file)
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-pea
+        sprite:
+          sprite: Objects/Specific/Hydroponics/laughin_pea.rsi
+          state: produce
 
 - type: entity
   name: tower-cap log
     flavors:
       - banana
   - type: Food
-    trash: TrashBananaPeel
+    trash: 
+    - TrashBananaPeel
   - type: SolutionContainerManager
     solutions:
       food:
     tags:
     - Fruit
     - Banana
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-banana
+        sprite:
+          sprite: Objects/Specific/Hydroponics/banana.rsi
+          state: produce
 
 - type: entity
   name: mimana
       - banana
       - nothing
   - type: Food
-    trash: TrashMimanaPeel
+    trash: 
+    - TrashMimanaPeel
   - type: SolutionContainerManager
     solutions:
       food:
   - type: Tag
     tags:
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-mimana
+        sprite:
+          sprite: Objects/Specific/Hydroponics/mimana.rsi
+          state: produce
 
 - type: entity
   name: banana peel
         Quantity: 10
       - ReagentId: Oculine
         Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-carrot
+        sprite:
+          sprite: Objects/Specific/Hydroponics/carrot.rsi
+          state: produce
 
 - type: entity
   name: cabbage
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-cabbage
+        sprite:
+          sprite: Objects/Specific/Hydroponics/cabbage.rsi
+          state: produce
 
 - type: entity
   name: garlic
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-garlic
+        sprite:
+          sprite: Objects/Specific/Hydroponics/garlic.rsi
+          state: produce
 
 - type: entity
   name: lemon
     tags:
     - Lemon
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lemon
+        sprite:
+          sprite: Objects/Specific/Hydroponics/lemon.rsi
+          state: produce
 
 - type: entity
   name: lemoon
   - type: Tag
     tags:
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lemon
+        sprite:
+          sprite: Objects/Specific/Hydroponics/lemoon.rsi
+          state: produce
 
 - type: entity
   name: lime
     tags:
     - Lime
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lemon
+        sprite:
+          sprite: Objects/Specific/Hydroponics/lime.rsi
+          state: produce
 
 - type: entity
   name: orange
   - type: Tag
     tags:
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-orange
+        sprite:
+          sprite: Objects/Specific/Hydroponics/orange.rsi
+          state: produce
 
 - type: entity
   name: pineapple
   - type: Tag
     tags:
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-pineapple
+        sprite:
+          sprite: Objects/Specific/Hydroponics/pineapple.rsi
+          state: produce
 
 - type: entity
   name: potato
     tags:
     - Potato
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-potato
+        sprite:
+          sprite: Objects/Specific/Hydroponics/potato.rsi
+          state: produce
 
 
 - type: entity
     tags:
     - Fruit
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-tomato
+        sprite:
+          sprite: Objects/Specific/Hydroponics/tomato.rsi
+          state: produce
 
 - type: entity
   name: blue tomato
     tags:
     - Fruit
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-tomato
+        sprite:
+          sprite: Objects/Specific/Hydroponics/blue_tomato.rsi
+          state: produce
 
 - type: entity
   name: blood tomato
     tags:
     - Fruit # Fuck you they're a fruit
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-tomato
+        sprite:
+          sprite: Objects/Specific/Hydroponics/blood_tomato.rsi
+          state: produce
 
 - type: entity
   name: eggplant
   - type: Tag
     tags:
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-apple
+        sprite:
+          sprite: Objects/Specific/Hydroponics/apple.rsi
+          state: produce
 
 - type: entity
   name: golden apple
   - type: Tag
     tags:
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-apple
+        sprite:
+          sprite: Objects/Specific/Hydroponics/golden_apple.rsi
+          state: produce
 
 - type: entity
   name: cocoa pod
   - type: Tag
     tags:
     - Fruit
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-cocoa
+        sprite:
+          sprite: Objects/Specific/Hydroponics/cocoa.rsi
+          state: produce
 
 - type: entity
   name: ear of corn
     flavors:
       - corn
   - type: Food
-    trash: FoodCornTrash
+    trash: 
+    - FoodCornTrash
   - type: SolutionContainerManager
     solutions:
       food:
         Quantity: 3
       - ReagentId: Enzyme
         Quantity: 2
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-corn
+        sprite:
+          sprite: Objects/Specific/Hydroponics/corn.rsi
+          state: produce
 
 - type: entity
   name: corn cob
         reagents:
         - ReagentId: Cornmeal
           Quantity: 10
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-corn
+        sprite:
+          sprite: Objects/Specific/Hydroponics/corn.rsi
+          state: produce
 
 - type: entity
   name: onion
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-onion
+        sprite:
+          sprite: Objects/Specific/Hydroponics/onion.rsi
+          state: produce
 
 - type: entity
   name: red onion
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-onion
+        sprite:
+          sprite: Objects/Specific/Hydroponics/onion_red.rsi
+          state: produce
 
 - type: entity
   name: chanterelle cluster
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-mushroom
+        sprite:
+          sprite: Objects/Specific/Hydroponics/chanterelle.rsi
+          state: produce
 
 # Slices
 
     tags:
     - Fruit
     - Slice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-pineapple
+        sprite:
+          sprite: Objects/Specific/Hydroponics/pineapple.rsi
+          state: slice
 
 - type: entity
   name: onion slice
     tags:
     - Vegetable
     - Slice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-onion
+        sprite:
+          sprite: Objects/Specific/Hydroponics/onion.rsi
+          state: slice
 
 - type: entity
   name: red onion slice
     tags:
     - Vegetable
     - Slice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-onion
+        sprite:
+          sprite: Objects/Specific/Hydroponics/onion_red.rsi
+          state: slice
 
 - type: entity
   name: chili pepper
     - type: Tag
       tags:
       - Vegetable
+    - type: FoodSequenceElement
+      entries:
+        burger:
+          name: food-sequence-burger-content-chili
+          sprite:
+            sprite: Objects/Specific/Hydroponics/chili.rsi
+            state: produce
 
 - type: entity
   name: chilly pepper
       sprite: Objects/Specific/Hydroponics/chilly.rsi
     - type: Produce
       seedId: chilly
+    - type: FoodSequenceElement
+      entries:
+        burger:
+          name: food-sequence-burger-content-chilly
+          sprite:
+            sprite: Objects/Specific/Hydroponics/chilly.rsi
+            state: produce
 
 - type: entity
   name: aloe
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-aloe
+        sprite:
+          sprite: Objects/Specific/Hydroponics/aloe.rsi
+          state: produce
 
 - type: entity
   name: poppy
   - type: Tag
     tags:
     - Flower # TODO add "RedFlower" or "Poppy" tag, when other color flowers will be
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-poppy
+        sprite:
+          sprite: Objects/Specific/Hydroponics/poppy.rsi
+          state: produce
 
 - type: entity
   name: lily
   - type: Tag
     tags:
     - Flower
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-lily
+        sprite:
+          sprite: Objects/Specific/Hydroponics/lily.rsi
+          state: produce
 
 - type: entity
   name: lingzhi
     seedId: lingzhi
   - type: Extractable
     grindableSolutionName: food
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-mushroom
+        sprite:
+          sprite: Objects/Specific/Hydroponics/lingzhi.rsi
+          state: produce
 
 - type: entity
   name: ambrosia vulgaris
   - type: Tag
     tags:
     - Ambrosia
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-ambrosia
+        sprite:
+          sprite: Objects/Specific/Hydroponics/ambrosia_vulgaris.rsi
+          state: produce
 
 - type: entity
   name: ambrosia deus
   - type: Tag
     tags:
     - Ambrosia
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-ambrosia
+        sprite:
+          sprite: Objects/Specific/Hydroponics/ambrosia_deus.rsi
+          state: produce
 
 - type: entity
   name: galaxythistle
     tags:
     - Galaxythistle
     - Fruit # Probably?
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-galaxy
+        sprite:
+          sprite: Objects/Specific/Hydroponics/galaxythistle.rsi
+          state: produce
 
 - type: entity
   name: glasstle
   - type: Tag
     tags:
     - Galaxythistle
-
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-glasstle
+        sprite:
+          sprite: Objects/Specific/Hydroponics/glasstle.rsi
+          state: produce
 
 - type: entity
   name: fly amanita
   - type: Extractable
     grindableSolutionName: food
   - type: BadFood
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-mushroom
+        sprite:
+          sprite: Objects/Specific/Hydroponics/fly_amanita.rsi
+          state: produce
 
 - type: entity
   name: gatfruit
   - type: Produce
     seedId: gatfruit
   - type: Food
-    trash: WeaponRevolverPython
+    trash: 
+    - WeaponRevolverPython
   - type: Tag
     tags:
     - Fruit # It's in the name
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-gatfruit
+        sprite:
+          sprite: Objects/Specific/Hydroponics/gatfruit.rsi
+          state: produce
 
 - type: entity
   name: rice bushel
           Quantity: 10
   - type: Produce
     seedId: rice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-rice
+        sprite:
+          sprite: Objects/Specific/Hydroponics/rice.rsi
+          state: produce
 
 - type: entity
   name: soybeans
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-soy
+        sprite:
+          sprite: Objects/Specific/Hydroponics/soybeans.rsi
+          state: produce
 
 - type: entity
   name: spaceman's trumpet
     - Flower
   - type: Instrument #hehe trumpet
     program: 56
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-soy
+        sprite:
+          sprite: Objects/Specific/Hydroponics/soybeans.rsi
+          state: produce
 
 - type: entity
   name: koibean
   - type: Tag
     tags:
     - Vegetable
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-koibean
+        sprite:
+          sprite: Objects/Specific/Hydroponics/koibean.rsi
+          state: produce
 
 - type: entity
   name: watermelon
     tags:
     - Fruit
     - Slice
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-watermelon
+        sprite:
+          sprite: Objects/Specific/Hydroponics/watermelon.rsi
+          state: slice
 
 - type: entity
   name: grapes
     flavors:
       - bungo
   - type: Food
-    trash: FoodBungoPit
+    trash: 
+    - FoodBungoPit
   - type: SolutionContainerManager
     solutions:
       food:
index 6c16a541cd999d1756a7c691351e7a3431d90ba7..64b8c288af354c91f0db0520d4c9ea2f643b573b 100644 (file)
@@ -7,7 +7,8 @@
   abstract: true
   components:
   - type: Food
-    trash: FoodKebabSkewer
+    trash: 
+    - FoodKebabSkewer
   - type: Sprite
     sprite: Objects/Consumable/Food/skewer.rsi
   - type: SolutionContainerManager
index e8a646e8c96e1431df1092362650c5ad80078354..ff0504d39ea7381f66cd09870aba403a818ef02d 100644 (file)
@@ -41,7 +41,8 @@
     state: boritos
   - type: Item
   - type: Food
-    trash: FoodPacketBoritosTrash
+    trash: 
+    - FoodPacketBoritosTrash
 
 - type: entity
   name: C&Ds
@@ -56,7 +57,8 @@
     state: cnds
   - type: Item
   - type: Food
-    trash: FoodPacketCnDsTrash
+    trash: 
+    - FoodPacketCnDsTrash
 
 - type: entity
   name: cheesie honkers
@@ -72,7 +74,8 @@
     state: cheesiehonkers
   - type: Item
   - type: Food
-    trash: FoodPacketCheesieTrash
+    trash: 
+    - FoodPacketCheesieTrash
 
 - type: entity
   name: chips
@@ -89,7 +92,8 @@
     state: chips
   - type: Item
   - type: Food
-    trash: FoodPacketChipsTrash
+    trash: 
+    - FoodPacketChipsTrash
 
 - type: entity
   name: chocolate bar
     state: pistachio
   - type: Item
   - type: Food
-    trash: FoodPacketPistachioTrash
+    trash: 
+    - FoodPacketPistachioTrash
   - type: Tag
     tags:
     - Fruit # Seed of a fruit, you can yell at me
   - type: Item
     heldPrefix: popcorn
   - type: Food
-    trash: FoodPacketPopcornTrash
+    trash: 
+    - FoodPacketPopcornTrash
 
 - type: entity
   name: 4no raisins
     state: raisins
   - type: Item
   - type: Food
-    trash: FoodPacketRaisinsTrash
+    trash: 
+    - FoodPacketRaisinsTrash
   - type: Tag
     tags:
     - Fruit
     state: semki
   - type: Item
   - type: Food
-    trash: FoodPacketSemkiTrash
+    trash: 
+    - FoodPacketSemkiTrash
 
 - type: entity
   name: sus jerky
     state: susjerky
   - type: Item
   - type: Food
-    trash: FoodPacketSusTrash
+    trash: 
+    - FoodPacketSusTrash
   - type: Tag
     tags:
     - Meat
     state: syndicakes
   - type: Item
   - type: Food
-    trash: FoodPacketSyndiTrash
+    trash: 
+    - FoodPacketSyndiTrash
 
 - type: entity
   parent: FoodSnackBase
   - type: Sprite
     state: ramen
   - type: Food
-    trash: FoodPacketCupRamenTrash
+    trash: 
+    - FoodPacketCupRamenTrash
 
 - type: entity
   parent: DrinkRamen
         - ReagentId: Soysauce
           Quantity: 2
   - type: Food
-    trash: FoodPacketChowMeinTrash
+    trash: 
+    - FoodPacketChowMeinTrash
 
 - type: entity
   name: dan dan noodles
         - ReagentId: Soysauce
           Quantity: 2
   - type: Food
-    trash: FoodPacketDanDanTrash
+    trash: 
+    - FoodPacketDanDanTrash
 
 - type: entity
   name: fortune cookie
     heldPrefix: packet
     size: Tiny
   - type: Food
-    trash: FoodCookieFortune
+    trash: 
+    - FoodCookieFortune
 
 - type: entity
   id: FoodSnackNutribrick
index 6b96f3bcb36c9b83c387cafe76dd340fdaa55115..5c2a87c2b11db4fe50e92298f1ed59bb9e805bf1 100644 (file)
@@ -8,7 +8,8 @@
   - type: Item
     storedRotation: -90
   - type: Food
-    trash: FoodBowlBig
+    trash: 
+    - FoodBowlBig
     utensil: Spoon
   - type: SolutionContainerManager
     solutions:
     flavors:
       - miso
   - type: Food
-    trash: FoodBowlFancy
+    trash: 
+    - FoodBowlFancy
   - type: Sprite
     layers:
     - state: bowl2
index a3fc4a277458ad4c228ee68adc2f44f69214c951..e8d4094400ff1b0917bd2f3f2278b7ef6475a88c 100644 (file)
     flavors:
       - banana
   - type: Food
-    trash: TrashBananiumPeel
+    trash: 
+    - TrashBananiumPeel
   - type: BadFood
   - type: SolutionContainerManager
     solutions:
index c26ba925e0d9fa9fb0ce7709c34891be0348bddd..6bef30e8c7eb51fc0acfbf35225c59f2962bf462 100644 (file)
         reagents:
         - ReagentId: THC
           Quantity: 15
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-cannabis
+        sprite:
+          sprite: Objects/Specific/Hydroponics/cannabis.rsi
+          state: produce
 
 
 - type: entity
   - type: Sprite
     sprite: Objects/Specific/Hydroponics/tobacco.rsi
     state: dried
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-cannabis
+        sprite:
+          sprite: Objects/Specific/Hydroponics/tobacco.rsi
+          state: dried
 
 - type: entity
   name: ground cannabis
       - Smokable
   - type: Item
     size: Tiny
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-cannabis
+        sprite:
+          sprite: Objects/Misc/reagent_fillings.rsi
+          state: powderpile
     
 - type: entity
   name: rainbow cannabis leaves
 #         Quantity: 1
         - ReagentId: Psicodine
           Quantity: 0.6
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-rainbow-cannabis
+        sprite:
+          sprite: Objects/Specific/Hydroponics/rainbow_cannabis.rsi
+          state: produce
 
 - type: entity
   name: dried rainbow cannabis leaves
   - type: Sprite
     sprite: Objects/Specific/Hydroponics/rainbow_cannabis.rsi
     state: dried
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-rainbow-cannabis
+        sprite:
+          sprite: Objects/Specific/Hydroponics/rainbow_cannabis.rsi
+          state: dried
 
 - type: entity
   name: ground rainbow cannabis
   - type: Construction
     graph: smokeableGroundCannabisRainbow
     node: groundRainbow
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-rainbow-cannabis
+        sprite:
+          sprite: Objects/Specific/Hydroponics/rainbow_cannabis.rsi
+          state: powderpile_rainbow
 
 - type: entity
   name: tobacco leaves
       - Smokable
   - type: Item
     size: Tiny
+  - type: FoodSequenceElement
+    entries:
+      burger:
+        name: food-sequence-burger-content-tobacco
+        sprite:
+          sprite: Objects/Misc/reagent_fillings.rsi
+          state: powderpile
diff --git a/Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_bottom.png b/Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_bottom.png
new file mode 100644 (file)
index 0000000..aec759f
Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_bottom.png differ
diff --git a/Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_top.png b/Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_top.png
new file mode 100644 (file)
index 0000000..8eb16ce
Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Food/burger.rsi/bun_top.png differ
index 5a7ffa873f391569ccfe34f3693cff7392abe5b0..2ad83dfc3c65bac2495e9249c86800f0d55e2e94 100644 (file)
     {
       "name": "bun"
     },
+    {
+      "name": "bun_top"
+    },
+    {
+      "name": "bun_bottom"
+    },
     {
       "name": "c"
     },
index 72242699f2f7c2ecce55bf8f76d73cc827bdc91d..0d749888b0ef7e77887314901f4ea919a3ab4725 100644 (file)
Binary files a/Resources/Textures/Objects/Consumable/Food/meat.rsi/tomato.png and b/Resources/Textures/Objects/Consumable/Food/meat.rsi/tomato.png differ
index 68f2133a9984185760b34ab2742e08141fe36bf0..3e0c08cf2d6e3c8e3557a85934584fabf8c089d4 100644 (file)
Binary files a/Resources/Textures/Objects/Specific/Hydroponics/aloe.rsi/produce.png and b/Resources/Textures/Objects/Specific/Hydroponics/aloe.rsi/produce.png differ
index 0bb7ca471b441e1a8e95737a1e226d2158d245d5..cc0a026b59f55fe524fffa5bc072e72acc42ab9b 100644 (file)
Binary files a/Resources/Textures/Objects/Specific/Hydroponics/apple.rsi/produce.png and b/Resources/Textures/Objects/Specific/Hydroponics/apple.rsi/produce.png differ
index bf5f2fee7aefdfa6693502601c99a9cf4ae63096..be24a81a605a9265ef250233e028b1bc506f0229 100644 (file)
Binary files a/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/produce.png and b/Resources/Textures/Objects/Specific/Hydroponics/blood_tomato.rsi/produce.png differ
index 465dd4eefba5cd76ca04263a1f4be64fed919f43..b2a6d230a3c4cd5344cbbe4a3d459834289a48ac 100644 (file)
Binary files a/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/produce.png and b/Resources/Textures/Objects/Specific/Hydroponics/blue_tomato.rsi/produce.png differ
index a03a31182b1513f9953168253a5405d9b45b6989..601dc37fbc89881ee3c8d548f9aff4c70f63dc0d 100644 (file)
Binary files a/Resources/Textures/Objects/Specific/Hydroponics/cannabis.rsi/produce.png and b/Resources/Textures/Objects/Specific/Hydroponics/cannabis.rsi/produce.png differ