--- /dev/null
+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);
+ }
+ }
+}
namespace Content.Server.Nutrition.Components;
-[RegisterComponent, Access(typeof(FoodSystem))]
+[RegisterComponent, Access(typeof(FoodSystem), typeof(FoodSequenceSystem))]
public sealed partial class FoodComponent : Component
{
[DataField]
public SoundSpecifier UseSound = new SoundCollectionSpecifier("eating");
[DataField]
- public EntProtoId? Trash;
+ public List<EntProtoId> Trash = new();
[DataField]
public FixedPoint2? TransferAmount = FixedPoint2.New(5);
{
_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);
--- /dev/null
+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);
+ }
+ }
+}
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)
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);
}
--- /dev/null
+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;
+}
--- /dev/null
+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;
+}
--- /dev/null
+namespace Content.Shared.Nutrition.EntitySystems;
+
+public abstract class SharedFoodSequenceSystem : EntitySystem
+{
+}
--- /dev/null
+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
- 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
- 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
- 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
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
- Egg
- Meat
- type: Food
- trash: Eggshells
+ trash:
+ - Eggshells
- type: Sprite
sprite: Objects/Consumable/Food/egg.rsi
- type: Item
- 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
- 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
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
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
- 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:
abstract: true
components:
- type: Food
- trash: FoodKebabSkewer
+ trash:
+ - FoodKebabSkewer
- type: Sprite
sprite: Objects/Consumable/Food/skewer.rsi
- type: SolutionContainerManager
state: boritos
- type: Item
- type: Food
- trash: FoodPacketBoritosTrash
+ trash:
+ - FoodPacketBoritosTrash
- type: entity
name: C&Ds
state: cnds
- type: Item
- type: Food
- trash: FoodPacketCnDsTrash
+ trash:
+ - FoodPacketCnDsTrash
- type: entity
name: cheesie honkers
state: cheesiehonkers
- type: Item
- type: Food
- trash: FoodPacketCheesieTrash
+ trash:
+ - FoodPacketCheesieTrash
- type: entity
name: chips
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
- 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
flavors:
- banana
- type: Food
- trash: TrashBananiumPeel
+ trash:
+ - TrashBananiumPeel
- type: BadFood
- type: SolutionContainerManager
solutions:
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
{
"name": "bun"
},
+ {
+ "name": "bun_top"
+ },
+ {
+ "name": "bun_bottom"
+ },
{
"name": "c"
},