Metamorphosis - FoodSequence 3 (#31012)
* setup some data * cheeseburger recipe * Update FoodSequenceSystem.cs * finalize cheseburger recipe * remove fun * return old taco sprites * full foodsequence data refactor * return tacos * well done * add cutlets to burger * chickenburger recipe * +2 burger recipes * more fun * Update brain.png * some slice produce added * documentation * watermelon * skewer work * flipping * tomato * skewer watermelon * Update skewer.yml * oopsie, ok, im go to sleep * fix checks * Update produce.yml * screwed * cheeeeeeeese * all cooked meat added * produce added * aaaaand suppermatter * key to Tag * More * proto string remove * raw snail * fix * Update FoodMetamorphableByAddingComponent.cs * fixes * fix3 * fififififx
@@ -1,7 +1,6 @@
|
|||||||
using Content.Shared.Nutrition.Components;
|
using Content.Shared.Nutrition.Components;
|
||||||
using Content.Shared.Nutrition.EntitySystems;
|
using Content.Shared.Nutrition.EntitySystems;
|
||||||
using Robust.Client.GameObjects;
|
using Robust.Client.GameObjects;
|
||||||
using Robust.Shared.Utility;
|
|
||||||
|
|
||||||
namespace Content.Client.Nutrition.EntitySystems;
|
namespace Content.Client.Nutrition.EntitySystems;
|
||||||
|
|
||||||
@@ -50,6 +49,7 @@ public sealed class ClientFoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
sprite.AddBlankLayer(index);
|
sprite.AddBlankLayer(index);
|
||||||
sprite.LayerMapSet(keyCode, index);
|
sprite.LayerMapSet(keyCode, index);
|
||||||
sprite.LayerSetSprite(index, state.Sprite);
|
sprite.LayerSetSprite(index, state.Sprite);
|
||||||
|
sprite.LayerSetScale(index, state.Scale);
|
||||||
|
|
||||||
//Offset the layer
|
//Offset the layer
|
||||||
var layerPos = start.Comp.StartPosition;
|
var layerPos = start.Comp.StartPosition;
|
||||||
|
|||||||
@@ -4,10 +4,14 @@ using Content.Server.Nutrition.Components;
|
|||||||
using Content.Shared.Chemistry.EntitySystems;
|
using Content.Shared.Chemistry.EntitySystems;
|
||||||
using Content.Shared.Interaction;
|
using Content.Shared.Interaction;
|
||||||
using Content.Shared.Mobs.Systems;
|
using Content.Shared.Mobs.Systems;
|
||||||
|
using Content.Shared.Nutrition;
|
||||||
using Content.Shared.Nutrition.Components;
|
using Content.Shared.Nutrition.Components;
|
||||||
using Content.Shared.Nutrition.EntitySystems;
|
using Content.Shared.Nutrition.EntitySystems;
|
||||||
|
using Content.Shared.Nutrition.Prototypes;
|
||||||
using Content.Shared.Popups;
|
using Content.Shared.Popups;
|
||||||
using Content.Shared.Tag;
|
using Content.Shared.Tag;
|
||||||
|
using Robust.Server.GameObjects;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Random;
|
using Robust.Shared.Random;
|
||||||
|
|
||||||
namespace Content.Server.Nutrition.EntitySystems;
|
namespace Content.Server.Nutrition.EntitySystems;
|
||||||
@@ -20,12 +24,16 @@ public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
[Dependency] private readonly MobStateSystem _mobState = default!;
|
[Dependency] private readonly MobStateSystem _mobState = default!;
|
||||||
[Dependency] private readonly TagSystem _tag = default!;
|
[Dependency] private readonly TagSystem _tag = default!;
|
||||||
[Dependency] private readonly IRobustRandom _random = default!;
|
[Dependency] private readonly IRobustRandom _random = default!;
|
||||||
|
[Dependency] private readonly IPrototypeManager _proto = default!;
|
||||||
|
[Dependency] private readonly TransformSystem _transform = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<FoodSequenceStartPointComponent, InteractUsingEvent>(OnInteractUsing);
|
SubscribeLocalEvent<FoodSequenceStartPointComponent, InteractUsingEvent>(OnInteractUsing);
|
||||||
|
|
||||||
|
SubscribeLocalEvent<FoodMetamorphableByAddingComponent, FoodSequenceIngredientAddedEvent>(OnIngredientAdded);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnInteractUsing(Entity<FoodSequenceStartPointComponent> ent, ref InteractUsingEvent args)
|
private void OnInteractUsing(Entity<FoodSequenceStartPointComponent> ent, ref InteractUsingEvent args)
|
||||||
@@ -34,47 +42,113 @@ public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
TryAddFoodElement(ent, (args.Used, sequenceElement), args.User);
|
TryAddFoodElement(ent, (args.Used, sequenceElement), args.User);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool TryAddFoodElement(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element, EntityUid? user = null)
|
private void OnIngredientAdded(Entity<FoodMetamorphableByAddingComponent> ent, ref FoodSequenceIngredientAddedEvent args)
|
||||||
{
|
{
|
||||||
FoodSequenceElementEntry? elementData = null;
|
if (!TryComp<FoodSequenceStartPointComponent>(args.Start, out var start))
|
||||||
foreach (var entry in element.Comp.Entries)
|
return;
|
||||||
|
|
||||||
|
if (!_proto.TryIndex(args.Proto, out var elementProto))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!ent.Comp.OnlyFinal || elementProto.Final || start.FoodLayers.Count == start.MaxLayers)
|
||||||
{
|
{
|
||||||
if (entry.Key == start.Comp.Key)
|
TryMetamorph((ent, start));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool TryMetamorph(Entity<FoodSequenceStartPointComponent> start)
|
||||||
{
|
{
|
||||||
elementData = entry.Value;
|
List<MetamorphRecipePrototype> availableRecipes = new();
|
||||||
|
foreach (var recipe in _proto.EnumeratePrototypes<MetamorphRecipePrototype>())
|
||||||
|
{
|
||||||
|
if (recipe.Key != start.Comp.Key)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
bool allowed = true;
|
||||||
|
foreach (var rule in recipe.Rules)
|
||||||
|
{
|
||||||
|
if (!rule.Check(_proto, EntityManager, start, start.Comp.FoodLayers))
|
||||||
|
{
|
||||||
|
allowed = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (allowed)
|
||||||
if (elementData is null)
|
availableRecipes.Add(recipe);
|
||||||
return false;
|
|
||||||
|
|
||||||
if (TryComp<FoodComponent>(element, out var elementFood) && elementFood.RequireDead)
|
|
||||||
{
|
|
||||||
if (_mobState.IsAlive(element))
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (availableRecipes.Count <= 0)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
Metamorf(start, _random.Pick(availableRecipes)); //In general, if there's more than one recipe, the yml-guys screwed up. Maybe some kind of unit test is needed.
|
||||||
|
QueueDel(start);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Metamorf(Entity<FoodSequenceStartPointComponent> start, MetamorphRecipePrototype recipe)
|
||||||
|
{
|
||||||
|
var result = SpawnAtPosition(recipe.Result, Transform(start).Coordinates);
|
||||||
|
|
||||||
|
//Try putting in container
|
||||||
|
_transform.DropNextTo(result, (start, Transform(start)));
|
||||||
|
|
||||||
|
if (!_solutionContainer.TryGetSolution(result, start.Comp.Solution, out var resultSoln, out var resultSolution))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!_solutionContainer.TryGetSolution(start.Owner, start.Comp.Solution, out var startSoln, out var startSolution))
|
||||||
|
return;
|
||||||
|
|
||||||
|
_solutionContainer.RemoveAllSolution(resultSoln.Value); //Remove all YML reagents
|
||||||
|
resultSoln.Value.Comp.Solution.MaxVolume = startSoln.Value.Comp.Solution.MaxVolume;
|
||||||
|
_solutionContainer.TryAddSolution(resultSoln.Value, startSolution);
|
||||||
|
|
||||||
|
MergeFlavorProfiles(start, result);
|
||||||
|
MergeTrash(start, result);
|
||||||
|
MergeTags(start, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool TryAddFoodElement(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element, EntityUid? user = null)
|
||||||
|
{
|
||||||
|
// we can't add a live mouse to a burger.
|
||||||
|
if (!TryComp<FoodComponent>(element, out var elementFood))
|
||||||
|
return false;
|
||||||
|
if (elementFood.RequireDead && _mobState.IsAlive(element))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
//looking for a suitable FoodSequence prototype
|
||||||
|
ProtoId<FoodSequenceElementPrototype> elementProto = string.Empty;
|
||||||
|
foreach (var pair in element.Comp.Entries)
|
||||||
|
{
|
||||||
|
if (pair.Key == start.Comp.Key)
|
||||||
|
{
|
||||||
|
elementProto = pair.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!_proto.TryIndex(elementProto, out var elementIndexed))
|
||||||
|
return false;
|
||||||
|
|
||||||
//if we run out of space, we can still put in one last, final finishing element.
|
//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.Final || start.Comp.Finished)
|
if (start.Comp.FoodLayers.Count >= start.Comp.MaxLayers && !elementIndexed.Final || start.Comp.Finished)
|
||||||
{
|
{
|
||||||
if (user is not null)
|
if (user is not null)
|
||||||
_popup.PopupEntity(Loc.GetString("food-sequence-no-space"), start, user.Value);
|
_popup.PopupEntity(Loc.GetString("food-sequence-no-space"), start, user.Value);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//If no specific sprites are specified, standard sprites will be used.
|
//Generate new visual layer
|
||||||
if (elementData.Sprite is null && element.Comp.Sprite is not null)
|
var flip = start.Comp.AllowHorizontalFlip && _random.Prob(0.5f);
|
||||||
elementData.Sprite = element.Comp.Sprite;
|
var layer = new FoodSequenceVisualLayer(elementIndexed,
|
||||||
|
_random.Pick(elementIndexed.Sprites),
|
||||||
|
new Vector2(flip ? -1 : 1, 1),
|
||||||
|
new Vector2(
|
||||||
|
_random.NextFloat(start.Comp.MinLayerOffset.X, start.Comp.MaxLayerOffset.X),
|
||||||
|
_random.NextFloat(start.Comp.MinLayerOffset.Y, start.Comp.MaxLayerOffset.Y))
|
||||||
|
);
|
||||||
|
|
||||||
elementData.LocalOffset = new Vector2(
|
start.Comp.FoodLayers.Add(layer);
|
||||||
_random.NextFloat(start.Comp.MinLayerOffset.X,start.Comp.MaxLayerOffset.X),
|
|
||||||
_random.NextFloat(start.Comp.MinLayerOffset.Y,start.Comp.MaxLayerOffset.Y));
|
|
||||||
|
|
||||||
start.Comp.FoodLayers.Add(elementData);
|
|
||||||
Dirty(start);
|
Dirty(start);
|
||||||
|
|
||||||
if (elementData.Final)
|
if (elementIndexed.Final)
|
||||||
start.Comp.Finished = true;
|
start.Comp.Finished = true;
|
||||||
|
|
||||||
UpdateFoodName(start);
|
UpdateFoodName(start);
|
||||||
@@ -82,6 +156,10 @@ public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
MergeFlavorProfiles(start, element);
|
MergeFlavorProfiles(start, element);
|
||||||
MergeTrash(start, element);
|
MergeTrash(start, element);
|
||||||
MergeTags(start, element);
|
MergeTags(start, element);
|
||||||
|
|
||||||
|
var ev = new FoodSequenceIngredientAddedEvent(start, element, elementProto, user);
|
||||||
|
RaiseLocalEvent(start, ev);
|
||||||
|
|
||||||
QueueDel(element);
|
QueueDel(element);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -96,17 +174,23 @@ public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
if (start.Comp.ContentSeparator is not null)
|
if (start.Comp.ContentSeparator is not null)
|
||||||
separator = Loc.GetString(start.Comp.ContentSeparator);
|
separator = Loc.GetString(start.Comp.ContentSeparator);
|
||||||
|
|
||||||
HashSet<LocId> existedContentNames = new();
|
HashSet<ProtoId<FoodSequenceElementPrototype>> existedContentNames = new();
|
||||||
foreach (var layer in start.Comp.FoodLayers)
|
foreach (var layer in start.Comp.FoodLayers)
|
||||||
{
|
{
|
||||||
if (layer.Name is not null && !existedContentNames.Contains(layer.Name.Value))
|
if (!existedContentNames.Contains(layer.Proto))
|
||||||
existedContentNames.Add(layer.Name.Value);
|
existedContentNames.Add(layer.Proto);
|
||||||
}
|
}
|
||||||
|
|
||||||
var nameCounter = 1;
|
var nameCounter = 1;
|
||||||
foreach (var name in existedContentNames)
|
foreach (var proto in existedContentNames)
|
||||||
{
|
{
|
||||||
content.Append(Loc.GetString(name));
|
if (!_proto.TryIndex(proto, out var protoIndexed))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (protoIndexed.Name is null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
content.Append(Loc.GetString(protoIndexed.Name.Value));
|
||||||
|
|
||||||
if (nameCounter < existedContentNames.Count)
|
if (nameCounter < existedContentNames.Count)
|
||||||
content.Append(separator);
|
content.Append(separator);
|
||||||
@@ -121,19 +205,25 @@ public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
_metaData.SetEntityName(start, newName);
|
_metaData.SetEntityName(start, newName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MergeFoodSolutions(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element)
|
private void MergeFoodSolutions(EntityUid start, EntityUid element)
|
||||||
{
|
{
|
||||||
if (!_solutionContainer.TryGetSolution(start.Owner, start.Comp.Solution, out var startSolutionEntity, out var startSolution))
|
if (!TryComp<FoodComponent>(start, out var startFood))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!_solutionContainer.TryGetSolution(element.Owner, element.Comp.Solution, out _, out var elementSolution))
|
if (!TryComp<FoodComponent>(element, out var elementFood))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!_solutionContainer.TryGetSolution(start, startFood.Solution, out var startSolutionEntity, out var startSolution))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!_solutionContainer.TryGetSolution(element, elementFood.Solution, out _, out var elementSolution))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
startSolution.MaxVolume += elementSolution.MaxVolume;
|
startSolution.MaxVolume += elementSolution.MaxVolume;
|
||||||
_solutionContainer.TryAddSolution(startSolutionEntity.Value, elementSolution);
|
_solutionContainer.TryAddSolution(startSolutionEntity.Value, elementSolution);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MergeFlavorProfiles(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element)
|
private void MergeFlavorProfiles(EntityUid start, EntityUid element)
|
||||||
{
|
{
|
||||||
if (!TryComp<FlavorProfileComponent>(start, out var startProfile))
|
if (!TryComp<FlavorProfileComponent>(start, out var startProfile))
|
||||||
return;
|
return;
|
||||||
@@ -148,7 +238,7 @@ public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MergeTrash(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element)
|
private void MergeTrash(EntityUid start, EntityUid element)
|
||||||
{
|
{
|
||||||
if (!TryComp<FoodComponent>(start, out var startFood))
|
if (!TryComp<FoodComponent>(start, out var startFood))
|
||||||
return;
|
return;
|
||||||
@@ -162,13 +252,13 @@ public sealed class FoodSequenceSystem : SharedFoodSequenceSystem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MergeTags(Entity<FoodSequenceStartPointComponent> start, Entity<FoodSequenceElementComponent> element)
|
private void MergeTags(EntityUid start, EntityUid element)
|
||||||
{
|
{
|
||||||
if (!TryComp<TagComponent>(element, out var elementTags))
|
if (!TryComp<TagComponent>(element, out var elementTags))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
EnsureComp<TagComponent>(start.Owner);
|
EnsureComp<TagComponent>(start);
|
||||||
|
|
||||||
_tag.TryAddTags(start.Owner, elementTags.Tags);
|
_tag.TryAddTags(start, elementTags.Tags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using Content.Shared.Nutrition.EntitySystems;
|
||||||
|
using Robust.Shared.GameStates;
|
||||||
|
|
||||||
|
namespace Content.Shared.Nutrition.Components;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Attempts to metamorphose a modular food when a new ingredient is added.
|
||||||
|
/// </summary>
|
||||||
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedFoodSequenceSystem))]
|
||||||
|
public sealed partial class FoodMetamorphableByAddingComponent : Component
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// if true, the metamorphosis will only be attempted when the sequence ends, not when each element is added.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public bool OnlyFinal = true;
|
||||||
|
}
|
||||||
@@ -1,55 +1,25 @@
|
|||||||
using System.Numerics;
|
|
||||||
using Content.Shared.Nutrition.EntitySystems;
|
using Content.Shared.Nutrition.EntitySystems;
|
||||||
using Robust.Shared.Serialization;
|
using Content.Shared.Nutrition.Prototypes;
|
||||||
using Robust.Shared.Utility;
|
using Content.Shared.Tag;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.Nutrition.Components;
|
namespace Content.Shared.Nutrition.Components;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tndicates that this entity can be inserted into FoodSequence, which will transfer all reagents to the target.
|
/// Indicates that this entity can be inserted into FoodSequence, which will transfer all reagents to the target.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[RegisterComponent, Access(typeof(SharedFoodSequenceSystem))]
|
[RegisterComponent, Access(typeof(SharedFoodSequenceSystem))]
|
||||||
public sealed partial class FoodSequenceElementComponent : Component
|
public sealed partial class FoodSequenceElementComponent : Component
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// the same object can be used in different sequences, and it will have a different sprite in different sequences.
|
/// The same object can be used in different sequences, and it will have a different data in then.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField(required: true)]
|
[DataField(required: true)]
|
||||||
public Dictionary<string, FoodSequenceElementEntry> Entries = new();
|
public Dictionary<ProtoId<TagPrototype>, ProtoId<FoodSequenceElementPrototype>> Entries = new();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// which solution we will add to the main dish
|
/// Which solution we will add to the main dish
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField]
|
[DataField]
|
||||||
public string Solution = "food";
|
public string Solution = "food";
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// state used to generate the appearance of the added layer
|
|
||||||
/// </summary>
|
|
||||||
[DataField]
|
|
||||||
public SpriteSpecifier? Sprite;
|
|
||||||
}
|
|
||||||
|
|
||||||
[DataRecord, Serializable, NetSerializable]
|
|
||||||
public sealed class FoodSequenceElementEntry
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// A localized name piece to build into the item name generator.
|
|
||||||
/// </summary>
|
|
||||||
public LocId? Name { get; set; } = null;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// overriding default sprite
|
|
||||||
/// </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;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// the shear of a particular layer. Allows a little "randomization" of each layer.
|
|
||||||
/// </summary>
|
|
||||||
public Vector2 LocalOffset { get; set; } = Vector2.Zero;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using Content.Shared.Nutrition.EntitySystems;
|
using Content.Shared.Nutrition.EntitySystems;
|
||||||
|
using Content.Shared.Nutrition.Prototypes;
|
||||||
|
using Content.Shared.Tag;
|
||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
using Robust.Shared.Serialization;
|
||||||
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Shared.Nutrition.Components;
|
namespace Content.Shared.Nutrition.Components;
|
||||||
|
|
||||||
@@ -14,7 +19,7 @@ public sealed partial class FoodSequenceStartPointComponent : Component
|
|||||||
/// A key that determines which types of food elements can be attached to a food.
|
/// A key that determines which types of food elements can be attached to a food.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField(required: true)]
|
[DataField(required: true)]
|
||||||
public string Key = string.Empty;
|
public ProtoId<TagPrototype> Key = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The maximum number of layers of food that can be placed on this item.
|
/// The maximum number of layers of food that can be placed on this item.
|
||||||
@@ -22,62 +27,20 @@ public sealed partial class FoodSequenceStartPointComponent : Component
|
|||||||
[DataField]
|
[DataField]
|
||||||
public int MaxLayers = 10;
|
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>
|
/// <summary>
|
||||||
/// Can we put more layers?
|
/// Can we put more layers?
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField]
|
[DataField]
|
||||||
public bool Finished;
|
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();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// target layer, where new layers will be added. This allows you to control the order of generative layers and static layers.
|
|
||||||
/// </summary>
|
|
||||||
[DataField]
|
|
||||||
public string TargetLayerMap = "foodSequenceLayers";
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// If true, the generative layers will be placed in reverse order.
|
|
||||||
/// </summary>
|
|
||||||
[DataField]
|
|
||||||
public bool InverseLayers;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// each layer will get a random offset in the specified range
|
|
||||||
/// </summary>
|
|
||||||
[DataField]
|
|
||||||
public Vector2 MaxLayerOffset = Vector2.Zero;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// each layer will get a random offset in the specified range
|
|
||||||
/// </summary>
|
|
||||||
[DataField]
|
|
||||||
public Vector2 MinLayerOffset = Vector2.Zero;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// solution where reagents will be added from newly added ingredients
|
/// solution where reagents will be added from newly added ingredients
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField]
|
[DataField]
|
||||||
public string Solution = "food";
|
public string Solution = "food";
|
||||||
|
|
||||||
|
#region name generation
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// LocId with a name generation pattern.
|
/// LocId with a name generation pattern.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -101,4 +64,96 @@ public sealed partial class FoodSequenceStartPointComponent : Component
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField]
|
[DataField]
|
||||||
public LocId? NameSuffix;
|
public LocId? NameSuffix;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region visual
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// list of sprite states to be displayed on this object.
|
||||||
|
/// </summary>
|
||||||
|
[DataField, AutoNetworkedField]
|
||||||
|
public List<FoodSequenceVisualLayer> FoodLayers = new();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If true, the generative layers will be placed in reverse order.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public bool InverseLayers;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// target layer, where new layers will be added. This allows you to control the order of generative layers and static layers.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public string TargetLayerMap = "foodSequenceLayers";
|
||||||
|
|
||||||
|
/// <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>
|
||||||
|
/// each layer will get a random offset in the specified range
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public Vector2 MaxLayerOffset = Vector2.Zero;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// each layer will get a random offset in the specified range
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public Vector2 MinLayerOffset = Vector2.Zero;
|
||||||
|
|
||||||
|
[DataField]
|
||||||
|
public bool AllowHorizontalFlip = true;
|
||||||
|
|
||||||
|
public HashSet<string> RevealedLayers = new();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// class that synchronizes with the client
|
||||||
|
/// Stores all the necessary information for rendering the FoodSequence element
|
||||||
|
/// </summary>
|
||||||
|
[DataRecord, Serializable, NetSerializable]
|
||||||
|
public record struct FoodSequenceVisualLayer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// reference to the original prototype of the layer. Used to edit visual layers.
|
||||||
|
/// </summary>
|
||||||
|
public ProtoId<FoodSequenceElementPrototype> Proto;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sprite rendered in sequence
|
||||||
|
/// </summary>
|
||||||
|
public SpriteSpecifier? Sprite { get; set; } = SpriteSpecifier.Invalid;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Relative size of the sprite displayed in FoodSequence
|
||||||
|
/// </summary>
|
||||||
|
public Vector2 Scale { get; set; } = Vector2.One;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The offset of a particular layer. Allows a little position randomization of each layer.
|
||||||
|
/// </summary>
|
||||||
|
public Vector2 LocalOffset { get; set; } = Vector2.Zero;
|
||||||
|
|
||||||
|
public FoodSequenceVisualLayer(ProtoId<FoodSequenceElementPrototype> proto,
|
||||||
|
SpriteSpecifier? sprite,
|
||||||
|
Vector2 scale,
|
||||||
|
Vector2 offset)
|
||||||
|
{
|
||||||
|
Proto = proto;
|
||||||
|
Sprite = sprite;
|
||||||
|
Scale = scale;
|
||||||
|
LocalOffset = offset;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
using Content.Shared.Chemistry.Components;
|
using Content.Shared.Chemistry.Components;
|
||||||
using Content.Shared.DoAfter;
|
using Content.Shared.DoAfter;
|
||||||
|
using Content.Shared.Nutrition.Components;
|
||||||
|
using Content.Shared.Nutrition.Prototypes;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
namespace Content.Shared.Nutrition;
|
namespace Content.Shared.Nutrition;
|
||||||
@@ -67,3 +70,8 @@ public record struct SliceFoodEvent();
|
|||||||
public sealed partial class SliceFoodDoAfterEvent : SimpleDoAfterEvent
|
public sealed partial class SliceFoodDoAfterEvent : SimpleDoAfterEvent
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Raised on FoodSequence start element entity when new ingredient is added to FoodSequence
|
||||||
|
/// </summary>
|
||||||
|
public record struct FoodSequenceIngredientAddedEvent(EntityUid Start, EntityUid Element, ProtoId<FoodSequenceElementPrototype> Proto, EntityUid? User = null);
|
||||||
|
|||||||
218
Content.Shared/Nutrition/FoodMetamorphRules/FoodMetamorphRule.cs
Normal file
@@ -0,0 +1,218 @@
|
|||||||
|
using Content.Shared.Chemistry.Components.SolutionManager;
|
||||||
|
using Content.Shared.Chemistry.EntitySystems;
|
||||||
|
using Content.Shared.Chemistry.Reagent;
|
||||||
|
using Content.Shared.Destructible.Thresholds;
|
||||||
|
using Content.Shared.Nutrition.Components;
|
||||||
|
using Content.Shared.Tag;
|
||||||
|
using JetBrains.Annotations;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
|
namespace Content.Shared.Nutrition.FoodMetamorphRules;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// abstract rules that are used to verify the correct foodSequence for recipe
|
||||||
|
/// </summary>
|
||||||
|
[ImplicitDataDefinitionForInheritors]
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public abstract partial class FoodMetamorphRule
|
||||||
|
{
|
||||||
|
public abstract bool Check(IPrototypeManager protoMan, EntityManager entMan, EntityUid food, List<FoodSequenceVisualLayer> ingredients);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The requirement that the sequence be within the specified size limit
|
||||||
|
/// </summary>
|
||||||
|
[UsedImplicitly]
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed partial class SequenceLength : FoodMetamorphRule
|
||||||
|
{
|
||||||
|
[DataField(required: true)]
|
||||||
|
public MinMax Range;
|
||||||
|
|
||||||
|
public override bool Check(IPrototypeManager protoMan, EntityManager entMan, EntityUid food, List<FoodSequenceVisualLayer> ingredients)
|
||||||
|
{
|
||||||
|
return ingredients.Count <= Range.Max && ingredients.Count >= Range.Min;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A requirement that the last element of the sequence have one or all of the required tags
|
||||||
|
/// </summary>
|
||||||
|
[UsedImplicitly]
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed partial class LastElementHasTags : FoodMetamorphRule
|
||||||
|
{
|
||||||
|
[DataField(required: true)]
|
||||||
|
public List<ProtoId<TagPrototype>> Tags = new ();
|
||||||
|
|
||||||
|
[DataField]
|
||||||
|
public bool NeedAll = true;
|
||||||
|
|
||||||
|
public override bool Check(IPrototypeManager protoMan, EntityManager entMan, EntityUid food, List<FoodSequenceVisualLayer> ingredients)
|
||||||
|
{
|
||||||
|
var lastIngredient = ingredients[ingredients.Count - 1];
|
||||||
|
|
||||||
|
if (!protoMan.TryIndex(lastIngredient.Proto, out var protoIndexed))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
foreach (var tag in Tags)
|
||||||
|
{
|
||||||
|
var containsTag = protoIndexed.Tags.Contains(tag);
|
||||||
|
|
||||||
|
if (NeedAll && !containsTag)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!NeedAll && containsTag)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NeedAll;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A requirement that the specified sequence element have one or all of the required tags
|
||||||
|
/// </summary>
|
||||||
|
[UsedImplicitly]
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed partial class ElementHasTags : FoodMetamorphRule
|
||||||
|
{
|
||||||
|
[DataField(required: true)]
|
||||||
|
public int ElementNumber = 0;
|
||||||
|
|
||||||
|
[DataField(required: true)]
|
||||||
|
public List<ProtoId<TagPrototype>> Tags = new ();
|
||||||
|
|
||||||
|
[DataField]
|
||||||
|
public bool NeedAll = true;
|
||||||
|
|
||||||
|
public override bool Check(IPrototypeManager protoMan, EntityManager entMan, EntityUid food, List<FoodSequenceVisualLayer> ingredients)
|
||||||
|
{
|
||||||
|
if (ingredients.Count < ElementNumber + 1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!protoMan.TryIndex(ingredients[ElementNumber].Proto, out var protoIndexed))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
foreach (var tag in Tags)
|
||||||
|
{
|
||||||
|
var containsTag = protoIndexed.Tags.Contains(tag);
|
||||||
|
|
||||||
|
if (NeedAll && !containsTag)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!NeedAll && containsTag)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NeedAll;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// requirement that the food contains certain reagents (e.g. sauces)
|
||||||
|
/// </summary>
|
||||||
|
[UsedImplicitly]
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed partial class FoodHasReagent : FoodMetamorphRule
|
||||||
|
{
|
||||||
|
[DataField(required: true)]
|
||||||
|
public ProtoId<ReagentPrototype> Reagent = new();
|
||||||
|
|
||||||
|
[DataField(required: true)]
|
||||||
|
public MinMax Count;
|
||||||
|
|
||||||
|
[DataField]
|
||||||
|
public string Solution = "food";
|
||||||
|
|
||||||
|
public override bool Check(IPrototypeManager protoMan, EntityManager entMan, EntityUid food, List<FoodSequenceVisualLayer> ingredients)
|
||||||
|
{
|
||||||
|
if (!entMan.TryGetComponent<SolutionContainerManagerComponent>(food, out var solMan))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
var solutionMan = entMan.System<SharedSolutionContainerSystem>();
|
||||||
|
|
||||||
|
if (!solutionMan.TryGetSolution(food, Solution, out var foodSoln, out var foodSolution))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
foreach (var (id, quantity) in foodSoln.Value.Comp.Solution.Contents)
|
||||||
|
{
|
||||||
|
if (id.Prototype != Reagent.Id)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (quantity < Count.Min || quantity > Count.Max)
|
||||||
|
break;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A requirement that there be X ingredients in the sequence that have one or all of the specified tags.
|
||||||
|
/// </summary>
|
||||||
|
[UsedImplicitly]
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed partial class IngredientsWithTags : FoodMetamorphRule
|
||||||
|
{
|
||||||
|
[DataField(required: true)]
|
||||||
|
public List<ProtoId<TagPrototype>> Tags = new ();
|
||||||
|
|
||||||
|
[DataField(required: true)]
|
||||||
|
public MinMax Count = new();
|
||||||
|
|
||||||
|
[DataField]
|
||||||
|
public bool NeedAll = true;
|
||||||
|
|
||||||
|
public override bool Check(IPrototypeManager protoMan, EntityManager entMan, EntityUid food, List<FoodSequenceVisualLayer> ingredients)
|
||||||
|
{
|
||||||
|
var count = 0;
|
||||||
|
foreach (var ingredient in ingredients)
|
||||||
|
{
|
||||||
|
if (!protoMan.TryIndex(ingredient.Proto, out var protoIndexed))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var allowed = false;
|
||||||
|
if (NeedAll)
|
||||||
|
{
|
||||||
|
allowed = true;
|
||||||
|
foreach (var tag in Tags)
|
||||||
|
{
|
||||||
|
if (!protoIndexed.Tags.Contains(tag))
|
||||||
|
{
|
||||||
|
allowed = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
allowed = false;
|
||||||
|
foreach (var tag in Tags)
|
||||||
|
{
|
||||||
|
if (protoIndexed.Tags.Contains(tag))
|
||||||
|
{
|
||||||
|
allowed = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (allowed)
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return count >= Count.Min && count <= Count.Max;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
using Content.Shared.Tag;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
|
namespace Content.Shared.Nutrition.Prototypes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Unique data storage block for different FoodSequence layers
|
||||||
|
/// </summary>
|
||||||
|
[Prototype("foodSequenceElement")]
|
||||||
|
public sealed partial class FoodSequenceElementPrototype : IPrototype
|
||||||
|
{
|
||||||
|
[IdDataField] public string ID { get; private set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// sprite options. A random one will be selected and used to display the layer.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public List<SpriteSpecifier> Sprites { get; private set; } = new();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A localized name piece to build into the item name generator.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public LocId? Name { get; private set; }
|
||||||
|
|
||||||
|
/// <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>
|
||||||
|
[DataField]
|
||||||
|
public bool Final { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tag list of this layer. Used for recipes for food metamorphosis.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public List<ProtoId<TagPrototype>> Tags { get; set; } = new();
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
using Content.Shared.Nutrition.FoodMetamorphRules;
|
||||||
|
using Content.Shared.Tag;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
|
namespace Content.Shared.Nutrition.Prototypes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Stores a recipe so that FoodSequence assembled in the right sequence can turn into a special meal.
|
||||||
|
/// </summary>
|
||||||
|
[Prototype]
|
||||||
|
public sealed partial class MetamorphRecipePrototype : IPrototype
|
||||||
|
{
|
||||||
|
[IdDataField] public string ID { get; private set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The key of the FoodSequence being collected. For example “burger” “taco” etc.
|
||||||
|
/// </summary>
|
||||||
|
[DataField(required: true)]
|
||||||
|
public ProtoId<TagPrototype> Key = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The entity that will be created as a result of this recipe, and into which all the reagents will be transferred.
|
||||||
|
/// </summary>
|
||||||
|
[DataField(required: true)]
|
||||||
|
public EntProtoId Result = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A sequence of rules that must be followed for FoodSequence to metamorphose into a special food.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public List<FoodMetamorphRule> Rules = new();
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@ food-sequence-no-space = You can't put any more!
|
|||||||
|
|
||||||
food-sequence-content-chicken = chicken
|
food-sequence-content-chicken = chicken
|
||||||
food-sequence-content-duck = duck
|
food-sequence-content-duck = duck
|
||||||
food-sequence-content-crab = crabs
|
food-sequence-content-crab = crab
|
||||||
food-sequence-content-dragon = dragon
|
food-sequence-content-dragon = dragon
|
||||||
food-sequence-content-snake = snake
|
food-sequence-content-snake = snake
|
||||||
food-sequence-content-xeno = xeno
|
food-sequence-content-xeno = xeno
|
||||||
@@ -83,6 +83,7 @@ food-sequence-burger-content-raw-meat = raw
|
|||||||
food-sequence-burger-content-meat = meaty
|
food-sequence-burger-content-meat = meaty
|
||||||
food-sequence-burger-content-carp = carpo
|
food-sequence-burger-content-carp = carpo
|
||||||
food-sequence-burger-content-bear = bear
|
food-sequence-burger-content-bear = bear
|
||||||
|
food-sequence-burger-content-crab = crabs
|
||||||
food-sequence-burger-content-penguin = peng
|
food-sequence-burger-content-penguin = peng
|
||||||
food-sequence-burger-content-corgi = corgi
|
food-sequence-burger-content-corgi = corgi
|
||||||
food-sequence-burger-content-goliath = goli
|
food-sequence-burger-content-goliath = goli
|
||||||
|
|||||||
@@ -68,14 +68,9 @@
|
|||||||
flavors:
|
flavors:
|
||||||
- people
|
- people
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Species/Human/organs.rsi
|
|
||||||
state: brain
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Brain
|
||||||
name: food-sequence-content-brain
|
Taco: Brain
|
||||||
taco:
|
|
||||||
name: food-sequence-content-brain
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: OrganHumanEyes
|
id: OrganHumanEyes
|
||||||
@@ -96,15 +91,6 @@
|
|||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: tongue
|
state: tongue
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Species/Human/organs.rsi
|
|
||||||
state: tongue
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-tongue
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-tongue
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: OrganHumanAppendix
|
id: OrganHumanAppendix
|
||||||
@@ -125,15 +111,6 @@
|
|||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: ears
|
state: ears
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Species/Human/organs.rsi
|
|
||||||
state: ears
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-ears
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-ears
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: OrganHumanLungs
|
id: OrganHumanLungs
|
||||||
@@ -216,15 +193,6 @@
|
|||||||
groups:
|
groups:
|
||||||
- id: Food
|
- id: Food
|
||||||
- id: Drink
|
- id: Drink
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Species/Human/organs.rsi
|
|
||||||
state: stomach
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-stomach
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-stomach
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: OrganHumanLiver
|
id: OrganHumanLiver
|
||||||
@@ -240,15 +208,6 @@
|
|||||||
groups:
|
groups:
|
||||||
- id: Alcohol
|
- id: Alcohol
|
||||||
rateModifier: 0.1 # removes alcohol very slowly along with the stomach removing it as a drink
|
rateModifier: 0.1 # removes alcohol very slowly along with the stomach removing it as a drink
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Species/Human/organs.rsi
|
|
||||||
state: liver
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-liver
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-liver
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: OrganHumanKidneys
|
id: OrganHumanKidneys
|
||||||
|
|||||||
@@ -1724,20 +1724,10 @@
|
|||||||
sprite: Mobs/Effects/onfire.rsi
|
sprite: Mobs/Effects/onfire.rsi
|
||||||
normalState: Mouse_burning
|
normalState: Mouse_burning
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Animals/mouse.rsi
|
|
||||||
state: dead-0
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: RatTaco
|
||||||
name: food-sequence-burger-content-rat
|
Burger: RatBurger
|
||||||
taco:
|
Skewer: RatSkewer
|
||||||
name: food-sequence-content-rat
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-rat
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-rat
|
|
||||||
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: MobMouse
|
parent: MobMouse
|
||||||
@@ -1794,10 +1784,6 @@
|
|||||||
- type: Item
|
- type: Item
|
||||||
size: Tiny
|
size: Tiny
|
||||||
heldPrefix: 1
|
heldPrefix: 1
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Animals/mouse.rsi
|
|
||||||
state: dead-1
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: MobMouse
|
parent: MobMouse
|
||||||
@@ -1827,10 +1813,6 @@
|
|||||||
- type: Item
|
- type: Item
|
||||||
size: Tiny
|
size: Tiny
|
||||||
heldPrefix: 2
|
heldPrefix: 2
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Animals/mouse.rsi
|
|
||||||
state: dead-2
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: cancer mouse
|
name: cancer mouse
|
||||||
@@ -3257,15 +3239,6 @@
|
|||||||
- type: FireVisuals
|
- type: FireVisuals
|
||||||
sprite: Mobs/Effects/onfire.rsi
|
sprite: Mobs/Effects/onfire.rsi
|
||||||
normalState: Mouse_burning
|
normalState: Mouse_burning
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Mobs/Animals/hamster.rsi
|
|
||||||
state: dead-0
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-burger-content-hamster
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-hamster
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: pig
|
name: pig
|
||||||
|
|||||||
@@ -785,11 +785,6 @@
|
|||||||
tags:
|
tags:
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/Baked/cake.rsi
|
|
||||||
state: suppermatter-shard
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Suppermatter
|
||||||
name: food-sequence-burger-content-suppermatter
|
Burger: SuppermatterBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-suppermatter
|
|
||||||
|
|||||||
@@ -39,19 +39,20 @@
|
|||||||
- type: Sprite
|
- type: Sprite
|
||||||
drawdepth: Mobs
|
drawdepth: Mobs
|
||||||
noRot: true
|
noRot: true
|
||||||
sprite: Objects/Consumable/Food/burger.rsi
|
sprite: Objects/Consumable/Food/burger_sequence.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: bun_bottom
|
- state: bun_bottom
|
||||||
- map: ["foodSequenceLayers"]
|
- map: ["foodSequenceLayers"]
|
||||||
- type: FoodSequenceStartPoint
|
- type: FoodSequenceStartPoint
|
||||||
key: burger
|
key: Burger
|
||||||
maxLayers: 10
|
maxLayers: 10
|
||||||
startPosition: 0, 0
|
startPosition: 0, 0
|
||||||
offset: 0, 0.1
|
offset: 0, 0.07
|
||||||
minLayerOffset: -0.05, 0
|
minLayerOffset: -0.05, 0
|
||||||
maxLayerOffset: 0.05, 0
|
maxLayerOffset: 0.05, 0
|
||||||
nameGeneration: food-sequence-burger-gen
|
nameGeneration: food-sequence-burger-gen
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
|
- type: FoodMetamorphableByAdding
|
||||||
- type: SolutionContainerManager
|
- type: SolutionContainerManager
|
||||||
solutions:
|
solutions:
|
||||||
food:
|
food:
|
||||||
@@ -69,7 +70,7 @@
|
|||||||
components:
|
components:
|
||||||
- type: Food
|
- type: Food
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Consumable/Food/burger.rsi
|
sprite: Objects/Consumable/Food/burger_sequence.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: bun_top
|
- state: bun_top
|
||||||
- type: SolutionContainerManager
|
- type: SolutionContainerManager
|
||||||
@@ -80,12 +81,8 @@
|
|||||||
- ReagentId: Nutriment
|
- ReagentId: Nutriment
|
||||||
Quantity: 3.3 # 1/2 of a bun
|
Quantity: 3.3 # 1/2 of a bun
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/burger.rsi
|
|
||||||
state: bun_top
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: BunTopBurger
|
||||||
final: true
|
|
||||||
|
|
||||||
# Base
|
# Base
|
||||||
|
|
||||||
|
|||||||
@@ -642,14 +642,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/ingredients.rsi
|
|
||||||
state: cheesewedge
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: CheeseTaco
|
||||||
name: food-sequence-content-cheese
|
Burger: CheeseBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-cheese
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: chèvre log
|
name: chèvre log
|
||||||
@@ -700,15 +695,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/ingredients.rsi
|
|
||||||
state: chevredisk
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-chevre
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-chevre
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: tofu
|
name: tofu
|
||||||
@@ -757,15 +743,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/ingredients.rsi
|
|
||||||
state: tofu
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-tofu
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-tofu
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: burned mess
|
name: burned mess
|
||||||
@@ -822,15 +799,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Ingredient
|
- Ingredient
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/cocoa.rsi
|
|
||||||
state: produce-beans
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-cocoa
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-cocoa
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: raw croissant
|
name: raw croissant
|
||||||
|
|||||||
@@ -142,15 +142,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/laughin_pea.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-pea
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-pea
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: tower-cap log
|
name: tower-cap log
|
||||||
@@ -213,7 +204,7 @@
|
|||||||
- type: Produce
|
- type: Produce
|
||||||
seedId: nettle
|
seedId: nettle
|
||||||
- type: MeleeChemicalInjector
|
- type: MeleeChemicalInjector
|
||||||
transferAmount: 3 #To OD someone you would need 2 nettles and about 6-7 hits, the DOT is likely to crit them if they are running away with almost no health
|
transferAmount: 3 #TODO someone you would need 2 nettles and about 6-7 hits, the DOT is likely to crit them if they are running away with almost no health
|
||||||
solution: food
|
solution: food
|
||||||
pierceArmor: false
|
pierceArmor: false
|
||||||
- type: Extractable
|
- type: Extractable
|
||||||
@@ -288,14 +279,9 @@
|
|||||||
- Fruit
|
- Fruit
|
||||||
- Banana
|
- Banana
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Banana
|
||||||
name: food-sequence-content-banana
|
Taco: Banana
|
||||||
taco:
|
|
||||||
name: food-sequence-content-banana
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: mimana
|
name: mimana
|
||||||
@@ -334,14 +320,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/mimana.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Mimana
|
||||||
name: food-sequence-content-mimana
|
Taco: Mimana
|
||||||
taco:
|
|
||||||
name: food-sequence-content-mimana
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: banana peel
|
name: banana peel
|
||||||
@@ -481,14 +462,9 @@
|
|||||||
- ReagentId: Oculine
|
- ReagentId: Oculine
|
||||||
Quantity: 2
|
Quantity: 2
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/carrot.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: CarrotBurger
|
||||||
name: food-sequence-burger-content-carrot
|
Taco: Carrot
|
||||||
taco:
|
|
||||||
name: food-sequence-content-carrot
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: cabbage
|
name: cabbage
|
||||||
@@ -516,14 +492,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/cabbage.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: CabbageBurger
|
||||||
name: food-sequence-burger-content-cabbage
|
Taco: Cabbage
|
||||||
taco:
|
|
||||||
name: food-sequence-content-cabbage
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: garlic
|
name: garlic
|
||||||
@@ -553,14 +524,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/garlic.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: GarlicBurger
|
||||||
name: food-sequence-burger-content-garlic
|
Taco: Garlic
|
||||||
taco:
|
|
||||||
name: food-sequence-content-garlic
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: lemon
|
name: lemon
|
||||||
@@ -594,14 +560,9 @@
|
|||||||
- Lemon
|
- Lemon
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/lemon.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Lemon
|
||||||
name: food-sequence-content-lemon
|
Taco: Lemon
|
||||||
taco:
|
|
||||||
name: food-sequence-content-lemon
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: lemoon
|
name: lemoon
|
||||||
@@ -634,14 +595,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/lemoon.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Lemoon
|
||||||
name: food-sequence-content-lemoon
|
Taco: Lemoon
|
||||||
taco:
|
|
||||||
name: food-sequence-content-lemoon
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: lime
|
name: lime
|
||||||
@@ -666,14 +622,9 @@
|
|||||||
- Lime
|
- Lime
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/lime.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Lime
|
||||||
name: food-sequence-content-lime
|
Taco: Lime
|
||||||
taco:
|
|
||||||
name: food-sequence-content-lime
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: orange
|
name: orange
|
||||||
@@ -697,14 +648,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/orange.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Orange
|
||||||
name: food-sequence-content-orange
|
Taco: Orange
|
||||||
taco:
|
|
||||||
name: food-sequence-content-orange
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: pineapple
|
name: pineapple
|
||||||
@@ -774,14 +720,9 @@
|
|||||||
- Potato
|
- Potato
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/potato.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Potato
|
||||||
name: food-sequence-content-potato
|
Taco: Potato
|
||||||
taco:
|
|
||||||
name: food-sequence-content-potato
|
|
||||||
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -839,19 +780,10 @@
|
|||||||
- Fruit
|
- Fruit
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/tomato.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Skewer: TomatoSkewer
|
||||||
name: food-sequence-content-tomato
|
Burger: Tomato
|
||||||
taco:
|
Taco: Tomato
|
||||||
name: food-sequence-content-tomato
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-tomato
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-tomato
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: blue tomato
|
name: blue tomato
|
||||||
@@ -898,14 +830,9 @@
|
|||||||
- Fruit
|
- Fruit
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/blue_tomato.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: BlueTomato
|
||||||
name: food-sequence-content-tomato
|
Taco: BlueTomato
|
||||||
taco:
|
|
||||||
name: food-sequence-content-tomato
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: blood tomato
|
name: blood tomato
|
||||||
@@ -950,19 +877,10 @@
|
|||||||
- Fruit # Fuck you they're a fruit
|
- Fruit # Fuck you they're a fruit
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/blood_tomato.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Skewer: TomatoSkewer
|
||||||
name: food-sequence-content-tomato
|
Burger: BloodTomato
|
||||||
taco:
|
Taco: BloodTomato
|
||||||
name: food-sequence-content-tomato
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-tomato
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-tomato
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: eggplant
|
name: eggplant
|
||||||
@@ -1022,14 +940,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/apple.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Apple
|
||||||
name: food-sequence-content-apple
|
Taco: Apple
|
||||||
taco:
|
|
||||||
name: food-sequence-content-apple
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: golden apple
|
name: golden apple
|
||||||
@@ -1067,14 +980,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/golden_apple.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: GoldenApple
|
||||||
name: food-sequence-content-apple
|
Taco: GoldenApple
|
||||||
taco:
|
|
||||||
name: food-sequence-content-apple
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: cocoa pod
|
name: cocoa pod
|
||||||
@@ -1108,15 +1016,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/cocoa.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-cocoa
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-cocoa
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: ear of corn
|
name: ear of corn
|
||||||
@@ -1156,19 +1055,10 @@
|
|||||||
- ReagentId: Enzyme
|
- ReagentId: Enzyme
|
||||||
Quantity: 2
|
Quantity: 2
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/corn.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: Corn
|
||||||
name: food-sequence-content-corn
|
Taco: Corn
|
||||||
taco:
|
Skewer: CornSkewer
|
||||||
name: food-sequence-content-corn
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-corn
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-corn
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: corn cob
|
name: corn cob
|
||||||
@@ -1191,15 +1081,6 @@
|
|||||||
reagents:
|
reagents:
|
||||||
- ReagentId: Cornmeal
|
- ReagentId: Cornmeal
|
||||||
Quantity: 10
|
Quantity: 10
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/corn.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-corn
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-corn
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: onion
|
name: onion
|
||||||
@@ -1231,15 +1112,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/onion.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-burger-content-onion
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-onion
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: red onion
|
name: red onion
|
||||||
@@ -1271,15 +1143,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/onion_red.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-burger-content-onion
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-onion
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: chanterelle cluster
|
name: chanterelle cluster
|
||||||
@@ -1300,20 +1163,6 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/chanterelle.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-content-mushroom
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-mushroom
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-mushroom
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-mushroom
|
|
||||||
|
|
||||||
# Slices
|
# Slices
|
||||||
|
|
||||||
@@ -1358,14 +1207,9 @@
|
|||||||
- Fruit
|
- Fruit
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/pineapple.rsi
|
|
||||||
state: slice
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: PineappleSliceBurger
|
||||||
name: food-sequence-burger-content-pineapple
|
Taco: PineappleSlice
|
||||||
taco:
|
|
||||||
name: food-sequence-content-pineapple
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: onion slice
|
name: onion slice
|
||||||
@@ -1394,14 +1238,9 @@
|
|||||||
- Vegetable
|
- Vegetable
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/onion.rsi
|
|
||||||
state: slice
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: OnionSliceBurger
|
||||||
name: food-sequence-burger-content-onion
|
Taco: OnionSlice
|
||||||
taco:
|
|
||||||
name: food-sequence-content-onion
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: red onion slice
|
name: red onion slice
|
||||||
@@ -1430,14 +1269,9 @@
|
|||||||
- Vegetable
|
- Vegetable
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/onion_red.rsi
|
|
||||||
state: slice
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: OnionRedSliceBurger
|
||||||
name: food-sequence-burger-content-onion
|
Taco: OnionRedSlice
|
||||||
taco:
|
|
||||||
name: food-sequence-content-onion
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: chili pepper
|
name: chili pepper
|
||||||
@@ -1467,19 +1301,10 @@
|
|||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/chili.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: ChiliPepper
|
||||||
name: food-sequence-content-chili
|
Burger: ChiliPepper
|
||||||
taco:
|
Skewer: ChiliPepperSkewer
|
||||||
name: food-sequence-content-chili
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-chili
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-pepper
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: chilly pepper
|
name: chilly pepper
|
||||||
@@ -1507,19 +1332,10 @@
|
|||||||
- type: Produce
|
- type: Produce
|
||||||
seedId: chilly
|
seedId: chilly
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/chilly.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: ChillyPepper
|
||||||
name: food-sequence-content-chilly
|
Burger: ChillyPepper
|
||||||
taco:
|
Skewer: ChillyPepperSkewer
|
||||||
name: food-sequence-content-chilly
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-chilly
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-bluepepper
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: aloe
|
name: aloe
|
||||||
@@ -1549,14 +1365,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/aloe.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Aloe
|
||||||
name: food-sequence-content-aloe
|
Burger: Aloe
|
||||||
taco:
|
|
||||||
name: food-sequence-content-aloe
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: poppy
|
name: poppy
|
||||||
@@ -1590,14 +1401,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Flower # TODO add "RedFlower" or "Poppy" tag, when other color flowers will be
|
- Flower # TODO add "RedFlower" or "Poppy" tag, when other color flowers will be
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/poppy.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Poppy
|
||||||
name: food-sequence-content-poppy
|
Burger: Poppy
|
||||||
taco:
|
|
||||||
name: food-sequence-content-poppy
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: lily
|
name: lily
|
||||||
@@ -1627,14 +1433,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Flower
|
- Flower
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/lily.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Lily
|
||||||
name: food-sequence-content-lily
|
Burger: Lily
|
||||||
taco:
|
|
||||||
name: food-sequence-content-lily
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: lingzhi
|
name: lingzhi
|
||||||
@@ -1662,19 +1463,9 @@
|
|||||||
- type: Extractable
|
- type: Extractable
|
||||||
grindableSolutionName: food
|
grindableSolutionName: food
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/lingzhi.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Lingzhi
|
||||||
name: food-sequence-content-mushroom
|
Burger: Lingzhi
|
||||||
taco:
|
|
||||||
name: food-sequence-content-mushroom
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-mushroom
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-mushroom
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: ambrosia vulgaris
|
name: ambrosia vulgaris
|
||||||
@@ -1716,11 +1507,8 @@
|
|||||||
- Ambrosia
|
- Ambrosia
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: AmbrosiaVulgaris
|
||||||
name: food-sequence-burger-content-ambrosia
|
Burger: AmbrosiaVulgarisBurger
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/ambrosia_vulgaris.rsi
|
|
||||||
state: produce
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: ambrosia deus
|
name: ambrosia deus
|
||||||
@@ -1759,14 +1547,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Ambrosia
|
- Ambrosia
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/ambrosia_deus.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: AmbrosiaDeus
|
||||||
name: food-sequence-burger-content-ambrosia
|
Burger: AmbrosiaDeusBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-ambrosia
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: galaxythistle
|
name: galaxythistle
|
||||||
@@ -1795,14 +1578,9 @@
|
|||||||
- Galaxythistle
|
- Galaxythistle
|
||||||
- Fruit # Probably?
|
- Fruit # Probably?
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/galaxythistle.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Galaxythistle
|
||||||
name: food-sequence-burger-content-galaxy
|
Burger: GalaxythistleBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-galaxy
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: glasstle
|
name: glasstle
|
||||||
@@ -1868,14 +1646,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Galaxythistle
|
- Galaxythistle
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/glasstle.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Glasstle
|
||||||
name: food-sequence-burger-content-glasstle
|
Burger: GlasstleBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-glasstle
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: fly amanita
|
name: fly amanita
|
||||||
@@ -1903,19 +1676,9 @@
|
|||||||
grindableSolutionName: food
|
grindableSolutionName: food
|
||||||
- type: BadFood
|
- type: BadFood
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/fly_amanita.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: FlyAmanita
|
||||||
name: food-sequence-content-mushroom
|
Burger: FlyAmanita
|
||||||
taco:
|
|
||||||
name: food-sequence-content-mushroom
|
|
||||||
skewer:
|
|
||||||
name: food-sequence-content-mushroom
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Consumable/Food/skewer.rsi
|
|
||||||
state: skewer-mushroom
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: gatfruit
|
name: gatfruit
|
||||||
@@ -1946,14 +1709,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit # It's in the name
|
- Fruit # It's in the name
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/gatfruit.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Gatfruit
|
||||||
name: food-sequence-burger-content-gatfruit
|
Burger: GatfruitBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-gatfruit
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: capfruit
|
name: capfruit
|
||||||
@@ -1984,14 +1742,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/capfruit.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Capfruit
|
||||||
name: food-sequence-burger-content-capfruit
|
Burger: CapfruitBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-capfruit
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: capfruit
|
name: capfruit
|
||||||
@@ -2048,14 +1801,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/soybeans.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Soybeans
|
||||||
name: food-sequence-content-soy
|
Burger: SoybeansBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-soy
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: spaceman's trumpet
|
name: spaceman's trumpet
|
||||||
@@ -2085,14 +1833,9 @@
|
|||||||
- type: Instrument #hehe trumpet
|
- type: Instrument #hehe trumpet
|
||||||
program: 56
|
program: 56
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/spacemans_trumpet.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: SpacemansTrumpet
|
||||||
name: food-sequence-burger-content-spacemans-trumpet
|
Burger: SpacemansTrumpetBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-spacemans-trumpet
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: koibean
|
name: koibean
|
||||||
@@ -2122,14 +1865,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/koibean.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Koibean
|
||||||
name: food-sequence-burger-content-koibean
|
Burger: KoibeanBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-koibean
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: watermelon
|
name: watermelon
|
||||||
@@ -2227,14 +1965,10 @@
|
|||||||
- Fruit
|
- Fruit
|
||||||
- Slice
|
- Slice
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/watermelon.rsi
|
|
||||||
state: slice
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Burger: WatermelonSliceBurger
|
||||||
name: food-sequence-burger-content-watermelon
|
Taco: WatermelonSlice
|
||||||
taco:
|
Skewer: WatermelonSliceSkewer
|
||||||
name: food-sequence-content-watermelon
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: grapes
|
name: grapes
|
||||||
@@ -2298,14 +2032,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/berries.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Berries
|
||||||
name: food-sequence-burger-content-berries
|
Burger: BerriesBurger
|
||||||
taco:
|
|
||||||
name: food-sequence-content-berries
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: bungo fruit
|
name: bungo fruit
|
||||||
@@ -2341,14 +2070,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/bungo.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Bungo
|
||||||
name: food-sequence-content-bungo
|
Burger: Bungo
|
||||||
taco:
|
|
||||||
name: food-sequence-content-bungo
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: bungo pit
|
name: bungo pit
|
||||||
@@ -2404,14 +2128,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Vegetable
|
- Vegetable
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/pea.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Pea
|
||||||
name: food-sequence-content-pea
|
Burger: Pea
|
||||||
taco:
|
|
||||||
name: food-sequence-content-pea
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: pumpkin
|
name: pumpkin
|
||||||
@@ -2608,14 +2327,9 @@
|
|||||||
tags:
|
tags:
|
||||||
- Fruit
|
- Fruit
|
||||||
- type: FoodSequenceElement
|
- type: FoodSequenceElement
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/cherry.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
entries:
|
||||||
burger:
|
Taco: Cherry
|
||||||
name: food-sequence-content-cherry
|
Burger: Cherry
|
||||||
taco:
|
|
||||||
name: food-sequence-content-cherry
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: cherry pit
|
name: cherry pit
|
||||||
|
|||||||
@@ -13,11 +13,34 @@
|
|||||||
layers:
|
layers:
|
||||||
- state: skewer
|
- state: skewer
|
||||||
- map: ["foodSequenceLayers"]
|
- map: ["foodSequenceLayers"]
|
||||||
|
- type: LandAtCursor
|
||||||
|
- type: Fixtures
|
||||||
|
fixtures:
|
||||||
|
fix1:
|
||||||
|
shape: !type:PolygonShape
|
||||||
|
vertices:
|
||||||
|
- -0.40,-0.20
|
||||||
|
- -0.30,-0.30
|
||||||
|
- 0.50,0.10
|
||||||
|
- 0.40,0.20
|
||||||
|
density: 20
|
||||||
|
mask:
|
||||||
|
- ItemMask
|
||||||
|
restitution: 0.3
|
||||||
|
friction: 0.2
|
||||||
|
- type: DamageOtherOnHit
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Piercing: 6
|
||||||
|
- type: ThrowingAngle
|
||||||
|
angle: 245
|
||||||
|
- type: EmbeddableProjectile
|
||||||
|
offset: -0.15,0.0
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
wideAnimationRotation: -120
|
wideAnimationRotation: -120
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Piercing: 4
|
Piercing: 8
|
||||||
angle: 0
|
angle: 0
|
||||||
animation: WeaponArcThrust
|
animation: WeaponArcThrust
|
||||||
soundHit:
|
soundHit:
|
||||||
@@ -35,10 +58,11 @@
|
|||||||
canReact: false # Dont want cause reactions inside skewers after merging ingredients
|
canReact: false # Dont want cause reactions inside skewers after merging ingredients
|
||||||
maxVol: 0
|
maxVol: 0
|
||||||
- type: FoodSequenceStartPoint
|
- type: FoodSequenceStartPoint
|
||||||
key: skewer
|
key: Skewer
|
||||||
maxLayers: 4
|
maxLayers: 4
|
||||||
startPosition: -0.27, -0.19
|
startPosition: -0.27, -0.19
|
||||||
inverseLayers: true
|
inverseLayers: true
|
||||||
offset: 0.2, 0.1
|
offset: 0.2, 0.1
|
||||||
nameGeneration: food-sequence-skewer-gen
|
nameGeneration: food-sequence-skewer-gen
|
||||||
contentSeparator: ", "
|
contentSeparator: ", "
|
||||||
|
allowHorizontalFlip: false
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
- type: Food
|
- type: Food
|
||||||
transferAmount: 3
|
transferAmount: 3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Consumable/Food/taco.rsi
|
sprite: Objects/Consumable/Food/taco_sequence.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: tacoshell_back
|
- state: tacoshell_back
|
||||||
- map: ["foodSequenceLayers"]
|
- map: ["foodSequenceLayers"]
|
||||||
@@ -25,12 +25,161 @@
|
|||||||
- ReagentId: Nutriment
|
- ReagentId: Nutriment
|
||||||
Quantity: 6.66
|
Quantity: 6.66
|
||||||
- type: FoodSequenceStartPoint
|
- type: FoodSequenceStartPoint
|
||||||
key: taco
|
key: Taco
|
||||||
maxLayers: 3
|
maxLayers: 3
|
||||||
startPosition: -0.2, 0
|
startPosition: -0.15, 0
|
||||||
offset: 0.1, 0
|
offset: 0.15, 0
|
||||||
minLayerOffset: 0, 0
|
minLayerOffset: 0, 0
|
||||||
maxLayerOffset: 0, 0.05
|
maxLayerOffset: 0, 0.05
|
||||||
nameGeneration: food-sequence-taco-gen
|
nameGeneration: food-sequence-taco-gen
|
||||||
contentSeparator: ", "
|
contentSeparator: ", "
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
|
|
||||||
|
# Old tacos
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: FoodInjectableBase
|
||||||
|
id: FoodTacoBase
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: FlavorProfile
|
||||||
|
flavors:
|
||||||
|
- meaty
|
||||||
|
- cheesy
|
||||||
|
- type: Food
|
||||||
|
transferAmount: 3
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Consumable/Food/taco.rsi
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
solutions:
|
||||||
|
food:
|
||||||
|
maxVol: 15
|
||||||
|
reagents:
|
||||||
|
- ReagentId: Nutriment
|
||||||
|
Quantity: 6
|
||||||
|
- ReagentId: Vitamin
|
||||||
|
Quantity: 4
|
||||||
|
- type: Item
|
||||||
|
sprite: Objects/Consumable/Food/taco.rsi
|
||||||
|
storedRotation: -90
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- Meat
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: beef taco
|
||||||
|
parent: FoodTacoBase
|
||||||
|
id: FoodTacoBeef
|
||||||
|
description: A very basic and run of the mill beef taco, now with cheese!
|
||||||
|
components:
|
||||||
|
- type: Food
|
||||||
|
- type: Sprite
|
||||||
|
state: beeftaco
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: chicken taco
|
||||||
|
parent: FoodTacoBase
|
||||||
|
id: FoodTacoChicken
|
||||||
|
description: A very basic and run of the mill chicken taco, now with cheese!
|
||||||
|
components:
|
||||||
|
- type: Food
|
||||||
|
- type: Sprite
|
||||||
|
state: chickentaco
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: fish taco
|
||||||
|
parent: FoodTacoBase
|
||||||
|
id: FoodTacoFish
|
||||||
|
description: Sounds kinda gross, but it's actually not that bad.
|
||||||
|
components:
|
||||||
|
- type: FlavorProfile
|
||||||
|
flavors:
|
||||||
|
- onion
|
||||||
|
- fishy
|
||||||
|
- type: Food
|
||||||
|
- type: Sprite
|
||||||
|
state: fishtaco
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
solutions:
|
||||||
|
food:
|
||||||
|
maxVol: 20
|
||||||
|
reagents:
|
||||||
|
- ReagentId: Nutriment
|
||||||
|
Quantity: 10
|
||||||
|
- ReagentId: Vitamin
|
||||||
|
Quantity: 6
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: rat taco
|
||||||
|
parent: FoodTacoBase
|
||||||
|
id: FoodTacoRat
|
||||||
|
description: Yeah, that looks about right...
|
||||||
|
components:
|
||||||
|
- type: Food
|
||||||
|
- type: Sprite
|
||||||
|
state: rattaco
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
solutions:
|
||||||
|
food:
|
||||||
|
maxVol: 15
|
||||||
|
reagents:
|
||||||
|
- ReagentId: Nutriment
|
||||||
|
Quantity: 6
|
||||||
|
- ReagentId: Vitamin
|
||||||
|
Quantity: 4
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: beef taco supreme
|
||||||
|
parent: FoodTacoBase
|
||||||
|
id: FoodTacoBeefSupreme
|
||||||
|
description: It's like a regular beef taco, but surpeme!
|
||||||
|
components:
|
||||||
|
- type: Food
|
||||||
|
- type: Sprite
|
||||||
|
state: beeftacosupreme
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
solutions:
|
||||||
|
food:
|
||||||
|
maxVol: 26
|
||||||
|
reagents:
|
||||||
|
- ReagentId: Nutriment
|
||||||
|
Quantity: 14
|
||||||
|
- ReagentId: Vitamin
|
||||||
|
Quantity: 6
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: chicken taco supreme
|
||||||
|
parent: FoodTacoBase
|
||||||
|
id: FoodTacoChickenSupreme
|
||||||
|
description: It's like a regular chicken taco, but surpeme!
|
||||||
|
components:
|
||||||
|
- type: Food
|
||||||
|
- type: Sprite
|
||||||
|
state: chickentacosupreme
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
solutions:
|
||||||
|
food:
|
||||||
|
maxVol: 26
|
||||||
|
reagents:
|
||||||
|
- ReagentId: Nutriment
|
||||||
|
Quantity: 14
|
||||||
|
- ReagentId: Vitamin
|
||||||
|
Quantity: 6
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
name: soft taco
|
||||||
|
parent: FoodMealBase
|
||||||
|
id: FoodMealSoftTaco
|
||||||
|
description: Take a bite!
|
||||||
|
components:
|
||||||
|
- type: FlavorProfile
|
||||||
|
flavors:
|
||||||
|
- cheesy
|
||||||
|
- tomato
|
||||||
|
- meaty
|
||||||
|
- onion
|
||||||
|
- type: Sprite
|
||||||
|
state: softtaco
|
||||||
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- Meat
|
||||||
@@ -17,15 +17,6 @@
|
|||||||
reagents:
|
reagents:
|
||||||
- ReagentId: THC
|
- ReagentId: THC
|
||||||
Quantity: 15
|
Quantity: 15
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/cannabis.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-burger-content-cannabis
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-cannabis
|
|
||||||
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -106,15 +97,6 @@
|
|||||||
# Quantity: 1
|
# Quantity: 1
|
||||||
- ReagentId: Psicodine
|
- ReagentId: Psicodine
|
||||||
Quantity: 0.6
|
Quantity: 0.6
|
||||||
- type: FoodSequenceElement
|
|
||||||
sprite:
|
|
||||||
sprite: Objects/Specific/Hydroponics/rainbow_cannabis.rsi
|
|
||||||
state: produce
|
|
||||||
entries:
|
|
||||||
burger:
|
|
||||||
name: food-sequence-burger-content-rainbow-cannabis
|
|
||||||
taco:
|
|
||||||
name: food-sequence-content-rainbow-cannabis
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: dried rainbow cannabis leaves
|
name: dried rainbow cannabis leaves
|
||||||
|
|||||||
1104
Resources/Prototypes/Recipes/Cooking/food_sequence_element.yml
Normal file
@@ -75,7 +75,7 @@
|
|||||||
FoodTomato: 1
|
FoodTomato: 1
|
||||||
FoodOnionSlice: 2
|
FoodOnionSlice: 2
|
||||||
|
|
||||||
- type: microwaveMealRecipe
|
- type: microwaveMealRecipe #Added to metamorph recipes
|
||||||
id: RecipeBrainBurger
|
id: RecipeBrainBurger
|
||||||
name: brain burger recipe
|
name: brain burger recipe
|
||||||
result: FoodBurgerBrain
|
result: FoodBurgerBrain
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
FoodMeat: 1
|
FoodMeat: 1
|
||||||
ClothingHeadHatCatEars: 1
|
ClothingHeadHatCatEars: 1
|
||||||
|
|
||||||
- type: microwaveMealRecipe
|
- type: microwaveMealRecipe #Added to metamorph recipes
|
||||||
id: RecipeCheeseburger
|
id: RecipeCheeseburger
|
||||||
name: cheeseburger recipe
|
name: cheeseburger recipe
|
||||||
result: FoodBurgerCheese
|
result: FoodBurgerCheese
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
FoodMeat: 1
|
FoodMeat: 1
|
||||||
FoodCheeseSlice: 1
|
FoodCheeseSlice: 1
|
||||||
|
|
||||||
- type: microwaveMealRecipe
|
- type: microwaveMealRecipe #Added to metamorph recipes
|
||||||
id: RecipeChickenSandwich
|
id: RecipeChickenSandwich
|
||||||
name: chicken sandwich recipe
|
name: chicken sandwich recipe
|
||||||
result: FoodBurgerChicken
|
result: FoodBurgerChicken
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
FoodBreadBun: 1
|
FoodBreadBun: 1
|
||||||
FoodMeatCorgi: 1
|
FoodMeatCorgi: 1
|
||||||
|
|
||||||
- type: microwaveMealRecipe
|
- type: microwaveMealRecipe #Added to metamorph recipes
|
||||||
id: RecipeCrabBurger
|
id: RecipeCrabBurger
|
||||||
name: crab burger recipe
|
name: crab burger recipe
|
||||||
result: FoodBurgerCrab
|
result: FoodBurgerCrab
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
CrayonGreen: 1
|
CrayonGreen: 1
|
||||||
Flare: 1
|
Flare: 1
|
||||||
|
|
||||||
- type: microwaveMealRecipe
|
- type: microwaveMealRecipe #Added to metamorph recipes
|
||||||
id: RecipeDuckBurger
|
id: RecipeDuckBurger
|
||||||
name: duck sandwich recipe
|
name: duck sandwich recipe
|
||||||
result: FoodBurgerDuck
|
result: FoodBurgerDuck
|
||||||
@@ -1892,6 +1892,74 @@
|
|||||||
solids:
|
solids:
|
||||||
FoodDoughTortillaFlat: 1 # one third of a standard bread dough recipe
|
FoodDoughTortillaFlat: 1 # one third of a standard bread dough recipe
|
||||||
|
|
||||||
|
- type: microwaveMealRecipe
|
||||||
|
id: RecipeTacoBeef
|
||||||
|
name: beef taco recipe
|
||||||
|
result: FoodTacoBeef
|
||||||
|
time: 10
|
||||||
|
solids:
|
||||||
|
FoodTacoShell: 1
|
||||||
|
FoodMeatCutlet: 1
|
||||||
|
FoodCheeseSlice: 1
|
||||||
|
|
||||||
|
- type: microwaveMealRecipe
|
||||||
|
id: RecipeTacoChicken
|
||||||
|
name: chicken taco recipe
|
||||||
|
result: FoodTacoChicken
|
||||||
|
time: 10
|
||||||
|
solids:
|
||||||
|
FoodTacoShell: 1
|
||||||
|
FoodMeatChickenCutlet: 1
|
||||||
|
FoodCheeseSlice: 1
|
||||||
|
|
||||||
|
- type: microwaveMealRecipe
|
||||||
|
id: RecipeTacoFish
|
||||||
|
name: fish taco recipe
|
||||||
|
result: FoodTacoFish
|
||||||
|
time: 10
|
||||||
|
solids:
|
||||||
|
FoodTacoShell: 1
|
||||||
|
FoodMeatFish: 1
|
||||||
|
FoodOnionSlice: 2
|
||||||
|
FoodTomato: 1
|
||||||
|
FoodCabbage: 1
|
||||||
|
|
||||||
|
- type: microwaveMealRecipe
|
||||||
|
id: RecipeTacoRat
|
||||||
|
name: rat taco recipe
|
||||||
|
result: FoodTacoRat
|
||||||
|
time: 10
|
||||||
|
solids:
|
||||||
|
FoodTacoShell: 1
|
||||||
|
FoodCheeseSlice: 1
|
||||||
|
FoodMeatRat: 1
|
||||||
|
|
||||||
|
- type: microwaveMealRecipe
|
||||||
|
id: RecipeTacoBeefSupreme
|
||||||
|
name: beef taco supreme recipe
|
||||||
|
result: FoodTacoBeefSupreme
|
||||||
|
time: 10
|
||||||
|
solids:
|
||||||
|
FoodTacoShell: 1
|
||||||
|
FoodCheeseSlice: 1
|
||||||
|
FoodMeatCutlet: 1
|
||||||
|
FoodTomato: 1
|
||||||
|
FoodCabbage: 1
|
||||||
|
FoodOnionSlice: 2
|
||||||
|
|
||||||
|
- type: microwaveMealRecipe
|
||||||
|
id: RecipeTacoChickenSupreme
|
||||||
|
name: beef taco supreme recipe
|
||||||
|
result: FoodTacoChickenSupreme
|
||||||
|
time: 10
|
||||||
|
solids:
|
||||||
|
FoodTacoShell: 1
|
||||||
|
FoodCheeseSlice: 1
|
||||||
|
FoodMeatChickenCutlet: 1
|
||||||
|
FoodTomato: 1
|
||||||
|
FoodCabbage: 1
|
||||||
|
FoodOnionSlice: 2
|
||||||
|
|
||||||
- type: microwaveMealRecipe
|
- type: microwaveMealRecipe
|
||||||
id: RecipeCroissant
|
id: RecipeCroissant
|
||||||
name: croissant recipe
|
name: croissant recipe
|
||||||
|
|||||||
125
Resources/Prototypes/Recipes/Cooking/sequence_metamorph.yml
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
# rules for transferring recipes from microwaveMealRecipe
|
||||||
|
# 1) leave room for variation. If the original recipe calls for 2 pieces of meat, allow players to put in 2-3 pieces.
|
||||||
|
# 2) max SequenceLength must be 1 element greater than the minimum ingredient set requires. This will allow you to put 1 poison fly or 1 other ingredient in different recipes and the recipes will still be valid.
|
||||||
|
|
||||||
|
- type: metamorphRecipe
|
||||||
|
id: FoodBurgerCheese
|
||||||
|
key: Burger
|
||||||
|
result: FoodBurgerCheese
|
||||||
|
rules:
|
||||||
|
- !type:SequenceLength
|
||||||
|
range:
|
||||||
|
min: 3
|
||||||
|
max: 4
|
||||||
|
- !type:IngredientsWithTags # 1 meat cutlet
|
||||||
|
tags:
|
||||||
|
- Cooked
|
||||||
|
- Cutlet
|
||||||
|
- Meat
|
||||||
|
count:
|
||||||
|
min: 1
|
||||||
|
max: 2
|
||||||
|
- !type:IngredientsWithTags # 1 cheese
|
||||||
|
tags:
|
||||||
|
- Cheese
|
||||||
|
count:
|
||||||
|
min: 1
|
||||||
|
max: 2
|
||||||
|
- !type:LastElementHasTags # last bun
|
||||||
|
tags:
|
||||||
|
- Bun
|
||||||
|
|
||||||
|
- type: metamorphRecipe
|
||||||
|
id: FoodBurgerChicken
|
||||||
|
key: Burger
|
||||||
|
result: FoodBurgerChicken
|
||||||
|
rules:
|
||||||
|
- !type:SequenceLength
|
||||||
|
range:
|
||||||
|
min: 2
|
||||||
|
max: 3
|
||||||
|
- !type:IngredientsWithTags # 1 chicken meat
|
||||||
|
tags:
|
||||||
|
- Cooked
|
||||||
|
- Cutlet
|
||||||
|
- Meat
|
||||||
|
- Chicken
|
||||||
|
count:
|
||||||
|
min: 1
|
||||||
|
max: 2
|
||||||
|
- !type:FoodHasReagent # 5 +- 2 mayo
|
||||||
|
reagent: Mayo
|
||||||
|
count:
|
||||||
|
min: 3
|
||||||
|
max: 7
|
||||||
|
- !type:LastElementHasTags # last bun
|
||||||
|
tags:
|
||||||
|
- Bun
|
||||||
|
|
||||||
|
- type: metamorphRecipe
|
||||||
|
id: FoodBurgerCrab
|
||||||
|
key: Burger
|
||||||
|
result: FoodBurgerCrab
|
||||||
|
rules:
|
||||||
|
- !type:SequenceLength
|
||||||
|
range:
|
||||||
|
min: 3
|
||||||
|
max: 4
|
||||||
|
- !type:IngredientsWithTags # 2 crab meat
|
||||||
|
tags:
|
||||||
|
- Cooked
|
||||||
|
- Meat
|
||||||
|
- Crab
|
||||||
|
count:
|
||||||
|
min: 2
|
||||||
|
max: 3
|
||||||
|
- !type:LastElementHasTags # last bun
|
||||||
|
tags:
|
||||||
|
- Bun
|
||||||
|
|
||||||
|
- type: metamorphRecipe
|
||||||
|
id: FoodBurgerDuck
|
||||||
|
key: Burger
|
||||||
|
result: FoodBurgerDuck
|
||||||
|
rules:
|
||||||
|
- !type:SequenceLength
|
||||||
|
range:
|
||||||
|
min: 3
|
||||||
|
max: 4
|
||||||
|
- !type:IngredientsWithTags # 1 duck meat
|
||||||
|
tags:
|
||||||
|
- Cooked
|
||||||
|
- Cutlet
|
||||||
|
- Meat
|
||||||
|
- Duck
|
||||||
|
count:
|
||||||
|
min: 1
|
||||||
|
max: 2
|
||||||
|
- !type:IngredientsWithTags # 1 cheese
|
||||||
|
tags:
|
||||||
|
- Cheese
|
||||||
|
count:
|
||||||
|
min: 1
|
||||||
|
max: 2
|
||||||
|
- !type:LastElementHasTags # last bun
|
||||||
|
tags:
|
||||||
|
- Bun
|
||||||
|
|
||||||
|
- type: metamorphRecipe
|
||||||
|
id: FoodBurgerBrain
|
||||||
|
key: Burger
|
||||||
|
result: FoodBurgerBrain
|
||||||
|
rules:
|
||||||
|
- !type:SequenceLength
|
||||||
|
range:
|
||||||
|
min: 2
|
||||||
|
max: 3
|
||||||
|
- !type:IngredientsWithTags # 1 brain
|
||||||
|
tags:
|
||||||
|
- Brain
|
||||||
|
count:
|
||||||
|
min: 1
|
||||||
|
max: 2
|
||||||
|
- !type:LastElementHasTags # last bun
|
||||||
|
tags:
|
||||||
|
- Bun
|
||||||
@@ -222,6 +222,9 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
id: BoxHug
|
id: BoxHug
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: Brain
|
||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: BrassInstrument
|
id: BrassInstrument
|
||||||
|
|
||||||
@@ -243,12 +246,18 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
id: Bucket
|
id: Bucket
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: Burger
|
||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: BulletFoam
|
id: BulletFoam
|
||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: Burnt
|
id: Burnt
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: Bun
|
||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: BypassDropChecks
|
id: BypassDropChecks
|
||||||
|
|
||||||
@@ -367,6 +376,9 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
id: Chicken
|
id: Chicken
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: Cheese
|
||||||
|
|
||||||
# Allowed to control someone wearing a Chef's hat if inside their hat.
|
# Allowed to control someone wearing a Chef's hat if inside their hat.
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: ChefPilot
|
id: ChefPilot
|
||||||
@@ -443,6 +455,9 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
id: Cow
|
id: Cow
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: Crab
|
||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: Crayon
|
id: Crayon
|
||||||
|
|
||||||
@@ -1261,6 +1276,9 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
id: TabletopBoard
|
id: TabletopBoard
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: Taco
|
||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: TabletopPiece
|
id: TabletopPiece
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 461 B After Width: | Height: | Size: 471 B |
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"license": "CC-BY-SA-3.0",
|
"license": "CC-BY-SA-3.0",
|
||||||
"copyright": "Taken from tgstation and modified by Swept and potato1234x at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, ian.png created by EmoGarbage, mothroach.png created by TurboTracker",
|
"copyright": "Taken from tgstation and modified by Swept and potato1234x at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, ian.png created by EmoGarbage, mothroach.png created by TurboTracker, screwed by TheShuEd",
|
||||||
"size": {
|
"size": {
|
||||||
"x": 32,
|
"x": 32,
|
||||||
"y": 32
|
"y": 32
|
||||||
@@ -28,12 +28,6 @@
|
|||||||
{
|
{
|
||||||
"name": "bun"
|
"name": "bun"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "bun_top"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "bun_bottom"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "c"
|
"name": "c"
|
||||||
},
|
},
|
||||||
@@ -161,6 +155,9 @@
|
|||||||
]
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "screwed"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "spell"
|
"name": "spell"
|
||||||
},
|
},
|
||||||
|
|||||||
|
After Width: | Height: | Size: 895 B |
|
Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 319 B |
|
Before Width: | Height: | Size: 367 B After Width: | Height: | Size: 367 B |
|
After Width: | Height: | Size: 302 B |
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Created by TheShuEd. Bun taken from tgstation and modified by Swept and potato1234x at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, and edited by TheShuEd",
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "bun_top"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bun_bottom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cheese"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -42,6 +42,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "skewer-snake"
|
"name": "skewer-snake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "skewer-watermelon"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 331 B |
BIN
Resources/Textures/Objects/Consumable/Food/taco.rsi/beeftaco.png
Normal file
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 307 B |
|
After Width: | Height: | Size: 308 B |
|
After Width: | Height: | Size: 309 B |
BIN
Resources/Textures/Objects/Consumable/Food/taco.rsi/fishtaco.png
Normal file
|
After Width: | Height: | Size: 286 B |
@@ -1,17 +1,29 @@
|
|||||||
{
|
{
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"license": "CC-BY-SA-3.0",
|
"license": "CC-BY-SA-3.0",
|
||||||
"copyright": "Original sprite by Phunny, redrawn by TheShuEd",
|
"copyright": "Added by Phunny",
|
||||||
"size": {
|
"size": {
|
||||||
"x": 32,
|
"x": 32,
|
||||||
"y": 32
|
"y": 32
|
||||||
},
|
},
|
||||||
"states": [
|
"states": [
|
||||||
{
|
{
|
||||||
"name": "tacoshell_back"
|
"name": "beeftaco"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "tacoshell_forward"
|
"name": "beeftacosupreme"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "chickentaco"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "chickentacosupreme"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fishtaco"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "rattaco"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
BIN
Resources/Textures/Objects/Consumable/Food/taco.rsi/rattaco.png
Normal file
|
After Width: | Height: | Size: 329 B |
|
Before Width: | Height: | Size: 171 B |
|
Before Width: | Height: | Size: 294 B |
|
After Width: | Height: | Size: 267 B |
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Created by TheShuEd, rat Taken from https://github.com/tgstation/tgstation/commit/e15c63d100db65eaaa5231133b8a2662ff439131#diff-8dd94e19fdb2ff341b57e31bce101298 and edited by TheShuEd",
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "tacoshell_back"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tacoshell_forward"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cheese"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "rat"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 364 B |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 293 B |
|
Before Width: | Height: | Size: 426 B After Width: | Height: | Size: 381 B |