diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml index fb6998a909..049b95455b 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml @@ -1,20 +1,14 @@  - - - - + diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs index 5fbe8b477d..8adf468ace 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs @@ -3,7 +3,7 @@ * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT */ -using Content.Shared.Stacks; +using Content.Shared._CP14.Workbench; using Robust.Client.AutoGenerated; using Robust.Client.GameObjects; using Robust.Client.UserInterface; @@ -13,13 +13,14 @@ using Robust.Shared.Prototypes; namespace Content.Client._CP14.Workbench; [GenerateTypedNameReferences] -public sealed partial class CP14WorkbenchRecipeControl : Control +public sealed partial class CP14WorkbenchRequirementControl : Control { [Dependency] private readonly IEntityManager _entity = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; private readonly SpriteSystem _sprite; - public CP14WorkbenchRecipeControl() + public CP14WorkbenchRequirementControl() { RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); @@ -27,25 +28,22 @@ public sealed partial class CP14WorkbenchRecipeControl : Control _sprite = _entity.System(); } - public CP14WorkbenchRecipeControl(EntityPrototype prototype, int count) : this() + public CP14WorkbenchRequirementControl(CP14WorkbenchCraftRequirement requirement) : this() { - var entityName = prototype.Name; - Name.Text = count <= 1 ? entityName : $"{entityName} x{count}"; + Name.Text = requirement.GetRequirementTitle(_proto); - View.Visible = false; - EntityView.SetPrototype(prototype); - } + var texture = requirement.GetRequirementTexture(_proto); + if (texture is not null) + { + View.Visible = true; + View.Texture = _sprite.Frame0(texture); + } - public CP14WorkbenchRecipeControl(StackPrototype prototype, int count) : this() - { - var entityName = Loc.GetString(prototype.Name); - Name.Text = $"{entityName} x{count}"; - - var icon = prototype.Icon; - if (icon is null) - return; - - EntityView.Visible = false; - View.Texture = _sprite.Frame0(icon); + var entityView = requirement.GetRequirementEntityView(_proto); + if (entityView is not null) + { + EntityView.Visible = true; + EntityView.SetPrototype(entityView); + } } } diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml index 049b95455b..b8bc6fc966 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml @@ -1,14 +1,22 @@  - + + + + diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs index 1ebd02ebbb..ec35e29b35 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs @@ -14,7 +14,7 @@ using Robust.Shared.Prototypes; namespace Content.Client._CP14.Workbench; [GenerateTypedNameReferences] -public sealed partial class CP14WorkbenchRequirementControl : Control +public sealed partial class CP14WorkbenchRecipeControl : Control { [Dependency] private readonly IEntityManager _entity = default!; [Dependency] private readonly IPrototypeManager _prototype = default!; @@ -26,7 +26,7 @@ public sealed partial class CP14WorkbenchRequirementControl : Control private readonly CP14WorkbenchRecipePrototype _recipePrototype; private readonly bool _craftable; - public CP14WorkbenchRequirementControl(CP14WorkbenchUiRecipesEntry entry) + public CP14WorkbenchRecipeControl(CP14WorkbenchUiRecipesEntry entry) { RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs b/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs index 44c1ba53bb..f65f793310 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs @@ -74,7 +74,7 @@ public sealed partial class CP14WorkbenchWindow : DefaultWindow if (entry.Craftable) { - var control = new CP14WorkbenchRequirementControl(entry); + var control = new CP14WorkbenchRecipeControl(entry); control.OnSelect += RecipeSelect; CraftsContainer.AddChild(control); } @@ -84,7 +84,7 @@ public sealed partial class CP14WorkbenchWindow : DefaultWindow foreach (var entry in uncraftableList) { - var control = new CP14WorkbenchRequirementControl(entry); + var control = new CP14WorkbenchRecipeControl(entry); control.OnSelect += RecipeSelect; CraftsContainer.AddChild(control); } @@ -119,14 +119,10 @@ public sealed partial class CP14WorkbenchWindow : DefaultWindow ItemDescription.Text = result.Description; ItemRequirements.RemoveAllChildren(); - foreach (var (entProtoId, count) in recipe.Entities) - { - ItemRequirements.AddChild(new CP14WorkbenchRecipeControl(_prototype.Index(entProtoId), count)); - } - foreach (var (stackProtoId, count) in recipe.Stacks) + foreach (var requirement in recipe.Requirements) { - ItemRequirements.AddChild(new CP14WorkbenchRecipeControl(_prototype.Index(stackProtoId), count)); + ItemRequirements.AddChild(new CP14WorkbenchRequirementControl(requirement)); } CraftButton.Disabled = !entry.Craftable; diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs index d4c9bac480..4609cb6780 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs @@ -30,11 +30,11 @@ public sealed partial class CP14WorkbenchSystem if (!_proto.TryIndex(recipeId, out var indexedRecipe)) continue; - if (indexedRecipe.KnowledgeRequired is not null) - { - if (!_knowledge.HasKnowledge(user, indexedRecipe.KnowledgeRequired.Value)) - continue; - } + //if (indexedRecipe.KnowledgeRequired is not null) + //{ + // if (!_knowledge.HasKnowledge(user, indexedRecipe.KnowledgeRequired.Value)) + // continue; + //} var entry = new CP14WorkbenchUiRecipesEntry(recipeId, CanCraftRecipe(indexedRecipe, placedEntities, user)); diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs index e6ec9ba3f2..450728ce64 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs @@ -87,99 +87,16 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem return; } - if (recipe.KnowledgeRequired is not null) - _knowledge.UseKnowledge(args.User, recipe.KnowledgeRequired.Value); - var resultEntities = new HashSet(); for (int i = 0; i < recipe.ResultCount; i++) { var resultEntity = Spawn(recipe.Result); - resultEntities.Add(resultEntity); - - if (recipe.TryMergeSolutions) - { - _solutionContainer.TryGetSolution(resultEntity, recipe.Solution, out var resultSolution, out _); - - if (resultSolution is not null) - { - resultSolution.Value.Comp.Solution.MaxVolume = 0; - _solutionContainer.RemoveAllSolution(resultSolution - .Value); //If we combine ingredient solutions, we do not use the default solution prescribed in the entity. - } - } } - foreach (var requiredIngredient in recipe.Entities) + foreach (var req in recipe.Requirements) { - var requiredCount = requiredIngredient.Value; - foreach (var placedEntity in placedEntities) - { - if (!TryComp(placedEntity, out var metaData)) - continue; - - if (metaData.EntityPrototype is null) - continue; - - var placedProto = metaData.EntityPrototype.ID; - if (placedProto == requiredIngredient.Key && requiredCount > 0) - { - // Trying merge solutions - if (recipe.TryMergeSolutions) - { - _solutionContainer.TryGetSolution(placedEntity, - recipe.Solution, - out var ingredientSoln, - out var ingredientSolution); - - if (ingredientSoln is not null && - ingredientSolution is not null) - { - var splitted = _solutionContainer.SplitSolution(ingredientSoln.Value, - ingredientSolution.Volume / recipe.ResultCount); - - foreach (var resultEntity in resultEntities) - { - _solutionContainer.TryGetSolution(resultEntity, - recipe.Solution, - out var resultSolution, - out _); - if (resultSolution is not null) - { - resultSolution.Value.Comp.Solution.MaxVolume += - ingredientSoln.Value.Comp.Solution.MaxVolume / recipe.ResultCount; - _solutionContainer.TryAddSolution(resultSolution.Value, splitted); - } - } - } - } - - requiredCount--; - Del(placedEntity); - } - } - } - - foreach (var requiredStack in recipe.Stacks) - { - var requiredCount = requiredStack.Value; - foreach (var placedEntity in placedEntities) - { - if (!_stackQuery.TryGetComponent(placedEntity, out var stack)) - continue; - - if (stack.StackTypeId != requiredStack.Key) - continue; - - var count = (int)MathF.Min(requiredCount, stack.Count); - - if (stack.Count - count <= 0) - Del(placedEntity); - else - _stack.SetCount(placedEntity, stack.Count - count, stack); - - requiredCount -= count; - } + req.PostCraft(EntityManager, placedEntities, args.User); } //We teleport result to workbench AFTER craft. @@ -219,56 +136,12 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem private bool CanCraftRecipe(CP14WorkbenchRecipePrototype recipe, HashSet entities, EntityUid user) { - //Knowledge check - if (recipe.KnowledgeRequired is not null && !_knowledge.HasKnowledge(user, recipe.KnowledgeRequired.Value)) - return false; - - //Ingredients check - var indexedIngredients = IndexIngredients(entities); - foreach (var requiredIngredient in recipe.Entities) + foreach (var req in recipe.Requirements) { - if (!indexedIngredients.TryGetValue(requiredIngredient.Key, out var availableQuantity) || - availableQuantity < requiredIngredient.Value) - return false; - } - - foreach (var (key, value) in recipe.Stacks) - { - var count = 0; - foreach (var ent in entities) - { - if (_stackQuery.TryGetComponent(ent, out var stack)) - { - if (stack.StackTypeId != key) - continue; - - count += stack.Count; - } - } - - if (count < value) + if (!req.CheckRequirement(EntityManager, _proto, entities, user)) return false; } return true; } - - private Dictionary IndexIngredients(HashSet ingredients) - { - var indexedIngredients = new Dictionary(); - - foreach (var ingredient in ingredients) - { - var protoId = _metaQuery.GetComponent(ingredient).EntityPrototype?.ID; - if (protoId == null) - continue; - - if (indexedIngredients.ContainsKey(protoId)) - indexedIngredients[protoId]++; - else - indexedIngredients[protoId] = 1; - } - - return indexedIngredients; - } } diff --git a/Content.Shared/Content.Shared.csproj b/Content.Shared/Content.Shared.csproj index 4cca399b28..078fd170d6 100644 --- a/Content.Shared/Content.Shared.csproj +++ b/Content.Shared/Content.Shared.csproj @@ -16,6 +16,7 @@ false + false diff --git a/Content.Shared/_CP14/Material/CP14MaterialComponent.cs b/Content.Shared/_CP14/Material/CP14MaterialComponent.cs new file mode 100644 index 0000000000..19aa955754 --- /dev/null +++ b/Content.Shared/_CP14/Material/CP14MaterialComponent.cs @@ -0,0 +1,11 @@ +using Content.Shared.Materials; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Material; + +[RegisterComponent] +public sealed partial class CP14MaterialComponent : Component +{ + [DataField(required: true)] + public Dictionary, int> Materials = new(); +} diff --git a/Content.Shared/_CP14/Material/CP14MaterialSystem.cs b/Content.Shared/_CP14/Material/CP14MaterialSystem.cs new file mode 100644 index 0000000000..f8bba75221 --- /dev/null +++ b/Content.Shared/_CP14/Material/CP14MaterialSystem.cs @@ -0,0 +1,39 @@ +using System.Text; +using Content.Shared.Examine; +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Material; + +public sealed partial class CP14MaterialSystem : EntitySystem +{ + [Dependency] private readonly IPrototypeManager _proto = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMaterialExamined); + } + + private void OnMaterialExamined(Entity ent, ref ExaminedEvent args) + { + TryComp(ent, out var stack); + + var sb = new StringBuilder(); + + sb.Append($"{Loc.GetString("cp14-material-examine")}\n"); + foreach (var material in ent.Comp.Materials) + { + if (!_proto.TryIndex(material.Key, out var indexedMaterial)) + continue; + + var count = material.Value; + if (stack is not null) + count *= stack.Count; + + sb.Append($"[color={indexedMaterial.Color.ToHex()}]{Loc.GetString(indexedMaterial.Name)}[/color] ({count})\n"); + } + args.PushMarkup(sb.ToString()); + } + +} diff --git a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs index 2f1c88b1b6..9e1c9009c9 100644 --- a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs +++ b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs @@ -3,8 +3,6 @@ * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT */ -using Content.Shared._CP14.Knowledge.Prototypes; -using Content.Shared.Stacks; using Content.Shared.Tag; using Robust.Shared.Audio; using Robust.Shared.Prototypes; @@ -26,27 +24,12 @@ public sealed class CP14WorkbenchRecipePrototype : IPrototype [DataField] public SoundSpecifier? OverrideCraftSound; - [DataField] - public Dictionary Entities = new(); - - [DataField] - public Dictionary, int> Stacks = new(); + [DataField(required: true)] + public List Requirements = new(); [DataField(required: true)] public EntProtoId Result; [DataField] public int ResultCount = 1; - - [DataField] - public bool TryMergeSolutions = false; - - [DataField] - public string Solution = "food"; - - /// - /// If the player does not have this knowledge, the recipe will not be displayed in the workbench. - /// - [DataField] - public ProtoId? KnowledgeRequired; } diff --git a/Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs b/Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs new file mode 100644 index 0000000000..02d71cbd8b --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs @@ -0,0 +1,48 @@ +using Content.Shared._CP14.Knowledge; +using Content.Shared._CP14.Knowledge.Prototypes; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class KnowledgeRequired : CP14WorkbenchCraftRequirement +{ + /// + /// If the player does not have this knowledge, the recipe will not be displayed in the workbench. + /// + [DataField(required: true)] + public ProtoId Knowledge; + + public override bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user) + { + var knowledgeSystem = entManager.System(); + + return knowledgeSystem.HasKnowledge(user, Knowledge); + } + + public override void PostCraft(EntityManager entManager, HashSet placedEntities, EntityUid user) + { + var knowledgeSystem = entManager.System(); + knowledgeSystem.UseKnowledge(user, Knowledge); + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + return !protoManager.TryIndex(Knowledge, out var indexedKnowledge) + ? "Error knowledge" + : $"{Loc.GetString("cp14-knowledge")}: {Loc.GetString(indexedKnowledge.Name)}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + return null; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return new SpriteSpecifier.Texture(new("/Textures/Interface/students-cap.svg.192dpi.png")); + } +} diff --git a/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs b/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs new file mode 100644 index 0000000000..2b46e412ea --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs @@ -0,0 +1,112 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using Content.Shared._CP14.Material; +using Content.Shared.Materials; +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class MaterialResource : CP14WorkbenchCraftRequirement +{ + [DataField(required: true)] + public ProtoId Material; + + [DataField] + public int Count = 1; + + public override bool CheckRequirement(EntityManager entManager, IPrototypeManager protoManager, HashSet placedEntities, EntityUid user) + { + var count = 0; + foreach (var ent in placedEntities) + { + if (!entManager.TryGetComponent(ent, out var material)) + continue; + + entManager.TryGetComponent(ent, out var stack); + + foreach (var (key, value) in material.Materials) + { + if (key != Material) + continue; + + if (stack is null) + { + count += value; + } + else + { + count += value * stack.Count; + } + } + } + + if (count < Count) + return false; + + return true; + } + + public override void PostCraft(EntityManager entManager, HashSet placedEntities, EntityUid user) + { + var stackSystem = entManager.System(); + + var requiredCount = Count; + foreach (var placedEntity in placedEntities) + { + if (!entManager.TryGetComponent(placedEntity, out var material)) + continue; + + entManager.TryGetComponent(placedEntity, out var stack); + + foreach (var mat in material.Materials) + { + if (mat.Key != Material) + continue; + + if (stack is null) + { + var value = (int)MathF.Min(requiredCount, mat.Value); + requiredCount -= value; + entManager.DeleteEntity(placedEntity); + continue; + } + else + { + var materialValue = mat.Value * stack.Count; + var countToRemove = (int)MathF.Min(requiredCount, materialValue); + var newStackCount = (int)MathF.Ceiling((materialValue - countToRemove) / (float)mat.Value); + + if (newStackCount <= 0) + entManager.DeleteEntity(placedEntity); + else + stackSystem.SetCount(placedEntity, newStackCount, stack); + + requiredCount -= countToRemove; + } + } + } + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(Material, out var indexedMaterial)) + return "Error material"; + + return $"{Loc.GetString(indexedMaterial.Name)} x{Count}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + return null; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return !protoManager.TryIndex(Material, out var indexedMaterial) ? null : indexedMaterial.Icon; + } +} diff --git a/Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs b/Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs new file mode 100644 index 0000000000..912547812d --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs @@ -0,0 +1,94 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class ProtoIdResource : CP14WorkbenchCraftRequirement +{ + [DataField(required: true)] + public EntProtoId ProtoId; + + [DataField] + public int Count = 1; + + public override bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user) + { + var indexedIngredients = IndexIngredients(entManager, placedEntities); + + return indexedIngredients.TryGetValue(ProtoId, out var availableQuantity) && availableQuantity >= Count; + } + + public override void PostCraft(EntityManager entManager, + HashSet placedEntities, + EntityUid user) + { + var requiredCount = Count; + + foreach (var placedEntity in placedEntities) + { + if (!entManager.TryGetComponent(placedEntity, out var metaData)) + continue; + + if (metaData.EntityPrototype is null) + continue; + + var placedProto = metaData.EntityPrototype.ID; + if (placedProto != ProtoId || requiredCount <= 0) + continue; + + requiredCount--; + entManager.DeleteEntity(placedEntity); + } + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(ProtoId, out var indexedProto)) + return "Error entity"; + + return $"{indexedProto.Name} x{Count}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(ProtoId, out var indexedProto)) + return null; + + return indexedProto; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return null; + } + + private Dictionary IndexIngredients(EntityManager entManager, HashSet ingredients) + { + var indexedIngredients = new Dictionary(); + + foreach (var ingredient in ingredients) + { + if (!entManager.TryGetComponent(ingredient, out var metaData)) + continue; + + var protoId = metaData.EntityPrototype?.ID; + if (protoId == null) + continue; + + if (indexedIngredients.ContainsKey(protoId)) + indexedIngredients[protoId]++; + else + indexedIngredients[protoId] = 1; + } + + return indexedIngredients; + } +} diff --git a/Content.Shared/_CP14/Workbench/Requirements/StackResource.cs b/Content.Shared/_CP14/Workbench/Requirements/StackResource.cs new file mode 100644 index 0000000000..814c381c0a --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/StackResource.cs @@ -0,0 +1,86 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class StackResource : CP14WorkbenchCraftRequirement +{ + [DataField(required: true)] + public ProtoId Stack; + + [DataField] + public int Count = 1; + + public override bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user) + { + var count = 0; + foreach (var ent in placedEntities) + { + if (!entManager.TryGetComponent(ent, out var stack)) + continue; + + if (stack.StackTypeId != Stack) + continue; + + count += stack.Count; + } + + if (count < Count) + return false; + + return true; + } + + public override void PostCraft(EntityManager entManager, + HashSet placedEntities, + EntityUid user) + { + var stackSystem = entManager.System(); + + var requiredCount = Count; + foreach (var placedEntity in placedEntities) + { + if (!entManager.TryGetComponent(placedEntity, out var stack)) + continue; + + if (stack.StackTypeId != Stack) + continue; + + var count = (int)MathF.Min(requiredCount, stack.Count); + + if (stack.Count - count <= 0) + entManager.DeleteEntity(placedEntity); + else + stackSystem.SetCount(placedEntity, stack.Count - count, stack); + + requiredCount -= count; + } + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(Stack, out var indexedStack)) + return "Error stack"; + + return $"{Loc.GetString(indexedStack.Name)} x{Count}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + return null; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return !protoManager.TryIndex(Stack, out var indexedStack) ? null : indexedStack.Icon; + } +} diff --git a/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs b/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs new file mode 100644 index 0000000000..f9a9cba01a --- /dev/null +++ b/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs @@ -0,0 +1,46 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using JetBrains.Annotations; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench; + +[ImplicitDataDefinitionForInheritors] +[MeansImplicitUse] +public abstract partial class CP14WorkbenchCraftRequirement +{ + /// + /// Here a check is made that the recipe as a whole can be fulfilled at the current moment. Do not add anything that affects gameplay here, and only perform checks here. + /// + /// + public abstract bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user); + + /// + /// An event that is triggered after crafting. This is the place to put important things like removing items, spending stacks or other things. + /// + public abstract void PostCraft(EntityManager entManager, + HashSet placedEntities, + EntityUid user); + + /// + /// This text will be displayed in the description of the craft recipe. Write something like ‘Wooden planks: х10’ here + /// + public abstract string GetRequirementTitle(IPrototypeManager protoManager); + + /// + /// You can specify an icon generated from an entity. It will support layering, colour changes and other layer options. Return null to disable. + /// + public abstract EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager); + + /// + /// You can specify the texture directly. Return null to disable. + /// + public abstract SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager); +} diff --git a/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl b/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl index 74396f70d2..e5db00f043 100644 --- a/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl +++ b/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl @@ -1 +1,2 @@ -cp14-knowledge-info-title = Character knowledge \ No newline at end of file +cp14-knowledge-info-title = Character knowledge +cp14-knowledge = Knowledge \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/materials/materials.ftl b/Resources/Locale/en-US/_CP14/materials/materials.ftl index bdc4a69060..a50d8d7177 100644 --- a/Resources/Locale/en-US/_CP14/materials/materials.ftl +++ b/Resources/Locale/en-US/_CP14/materials/materials.ftl @@ -1,3 +1,5 @@ +cp14-material-examine = Consists of materials: + cp14-material-wooden-planks = wooden planks cp14-material-dirt-block = dirt cp14-material-stone-block = stone diff --git a/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl b/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl index 7b4d3ffbf1..3e47e30f2d 100644 --- a/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl +++ b/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl @@ -1 +1,2 @@ -cp14-knowledge-info-title = Знания персонажа \ No newline at end of file +cp14-knowledge-info-title = Знания персонажа +cp14-knowledge = Знания \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/materials/materials.ftl b/Resources/Locale/ru-RU/_CP14/materials/materials.ftl index 29c63edad8..8531c12330 100644 --- a/Resources/Locale/ru-RU/_CP14/materials/materials.ftl +++ b/Resources/Locale/ru-RU/_CP14/materials/materials.ftl @@ -1,3 +1,5 @@ +cp14-material-examine = Состоит из материалов: + cp14-material-wooden-planks = деревянные доски cp14-material-dirt-block = земля cp14-material-stone-block = камень diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml index e5db1f2943..722c8c0c83 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml @@ -39,8 +39,8 @@ - id: CP14SpellScrollPlantGrowth - id: CP14EnergyCrystalSmallEmpty - id: CP14BaseSharpeningStone - - id: CP14GlassShard - - id: CP14Paper + - id: CP14ScrapCopper + - id: CP14ScrapIron # Rare - !type:GroupSelector weight: 25 @@ -54,10 +54,6 @@ - id: CP14VialSmallBlueAmanita - id: CP14VialTinyChromiumSlime - id: CP14VialTinyLumiMushroom - - !type:GroupSelector - children: - - id: CP14BookKnowledgeClothingSewing - - id: CP14BookKnowledgeWallpaperCraft - id: CP14BaseLockpick - id: CP14EnergyCrystalMediumEmpty - id: CP14DemiplaneKeyT1 @@ -96,20 +92,17 @@ # T1 loot chance - !type:NestedSelector tableId: CP14TableDemiplaneLootT1 - weight: 0.25 + weight: 2 #Temp (small amount T2 loot) - !type:GroupSelector children: - id: CP14SpellScrollShadowStep - id: CP14SpellScrollFireball - id: CP14SpellScrollBeerCreation weight: 0.2 - - !type:GroupSelector - children: - - id: CP14BookKnowledgeAdvancedClothingSewing - - id: CP14BookKnowledgeMetallMelting - - id: CP14BookKnowledgeMetallForging - - id: CP14BookKnowledgeGlasswork - id: CP14EnergyCrystalMediumEmpty + - id: CP14ScrapGold + - id: CP14ScrapMithril + weight: 0.5 # Rare - !type:GroupSelector weight: 25 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml index edcc9a1d46..a88bee5596 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml @@ -23,6 +23,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Copper: 10 - type: entity id: CP14CopperBar5 @@ -67,6 +70,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Iron: 10 - type: entity id: CP14IronBar5 @@ -110,6 +116,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Gold: 10 - type: entity id: CP14GoldBar5 @@ -193,6 +202,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Mithril: 10 - type: entity id: CP14MithrilBar5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml index 7bc1a15854..5f2f1dd631 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml @@ -21,7 +21,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Copper: 2 - type: entity id: CP14OreCopper5 @@ -64,7 +66,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Iron: 2 - type: entity id: CP14OreIron5 @@ -107,7 +111,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Gold: 2 - type: entity id: CP14OreGold5 @@ -150,7 +156,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Mithril: 2 - type: entity id: CP14OreMithril5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml index d5427527e8..52807bc44c 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml @@ -24,6 +24,9 @@ layers: - state: scrap map: ["random"] + - type: CP14Material + materials: + CP14Copper: 5 - type: entity id: CP14ScrapIron @@ -36,6 +39,9 @@ layers: - state: scrap map: ["random"] + - type: CP14Material + materials: + CP14Iron: 5 - type: entity id: CP14ScrapGold @@ -48,6 +54,9 @@ layers: - state: scrap map: ["random"] + - type: CP14Material + materials: + CP14Gold: 5 - type: entity id: CP14ScrapMithril @@ -59,4 +68,7 @@ sprite: _CP14/Objects/Materials/mithril_scrap.rsi layers: - state: scrap - map: ["random"] \ No newline at end of file + map: ["random"] + - type: CP14Material + materials: + CP14Mithril: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml index 5ac96e732f..b8b164d161 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronAxe + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeAxeBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldAxe + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeAxeBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperAxe + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeAxeBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilAxe + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml index 218c9922b2..d20a10d0f0 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronDagger + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeDaggerBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldDagger + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeDaggerBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperDagger + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeDaggerBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilDagger + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml index d834a5d18c..c604260083 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronHammer + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeHammerBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldHammer + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeHammerBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperHammer + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeHammerBase @@ -64,4 +73,7 @@ color: "#45d2a4" - type: CP14ModularCraftPart possibleParts: - - BladeMithrilHammer \ No newline at end of file + - BladeMithrilHammer + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml index 866b8b5e4e..a7891a8def 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronMace + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeMaceBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldMace + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeMaceBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperMace + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeMaceBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilMace + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml index 4be5fcb4f0..f656250f00 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronPickaxe + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladePickaxeBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldPickaxe + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladePickaxeBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperPickaxe + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladePickaxeBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilPickaxe + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml index 5b45ab230a..94ac8f9e35 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronRapier + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeRapierBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldRapier + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeRapierBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperRapier + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeRapierBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilRapier + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml index 482b35c871..8fef7b39e7 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronShovel + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeShovelBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldShovel + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeShovelBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperShovel + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeShovelBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilShovel + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml index 9f900e0e79..7cbee00c5a 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSickle + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeSickleBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSickle + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeSickleBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSickle + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeSickleBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSickle + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml index 1e75195fa4..0c10b8f474 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml @@ -24,6 +24,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSpear + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeSpearBase @@ -39,6 +42,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSpear + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeSpearBase @@ -54,6 +60,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSpear + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeSpearBase @@ -68,4 +77,7 @@ color: "#45d2a4" - type: CP14ModularCraftPart possibleParts: - - BladeMithrilSpear \ No newline at end of file + - BladeMithrilSpear + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml index a3b7f0a351..3fd47e7a3c 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml @@ -22,6 +22,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSword + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeSwordBase @@ -36,6 +39,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSword + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeSwordBase @@ -50,6 +56,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSword + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeSwordBase @@ -64,6 +73,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSword + - type: CP14Material + materials: + CP14Mithril: 10 - type: entity parent: CP14ModularBladeSwordBase diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml index a91fd10621..0d27805f3f 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml @@ -24,6 +24,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpIron + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularGardeBase @@ -39,6 +42,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpGold + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularGardeBase @@ -54,6 +60,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpCopper + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularGardeBase @@ -69,3 +78,6 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpMithril + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml index d0dc9e68c0..caa9dccee3 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml @@ -11,6 +11,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyIron + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularGardeBase @@ -26,6 +29,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyGold + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularGardeBase @@ -41,6 +47,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyCopper + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularGardeBase @@ -55,4 +64,7 @@ color: "#45d2a4" - type: CP14ModularCraftPart possibleParts: - - GardeSturdyMithril \ No newline at end of file + - GardeSturdyMithril + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Materials/simple.yml b/Resources/Prototypes/_CP14/Materials/simple.yml index 81c3efab56..72d962f421 100644 --- a/Resources/Prototypes/_CP14/Materials/simple.yml +++ b/Resources/Prototypes/_CP14/Materials/simple.yml @@ -48,7 +48,7 @@ stackEntity: CP14CopperBar1 name: cp14-material-copper unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/copper_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/copper_scrap.rsi, state: scrap } color: "#9a5e22" price: 0 @@ -57,7 +57,7 @@ stackEntity: CP14IronBar1 name: cp14-material-iron unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/iron_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/iron_scrap.rsi, state: scrap_2 } color: "#9093a1" price: 0 @@ -66,7 +66,7 @@ stackEntity: CP14GoldBar1 name: cp14-material-gold unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/gold_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/gold_scrap.rsi, state: scrap_3 } color: "#FFD700" price: 0 @@ -75,7 +75,7 @@ stackEntity: CP14MithrilBar1 name: cp14-material-mithril unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/mithril_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/mithril_scrap.rsi, state: scrap } color: "#006c83" price: 0 diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml index 33a11f733f..35f58fcd5d 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml @@ -30,7 +30,7 @@ - type: modularPart id: BladeIronAxe targetSlot: Blade - sourcePart: CP14ModularBladeIronAxe + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi modifiers: - !type:Inherit @@ -41,7 +41,7 @@ - type: modularPart id: BladeGoldAxe targetSlot: Blade - sourcePart: CP14ModularBladeGoldAxe + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi color: "#ffaf47" modifiers: @@ -53,7 +53,7 @@ - type: modularPart id: BladeCopperAxe targetSlot: Blade - sourcePart: CP14ModularBladeCopperAxe + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi color: "#bd712f" modifiers: @@ -65,7 +65,7 @@ - type: modularPart id: BladeMithrilAxe targetSlot: Blade - sourcePart: CP14ModularBladeMithrilAxe + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml index b6dcee4305..6c13ad20b2 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml @@ -35,7 +35,7 @@ - type: modularPart id: BladeIronDagger targetSlot: Blade - sourcePart: CP14ModularBladeIronDagger + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi modifiers: - !type:Inherit @@ -46,7 +46,7 @@ - type: modularPart id: BladeGoldDagger targetSlot: Blade - sourcePart: CP14ModularBladeGoldDagger + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi color: "#ffaf47" modifiers: @@ -58,7 +58,7 @@ - type: modularPart id: BladeCopperDagger targetSlot: Blade - sourcePart: CP14ModularBladeCopperDagger + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi color: "#bd712f" modifiers: @@ -70,7 +70,7 @@ - type: modularPart id: BladeMithrilDagger targetSlot: Blade - sourcePart: CP14ModularBladeMithrilDagger + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml index 950e55bb4f..79f27976f2 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml @@ -47,7 +47,7 @@ - type: modularPart id: BladeIronHammer targetSlot: Blade - sourcePart: CP14ModularBladeIronHammer + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi modifiers: - !type:Inherit @@ -58,7 +58,7 @@ - type: modularPart id: BladeGoldHammer targetSlot: Blade - sourcePart: CP14ModularBladeGoldHammer + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi color: "#ffaf47" modifiers: @@ -70,7 +70,7 @@ - type: modularPart id: BladeCopperHammer targetSlot: Blade - sourcePart: CP14ModularBladeCopperHammer + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi color: "#bd712f" modifiers: @@ -82,7 +82,7 @@ - type: modularPart id: BladeMithrilHammer targetSlot: Blade - sourcePart: CP14ModularBladeMithrilHammer + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml index 6e47ec3c28..2df624ec27 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml @@ -28,7 +28,7 @@ - type: modularPart id: BladeIronMace targetSlot: Blade - sourcePart: CP14ModularBladeIronMace + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi modifiers: - !type:Inherit @@ -39,7 +39,7 @@ - type: modularPart id: BladeGoldMace targetSlot: Blade - sourcePart: CP14ModularBladeGoldMace + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi color: "#ffaf47" modifiers: @@ -51,7 +51,7 @@ - type: modularPart id: BladeCopperMace targetSlot: Blade - sourcePart: CP14ModularBladeCopperMace + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi color: "#bd712f" modifiers: @@ -63,7 +63,7 @@ - type: modularPart id: BladeMithrilMace targetSlot: Blade - sourcePart: CP14ModularBladeMithrilMace + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml index b45c875f1d..5414461d47 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml @@ -23,7 +23,7 @@ - type: modularPart id: BladeIronPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeIronPickaxe + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi modifiers: - !type:Inherit @@ -34,7 +34,7 @@ - type: modularPart id: BladeGoldPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeGoldPickaxe + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi color: "#ffaf47" modifiers: @@ -46,7 +46,7 @@ - type: modularPart id: BladeCopperPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeCopperPickaxe + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi color: "#bd712f" modifiers: @@ -58,7 +58,7 @@ - type: modularPart id: BladeMithrilPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeMithrilPickaxe + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml index 799526ff32..258e0dfd43 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml @@ -34,7 +34,7 @@ - type: modularPart id: BladeIronRapier targetSlot: Blade - sourcePart: CP14ModularBladeIronRapier + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi modifiers: - !type:Inherit @@ -45,7 +45,7 @@ - type: modularPart id: BladeGoldRapier targetSlot: Blade - sourcePart: CP14ModularBladeGoldRapier + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi color: "#ffaf47" modifiers: @@ -57,7 +57,7 @@ - type: modularPart id: BladeCopperRapier targetSlot: Blade - sourcePart: CP14ModularBladeCopperRapier + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi color: "#bd712f" modifiers: @@ -69,7 +69,7 @@ - type: modularPart id: BladeMithrilRapier targetSlot: Blade - sourcePart: CP14ModularBladeMithrilRapier + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml index fd624ae079..a29c3368a9 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml @@ -32,7 +32,7 @@ - type: modularPart id: BladeIronShovel targetSlot: Blade - sourcePart: CP14ModularBladeIronShovel + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi modifiers: - !type:Inherit @@ -43,7 +43,7 @@ - type: modularPart id: BladeGoldShovel targetSlot: Blade - sourcePart: CP14ModularBladeGoldShovel + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi color: "#ffaf47" modifiers: @@ -55,7 +55,7 @@ - type: modularPart id: BladeCopperShovel targetSlot: Blade - sourcePart: CP14ModularBladeCopperShovel + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi color: "#bd712f" modifiers: @@ -67,7 +67,7 @@ - type: modularPart id: BladeMithrilShovel targetSlot: Blade - sourcePart: CP14ModularBladeMithrilShovel + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml index 636459ba60..36027bfab8 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml @@ -25,7 +25,7 @@ - type: modularPart id: BladeIronSickle targetSlot: Blade - sourcePart: CP14ModularBladeIronSickle + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi modifiers: - !type:Inherit @@ -36,7 +36,7 @@ - type: modularPart id: BladeGoldSickle targetSlot: Blade - sourcePart: CP14ModularBladeIronSickle + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi color: "#ffaf47" modifiers: @@ -48,7 +48,7 @@ - type: modularPart id: BladeCopperSickle targetSlot: Blade - sourcePart: CP14ModularBladeCopperSickle + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi color: "#bd712f" modifiers: @@ -60,7 +60,7 @@ - type: modularPart id: BladeMithrilSickle targetSlot: Blade - sourcePart: CP14ModularBladeMithrilSickle + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml index 87248c3425..415bb39b84 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml @@ -40,7 +40,7 @@ - type: modularPart id: BladeIronSpear targetSlot: Blade - sourcePart: CP14ModularBladeIronSpear + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi modifiers: - !type:Inherit @@ -51,7 +51,7 @@ - type: modularPart id: BladeGoldSpear targetSlot: Blade - sourcePart: CP14ModularBladeGoldSpear + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi color: "#ffaf47" modifiers: @@ -63,7 +63,7 @@ - type: modularPart id: BladeCopperSpear targetSlot: Blade - sourcePart: CP14ModularBladeCopperSpear + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi color: "#bd712f" modifiers: @@ -75,7 +75,7 @@ - type: modularPart id: BladeMithrilSpear targetSlot: Blade - sourcePart: CP14ModularBladeMithrilSpear + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml index e2497c70fd..91e6717e3f 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml @@ -36,7 +36,7 @@ - type: modularPart id: BladeIronSword targetSlot: Blade - sourcePart: CP14ModularBladeIronSword + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi modifiers: - !type:Inherit @@ -47,7 +47,7 @@ - type: modularPart id: BladeGoldSword targetSlot: Blade - sourcePart: CP14ModularBladeGoldSword + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi color: "#ffaf47" modifiers: @@ -59,7 +59,7 @@ - type: modularPart id: BladeCopperSword targetSlot: Blade - sourcePart: CP14ModularBladeCopperSword + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi color: "#bd712f" modifiers: @@ -71,7 +71,7 @@ - type: modularPart id: BladeMithrilSword targetSlot: Blade - sourcePart: CP14ModularBladeMithrilSword + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml b/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml index 3db9306cce..4fdc31dbd9 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml @@ -12,7 +12,7 @@ - type: modularPart id: GardeSharpIron targetSlot: Garde - sourcePart: CP14ModularGardeSharpIron + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi modifiers: - !type:Inherit @@ -22,7 +22,7 @@ - type: modularPart id: GardeSharpGold targetSlot: Garde - sourcePart: CP14ModularGardeSharpGold + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi color: "#ffaf47" modifiers: @@ -33,7 +33,7 @@ - type: modularPart id: GardeSharpCopper targetSlot: Garde - sourcePart: CP14ModularGardeSharpCopper + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi color: "#bd712f" modifiers: @@ -44,7 +44,7 @@ - type: modularPart id: GardeSharpMithril targetSlot: Garde - sourcePart: CP14ModularGardeSharpMithril + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml b/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml index 87d969f2c8..2f9dbf2489 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml @@ -12,7 +12,7 @@ - type: modularPart id: GardeSturdyIron targetSlot: Garde - sourcePart: CP14ModularGardeSturdyIron + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi modifiers: - !type:Inherit @@ -22,7 +22,7 @@ - type: modularPart id: GardeSturdyGold targetSlot: Garde - sourcePart: CP14ModularGardeSturdyGold + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi color: "#ffaf47" modifiers: @@ -33,7 +33,7 @@ - type: modularPart id: GardeSturdyCopper targetSlot: Garde - sourcePart: CP14ModularGardeSturdyCopper + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi color: "#bd712f" modifiers: @@ -44,7 +44,7 @@ - type: modularPart id: GardeSturdyMithril targetSlot: Garde - sourcePart: CP14ModularGardeSturdyMithril + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml index 1139eedea0..a4ec7804b5 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml @@ -2,158 +2,203 @@ id: CP14BaseShield tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14WoodenPlanks: 2 - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseShield - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseCrowbar tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseCrowbar - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseWrench tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseWrench - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14PlatePie tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14PlatePie - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCuirass tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 5 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 5 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCuirass - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingInfantryCuirass tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 6 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 6 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingInfantryCuirass - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCuirassLoincloth tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 6 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 6 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCuirassLoincloth - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCuirassLeg tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 7 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 7 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCuirassLeg - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14Nail10 tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14Nail10 - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14CrystalLampBlueEmpty tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14CrystalLampBlueEmpty - knowledgeRequired: MetallForging - -- type: CP14Recipe - id: CP14CrystalLampOrangeEmpty - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14CopperBar: 2 - CP14IronBar: 1 - result: CP14CrystalLampOrangeEmpty - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14Scissors tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14Scissors - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCopperArmor tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 6 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 6 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCopperArmor - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14Crossbolt tag: CP14RecipeAnvil craftTime: 1 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14Crossbolt resultCount: 3 - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseLockpick tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseLockpick - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingHeadCapellina tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 3 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 3 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingHeadCapellina - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseLightCrossbow tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 - CP14IronBar: 3 - entities: - CP14String: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:StackResource + stack: CP14IronBar + count: 3 + - !type:ProtoIdResource + protoId: CP14String + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseLightCrossbow - knowledgeRequired: MetallForging diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml index abeb2d14b8..be59c2917d 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml @@ -5,37 +5,49 @@ id: CP14ModularBladeIronDagger tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronDagger - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldDagger tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldDagger - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperDagger tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperDagger - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilDagger tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilDagger - knowledgeRequired: MetallForging # Spear @@ -43,37 +55,49 @@ id: CP14ModularBladeIronSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronSpear - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperSpear - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldSpear - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilSpear - knowledgeRequired: MetallForging # Mace @@ -81,37 +105,49 @@ id: CP14ModularBladeIronMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronMace - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldMace - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperMace - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilMace - knowledgeRequired: MetallForging # Sword @@ -119,37 +155,49 @@ id: CP14ModularBladeIronSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronSword - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldSword - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperSword - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilSword - knowledgeRequired: MetallForging # Sickle @@ -157,37 +205,49 @@ id: CP14ModularBladeIronSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronSickle - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperSickle - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldSickle - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilSickle - knowledgeRequired: MetallForging # Shovel @@ -195,38 +255,50 @@ id: CP14ModularBladeIronShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronShovel - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldShovel - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperShovel - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilShovel - knowledgeRequired: MetallForging # Pickaxe @@ -234,37 +306,49 @@ id: CP14ModularBladeIronPickaxe tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronPickaxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldPickaxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldPickaxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperPickaxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperPickaxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilPickaxe tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilPickaxe - knowledgeRequired: MetallForging # Grip @@ -272,37 +356,49 @@ id: CP14ModularGripIron tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripIron - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripCopper tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripCopper - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripGolden tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripGolden - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripMithril tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripMithril - knowledgeRequired: MetallForging # Grip long @@ -310,37 +406,49 @@ id: CP14ModularGripIronLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripIronLong - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripCopperLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripCopperLong - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripGoldLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripGoldLong - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripMithrilLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripMithrilLong - knowledgeRequired: MetallForging # Rapier @@ -348,37 +456,49 @@ id: CP14ModularBladeIronRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronRapier - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldRapier - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperRapier - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilRapier - knowledgeRequired: MetallForging # Axe @@ -386,37 +506,49 @@ id: CP14ModularBladeIronAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronAxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperAxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldAxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilAxe - knowledgeRequired: MetallForging # Hammer @@ -424,35 +556,47 @@ id: CP14ModularBladeIronHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronHammer - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperHammer - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldHammer - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilHammer - knowledgeRequired: MetallForging \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml index b6fd7135b2..009386a52d 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml @@ -4,37 +4,41 @@ id: CP14ModularGardeSharpCopper tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 result: CP14ModularGardeSharpCopper - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSharpIron tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 result: CP14ModularGardeSharpIron - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSharpGold tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 result: CP14ModularGardeSharpGold - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSharpMithril tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 result: CP14ModularGardeSharpMithril - knowledgeRequired: MetallForging # Sturdy garde @@ -42,34 +46,46 @@ id: CP14ModularGardeSturdyCopper tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGardeSturdyCopper - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSturdyIron tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGardeSturdyIron - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSturdyGold tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGardeSturdyGold - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSturdyMithril tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 1 - result: CP14ModularGardeSturdyMithril - knowledgeRequired: MetallForging \ No newline at end of file + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging + result: CP14ModularGardeSturdyMithril \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml index c29cb6d8e4..eb0f950a25 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml @@ -2,34 +2,40 @@ id: CP14FoodMeatLamb tag: CP14RecipeCooking craftTime: 2 - entities: - CP14FoodMeatLambSlice: 2 - CP14FoodEgg: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodMeatLambSlice + count: 2 + - !type:ProtoIdResource + protoId: CP14FoodEgg result: CP14FoodMeatLambCutlet - tryMergeSolutions: true - type: CP14Recipe id: CP14FoodDoughLarge tag: CP14RecipeCooking craftTime: 2 - entities: - CP14FoodDoughMedium: 4 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodDoughMedium + count: 4 result: CP14FoodDoughLarge - tryMergeSolutions: true - type: CP14Recipe id: CP14FoodDoughMedium tag: CP14RecipeCooking craftTime: 2 - entities: - CP14Wheat: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14Wheat + count: 2 result: CP14FoodDoughMedium - type: CP14Recipe id: CP14FoodDoughMediumFlat tag: CP14RecipeCooking craftTime: 2 - entities: - CP14FoodDoughMedium: 1 - result: CP14FoodDoughMediumFlat - tryMergeSolutions: true \ No newline at end of file + requirements: + - !type:ProtoIdResource + protoId: CP14FoodDoughMedium + count: 1 + result: CP14FoodDoughMediumFlat \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml index 96ff92d288..0dc965fa32 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml @@ -2,20 +2,26 @@ id: CP14FoodPieAppleRaw tag: CP14RecipeCooking craftTime: 5 - entities: - CP14PlatePie: 1 - CP14FoodDoughMediumFlat: 1 - CP14FoodAppleSlice: 4 + requirements: + - !type:ProtoIdResource + protoId: CP14PlatePie + - !type:ProtoIdResource + protoId: CP14FoodDoughMediumFlat + - !type:ProtoIdResource + protoId: CP14FoodAppleSlice + count: 4 result: CP14FoodPieAppleRaw - tryMergeSolutions: true - type: CP14Recipe id: CP14FoodPieMeatRaw tag: CP14RecipeCooking craftTime: 5 - entities: - CP14PlatePie: 1 - CP14FoodDoughMediumFlat: 1 - CP14FoodMeatLambSlice: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14PlatePie + - !type:ProtoIdResource + protoId: CP14FoodDoughMediumFlat + - !type:ProtoIdResource + protoId: CP14FoodMeatLambSlice + count: 3 result: CP14FoodPieMeatRaw - tryMergeSolutions: true diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml index 8a5b72e4a1..ac7048a470 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml @@ -2,38 +2,48 @@ id: CP14SeedWheat tag: CP14RecipeCooking craftTime: 1 - entities: - CP14Wheat: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14Wheat + count: 1 result: CP14SeedWheat - type: CP14Recipe id: CP14SeedTomato tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodTomatoesSlice: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodTomatoesSlice + count: 1 result: CP14SeedTomato - type: CP14Recipe id: CP14SeedCabbage tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodCabbageSlice: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodCabbageSlice + count: 1 result: CP14SeedCabbage - type: CP14Recipe id: CP14SeedPumpkin tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodPumpkinSlice: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodPumpkinSlice + count: 1 result: CP14SeedPumpkin - type: CP14Recipe id: CP14SeedCucumber tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodCucumber: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodCucumber + count: 1 result: CP14SeedCucumber \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml index 87302492e1..5961f6fd3c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml @@ -2,37 +2,50 @@ id: CP14CopperBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreCopper: 4 + requirements: + - !type:MaterialResource + material: CP14Copper + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14CopperBar1 - knowledgeRequired: MetallMelting + resultCount: 3 - type: CP14Recipe id: CP14IronBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreIron: 4 + requirements: + - !type:MaterialResource + material: CP14Iron + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14IronBar1 - knowledgeRequired: MetallMelting - type: CP14Recipe id: CP14GoldBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreGold: 4 + requirements: + - !type:MaterialResource + material: CP14Gold + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14GoldBar1 - knowledgeRequired: MetallMelting - type: CP14Recipe id: CP14MithrilBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreMithril: 4 + requirements: + - !type:MaterialResource + material: CP14Mithril + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14MithrilBar1 - knowledgeRequired: MetallMelting #- type: CP14Recipe # id: CP14GlassSheet1 @@ -47,46 +60,65 @@ id: CP14GlassSheetShard1 tag: CP14RecipeMeltingFurnace craftTime: 2 - entities: - CP14GlassShard: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14GlassShard + count: 2 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14GlassSheet1 - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialTiny tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14GlassSheet: 1 + requirements: + - !type:StackResource + stack: CP14GlassSheet + count: 1 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialTiny - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialTinyReinforced tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14CopperBar: 1 - CP14GlassSheet: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:StackResource + stack: CP14GlassSheet + count: 1 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialTinyReinforced - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialSmall tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14GlassSheet: 2 + requirements: + - !type:StackResource + stack: CP14GlassSheet + count: 2 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialSmall - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialSmallReinforced tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14CopperBar: 1 - CP14GlassSheet: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:StackResource + stack: CP14GlassSheet + count: 2 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialSmallReinforced - knowledgeRequired: Glasswork \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml index afd3dfa5f6..fa1d2aa48c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml @@ -2,265 +2,356 @@ id: CP14ClothingShirtCottonBlue tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonBlue - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonBlack tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlack: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonBlack - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonPurple tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyePurple: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyePurple + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonPurple - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonRed tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonRed - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonWhite tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonWhite - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonYellow tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonYellow - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsTrouserWhite tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsTrouserWhite - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsTrouserDarkBlue tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsTrouserDarkBlue - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsDressBlack tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlack: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsDressBlack - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsSouthernMagician tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsSouthernMagician - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretRed tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretRed - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretPurple tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyePurple: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyePurple + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretPurple - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretYellow tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretYellow - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretBlue tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretBlue - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretBlack tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlack: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretBlack - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBandanaWhite tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBandanaWhite - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBandanaYellow tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBandanaYellow - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadWreath tag: CP14RecipeSewing craftTime: 2 - entities: - CP14BloodFlower: 2 - CP14Dayflin: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14BloodFlower + count: 2 + - !type:ProtoIdResource + protoId: CP14Dayflin + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadWreath - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtMercenary tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingShirtMercenary - knowledgeRequired: AdvancedClothingSewing - type: CP14Recipe id: CP14ClothingShirtYellowWizard tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - CP14DyeBlue: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingShirtYellowWizard - knowledgeRequired: AdvancedClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretMercenary tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeRed: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingHeadBeretMercenary - knowledgeRequired: AdvancedClothingSewing - type: CP14Recipe id: CP14ClothingPantsMercenaryTrousers tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingPantsMercenaryTrousers - knowledgeRequired: AdvancedClothingSewing # Wallpaper (TODO: Move to separate workbench?) @@ -268,125 +359,92 @@ id: CP14WallpaperBlack tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeBlack: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperBlack - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperGreen tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeGreen: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeGreen + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperGreen - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperPurple tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyePurple: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyePurple + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperPurple - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperRed tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeRed: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperRed - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperWhite tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperWhite - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperWhite2 tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperWhite2 - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperYellow tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeYellow: 1 - result: CP14WallpaperYellow - knowledgeRequired: WallpaperCraft - -- type: CP14Recipe - id: CP14CrayonBlack - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeBlack: 1 - result: CP14CrayonBlack - -- type: CP14Recipe - id: CP14CrayonRed - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeRed: 1 - result: CP14CrayonRed - -- type: CP14Recipe - id: CP14CrayonYellow - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeYellow: 1 - result: CP14CrayonYellow - -- type: CP14Recipe - id: CP14CrayonGreen - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeGreen: 1 - result: CP14CrayonGreen - -- type: CP14Recipe - id: CP14CrayonBlue - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeBlue: 1 - result: CP14CrayonBlue - -- type: CP14Recipe - id: CP14CrayonPurple - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyePurple: 1 - result: CP14CrayonPurple \ No newline at end of file + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:KnowledgeRequired + knowledge: WallpaperCraft + result: CP14WallpaperYellow \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml index 8d6889864c..df4944edfa 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml @@ -2,114 +2,140 @@ id: CP14Bucket tag: CP14RecipeWorkbench craftTime: 2 - entities: - CP14Rope: 1 - stacks: - CP14WoodenPlanks: 3 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 3 + - !type:ProtoIdResource + protoId: CP14Rope + count: 1 result: CP14Bucket - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14WoodenBeerMug tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 2 - CP14Nail: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 + - !type:StackResource + stack: CP14Nail + count: 1 result: CP14WoodenBeerMug - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Plate tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 result: CP14Plate - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14BaseMop tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 2 - CP14Cloth: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 + - !type:StackResource + stack: CP14Cloth + count: 1 result: CP14BaseMop - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Torch tag: CP14RecipeWorkbench craftTime: 4 - stacks: - CP14WoodenPlanks: 3 - CP14Cloth: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 3 + - !type:StackResource + stack: CP14Cloth + count: 1 result: CP14Torch - type: CP14Recipe id: CP14Lighter tag: CP14RecipeWorkbench craftTime: 4 - stacks: - CP14Stone: 1 - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14Stone + count: 2 + - !type:StackResource + stack: CP14IronBar + count: 1 result: CP14Lighter - type: CP14Recipe id: CP14ModularGripWooden tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14WoodenPlanks: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 result: CP14ModularGripWooden - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14ModularGripWoodenLong tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14WoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 4 result: CP14ModularGripWoodenLong - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14ModularGripLucens tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14LucensWoodenPlanks: 1 + requirements: + - !type:StackResource + stack: CP14LucensWoodenPlanks + count: 2 result: CP14ModularGripLucens - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14ModularGripLucensLong tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14LucensWoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14LucensWoodenPlanks + count: 4 result: CP14ModularGripLucensLong - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Bow tag: CP14RecipeWorkbench craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14WoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 4 + - !type:ProtoIdResource + protoId: CP14String + count: 1 result: CP14BowCombat - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Arrow tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 1 + - !type:StackResource + stack: CP14IronBar + count: 1 result: CP14Arrow resultCount: 4 - knowledgeRequired: WoodWork diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap.png b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap.png index b95f930f7c..9bc9ee6c5b 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap.png and b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_2.png b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_2.png index 8f79403626..10b1511ee1 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_2.png and b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_3.png b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_3.png index 81e4eb6362..05f4cbf834 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_3.png and b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_3.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap.png b/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap.png index c5d57ef5fd..61ad56f9da 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap.png and b/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_2.png b/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_2.png index 1fd5c8e094..f77f8350e6 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_2.png and b/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_3.png b/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_3.png index 02d33aa81c..00a3c41afc 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_3.png and b/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_3.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap.png b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap.png index 2bc6b0027e..a30c93db1c 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap.png and b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_2.png b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_2.png index 6da4edae46..0d490c22a3 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_2.png and b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_3.png b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_3.png index d15e3e731c..0a13193a97 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_3.png and b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_3.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap.png b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap.png index 3641056edf..008f2da704 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap.png and b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_2.png b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_2.png index 243245cde0..a830886df0 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_2.png and b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_3.png b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_3.png index e36d5873e0..ddd36ab221 100644 Binary files a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_3.png and b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_3.png differ