From b3eed325882381a8d485c498195373bfb967b338 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:47:51 +0300 Subject: [PATCH] Workbench Refactor (#826) * Workbench refactor * fixes * update all recipes protos * scrap resprite * scrap melting * scrap weapon drop * demiplane loot update * weapon parts melting * fix * boilerplate * material localization --- .../Workbench/CP14WorkbenchRecipeControl.xaml | 30 +- .../CP14WorkbenchRecipeControl.xaml.cs | 38 +- .../CP14WorkbenchRequirementControl.xaml | 32 +- .../CP14WorkbenchRequirementControl.xaml.cs | 4 +- .../Workbench/CP14WorkbenchWindow.xaml.cs | 12 +- .../_CP14/Workbench/CP14WorkbenchSystem.UI.cs | 10 +- .../_CP14/Workbench/CP14WorkbenchSystem.cs | 135 +---- Content.Shared/Content.Shared.csproj | 1 + .../_CP14/Material/CP14MaterialComponent.cs | 11 + .../_CP14/Material/CP14MaterialSystem.cs | 39 ++ .../CP14WorkbenchRecipePrototype.cs | 21 +- .../Requirements/KnowledgeRequired.cs | 48 ++ .../Requirements/MaterialResource.cs | 112 ++++ .../Workbench/Requirements/ProtoIdResource.cs | 94 ++++ .../Workbench/Requirements/StackResource.cs | 86 +++ .../Workbench/WorkbenchCraftRequirement.cs | 46 ++ .../en-US/_CP14/knowledge/knowledge-ui.ftl | 3 +- .../en-US/_CP14/materials/materials.ftl | 2 + .../ru-RU/_CP14/knowledge/knowledge-ui.ftl | 3 +- .../ru-RU/_CP14/materials/materials.ftl | 2 + .../Spawners/Random/Loot/demiplane.yml | 19 +- .../_CP14/Entities/Objects/Materials/bars.yml | 12 + .../_CP14/Entities/Objects/Materials/ores.yml | 16 +- .../Entities/Objects/Materials/scrap.yml | 14 +- .../Objects/ModularTools/Blade/axe.yml | 12 + .../Objects/ModularTools/Blade/dagger.yml | 12 + .../Objects/ModularTools/Blade/hammer.yml | 14 +- .../Objects/ModularTools/Blade/mace.yml | 12 + .../Objects/ModularTools/Blade/pickaxe.yml | 12 + .../Objects/ModularTools/Blade/rapier.yml | 12 + .../Objects/ModularTools/Blade/shovel.yml | 12 + .../Objects/ModularTools/Blade/sickle.yml | 12 + .../Objects/ModularTools/Blade/spear.yml | 14 +- .../Objects/ModularTools/Blade/sword.yml | 12 + .../Objects/ModularTools/Garde/sharp.yml | 12 + .../Objects/ModularTools/Garde/sturdy.yml | 14 +- .../Prototypes/_CP14/Materials/simple.yml | 8 +- .../_CP14/ModularCraft/Blade/axe.yml | 8 +- .../_CP14/ModularCraft/Blade/dagger.yml | 8 +- .../_CP14/ModularCraft/Blade/hammer.yml | 8 +- .../_CP14/ModularCraft/Blade/mace.yml | 8 +- .../_CP14/ModularCraft/Blade/pickaxe.yml | 8 +- .../_CP14/ModularCraft/Blade/rapier.yml | 8 +- .../_CP14/ModularCraft/Blade/shovel.yml | 8 +- .../_CP14/ModularCraft/Blade/sickle.yml | 8 +- .../_CP14/ModularCraft/Blade/spear.yml | 8 +- .../_CP14/ModularCraft/Blade/sword.yml | 8 +- .../_CP14/ModularCraft/Garde/sharp.yml | 8 +- .../_CP14/ModularCraft/Garde/sturdy.yml | 8 +- .../_CP14/Recipes/Workbench/Anvil/misc.yml | 171 +++--- .../Recipes/Workbench/Anvil/modular_blade.yml | 432 ++++++++++----- .../Recipes/Workbench/Anvil/modular_garde.yml | 66 ++- .../Recipes/Workbench/CookingTable/misc.yml | 32 +- .../Recipes/Workbench/CookingTable/pies.yml | 26 +- .../Recipes/Workbench/CookingTable/seeds.yml | 30 +- .../_CP14/Recipes/Workbench/furnace.yml | 90 +++- .../_CP14/Recipes/Workbench/sewing_table.yml | 494 ++++++++++-------- .../_CP14/Recipes/Workbench/workbench.yml | 112 ++-- .../Materials/copper_scrap.rsi/scrap.png | Bin 262 -> 355 bytes .../Materials/copper_scrap.rsi/scrap_2.png | Bin 231 -> 388 bytes .../Materials/copper_scrap.rsi/scrap_3.png | Bin 199 -> 442 bytes .../Materials/gold_scrap.rsi/scrap.png | Bin 263 -> 366 bytes .../Materials/gold_scrap.rsi/scrap_2.png | Bin 233 -> 388 bytes .../Materials/gold_scrap.rsi/scrap_3.png | Bin 182 -> 444 bytes .../Materials/iron_scrap.rsi/scrap.png | Bin 258 -> 362 bytes .../Materials/iron_scrap.rsi/scrap_2.png | Bin 228 -> 358 bytes .../Materials/iron_scrap.rsi/scrap_3.png | Bin 189 -> 442 bytes .../Materials/mithril_scrap.rsi/scrap.png | Bin 260 -> 376 bytes .../Materials/mithril_scrap.rsi/scrap_2.png | Bin 224 -> 377 bytes .../Materials/mithril_scrap.rsi/scrap_3.png | Bin 184 -> 437 bytes 70 files changed, 1652 insertions(+), 845 deletions(-) create mode 100644 Content.Shared/_CP14/Material/CP14MaterialComponent.cs create mode 100644 Content.Shared/_CP14/Material/CP14MaterialSystem.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/StackResource.cs create mode 100644 Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs 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 b95f930f7c7ab88cec5cc3ac2287e3de28bbc41b..9bc9ee6c5b5ffad584b9bd72892f343f1f28b490 100644 GIT binary patch delta 316 zcmV-C0mJ@=0^1u(LAuFJksAtymO_zk4nn5V(J^Z` zcYlOGz@-lDPw41aoCJq#4gt|A!qI>b+(M^wkSnPmyZ zzmDHgQN>gnFEs(L6R1l7+$L{(@7-|zn!tC;qJxU6y?=r4S0D(2AbbMMHDhuIL&ClQ O00006%zFyo zz*jIXn=Dqb$Of_^j)mDa7UUX4v0j~6zF)kTbI;*|5JCviplIGzx|vo}<*UF|m)auq zJ*^Rq3vxm)ZhyoKAsdSEMJC z^=51QWWX}o836Hls21ZJ0MBo??25--rqd08*4lTo=|sinjM2b;74MJ9$L|Rtgb;so Y2OAtUl``4vdH?_b07*qoM6N<$f?IuQ3jhEB 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 8f794036269886d35b11ca18382170a092f6de44..10b1511ee150123ce8f1833144c12ef52a7eae0f 100644 GIT binary patch delta 349 zcmV-j0iyor0fYmPFn<9)NklkdKxqrw)YYD6Nt(J4Spb-Ed zjoU@-gs0OWfby7)hL(CSIqpJf969 z(TM9OponHY_JUyGfk`+s0k!+URIOS?0C;#gL&+$5 zK~OUKTZo-=DBOFA45$G_kUhCO;Y_OSrO00000NkvXXu0mjfi~pqR delta 191 zcmV;w06_nQ1LpydFn<7{NklVQ=&Q&_A;P;7TQVZQRg%)WgfA|fLHs45Fzm4!d-xBhn)(=`tboa@{J zINP(c<~ytNd(;w(&_MTG;cQQq3^)s}&V7~)q-LbOK0@o51vn>|&b?W_IGP54)Qp@i tYi>;!+!wXLX9<9|pMD+lxQK`dz#9_AD*_iH{%ZgL002ovPDHLkV1lgKQ_}zd 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 81e4eb63628a6b9f4b0cdc2f27477b676d525a6b..05f4cbf83418ae5ee47b5161e1a3c4e56f20a567 100644 GIT binary patch delta 404 zcmV;F0c-xp0lEW_FnYL;+OPncCPt;&3~{R$>fZ|eQUQ8p%=0yca6sq!US-Nx#$+5J z1W(T|0OZUWMh9L=r60Gg>Po#pIH0%PuxOSsDpk_ioJ;X~SX6ZmbyY^vdVrnF33kt7 z0QlVo$&9aQ-hU{c-)%^l16Xb=v|3&?%Rs9G0E*Yc=G-02`z0w&sWCjhxNgyVw!H{4|9mt0)cA*Is^BrJjvI`<2B0CFy5mJ|_cb}M>d-HrbQ)ale7$7+gWao}{ z%mKV*#Hs8ZB7=|B9NoL7lC!M;v1+;Ug{(>Up7i5=0 z|3Yx;ugFrczo8CE!NEOCZqgw*2mxKLL#j=s%V{VS?%Djf``-6n?>o?FG#bqS@|7p0 zSjv3m$+5kzhHTnoM*yr~jugvLCI%T0hnlzN_wIX462_2Cp?~j4+nfOKcyD&~o2L)u zeuEN-wtGXA4Wew=WJj!E4vb4;Frn|r^Go^iaI0iOIe~cLc7o^iVx3|IbL`nvso%BA z;(X=FHtu4b5-(ht>?+_i8F!>g;z|bk;_WB`M6U(5If3jnAs06gFI?FQ!}mLo>?)$| z-hi*km`xF7b3l0m$*w{i>hAxFLyah#PP|3+^q}w#gue6R()GpLHNVyWjJ`>YMx*%` Zd;$Y)hPpov!KwfN002ovPDHLkV1h%>qagqQ delta 223 zcmV<503iSF0*3;SFn<8SNkl1t{5nAv>q}1td5vM|jLfZrV1rEAd z=pc?RPDSt+2&I2RsDe-j!O6v;t#CuZ&FM1rD5copO1s4A4o@5|8Fa}rC6IjY`{qjm z27|$1_-8ELjh}Z%62SHx=6%7|>62EiHJwf4c2zEd3AX0|uzv_9I%V_>^qM6(7)2Bt z6#&An&tMe&je&8yDglmf4hg$HkJqmNi0M+>K<2*1;>AXVuBZUIJtihgzj zVzx@nJHsG3>Q+|GRZ9Jx%q{2)11mNWr*73;8H=Bt?_+xo^>SXxfc8fOAjL&0d3-r{ vuii4(&D?_DnD+&?=cN7u)mLCJ7z~Cl!WnTP(iVK)00000NkvXXu0mjfg(ai# delta 193 zcmV;y06zbO1L*;fFn<7}NklUzmDhPLg zOEjDWRfR-hxB~`M4MCt#iy$=ET}LvXe94=geIOztBLAqZbJy0n+f0r7orPo#eHXf> zZ~&!^nT<#NY`!o-CAj?l! vm9bqO*qyK5c|irfC4m0dA&-lQhyc6+JAEtEDKF0000000NkvXXu0mjfyBJc& 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 02d33aa81cbb0c8a942a7b0ad95abe7788e296d7..00a3c41afcc6ee714089c6b62dbd5014411d82b0 100644 GIT binary patch delta 406 zcmV;H0crlW0lWi{FnZ)A`F1tFzt2@?axNOG}F|u2!Hi;GPQH`KZj}G*(xH-<``k0iSRDi=j*i|8Ue81MHuG9+z;?cSr8u=22Stgm$T_K-`k)dwRubyQj8xOF( zb;H5R2>@QjPk$>g` Ang9R* delta 142 zcmdnPyp3^!K|Mo(r;B4qL~C+_1nc4ik)EbN1Fkmaii@e=>YcZo`!7`d^Z$}psY|XT zu>pZ!WgwfKw`JSO%xVd_z5kD1DE_2)@!6(;vyb*^Kap^);>hW^_VfRXxBei-ZSL>u l4<7aW_*Da8GMgv^L*fR-_ttMY>=}T-lik(NWt~$(695~UJ3;^e 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 2bc6b0027e0952ce9808e968efc7f3606c1b848f..a30c93db1c2786ade204c9e95f8661eef4670581 100644 GIT binary patch delta 323 zcmV-J0lfZ#0_p;gFn<9gNkln+AFx;~7Rw*w zm@a&r#0o$JF3EDu$#H13*MZ5RUVotGvne8Q0hrIGCfk?^w11jyl`K-u&QAdtk0O#q z`a1%>{y+g-U0*OBMRYE20C;Sm0$n> delta 218 zcmV<0044wG0)hgNFn<8NNkl^I8{2qA5vcl$QN!zk8D`2dtvZB*O2fiQ}-=Z%5S?@bL%g3799wNqR)XKDHbKq;T0>rhrT zr{msetgRdP&9%rg9R%|x7+~l+eD6%MfeuSJovn3|XNLJ09UZ^ouJ U>NpNA4FCWD07*qoM6N<$f;YrqcmMzZ 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 6da4edae46909c90da415683d0ad38d1fa980c9b..0d490c22a366354ea484c09cfbcca8e3fb53b0d4 100644 GIT binary patch delta 319 zcmV-F0l@y`0p1pw6o&tl9K%a#msn)%Vjmz-@Btc{L-Y!v zgM9@bpxq@f_yEb`At6TbVq-!AIfgp4QeD#_l0%{JzD*D5{l9)a0R%x1gacV#sKfEB zvb<13d)>Gk+HE%g0Oor*9M6MHI2n*-h4(jM)5c zEH9LfTkcPYlT>m3IgI*e*mALfzIa#gb-9EdN?BIdHxMVO(!#*^Z8;ZMuf*5nM~Y1+ zXxjSv1~?axWjJNtSC$o;w(f|-)NQ%=-v(jyW9a(gde3k5KcjDwAPC}L@Btj-h_4No RqRRjP002ovPDHLkV1j*TmS_L~ delta 188 zcmV;t07L)g0^|XZFn<7^Nkl0i9v2Z20eAsqASj2COqGWK0000Ra6x?S&@B5x}-ro;w zY;0`)D}kUU+#XeosxxLq7yz?j#?2gBU)%iFED+Sh-0VE3XMab^uv*eDu(zKaFz?=6 zU0Nn}ktDIZC8Z}7;PNUjfS!qAw0j})H`f4^D-Tiu95UvmVu4UtBXzDbJu}6GW0L2W zS2~?10PZR+gm@#9(RYT`m3o0tSR1%uqglr=+SICf#p!ghu;`(DTa}RG`)bz~S+U>9bOe{fgV8 yib!MwfOJ|Xm(`{9Mh*ZUBWT9l#>VDP@D7Znh@+`bTn$SA0000fRgP_9`I46t$tN-vo?(oCI$0g6r zyX87*rp}b8GY1YFSg>r_(FY0H2S2>{sLjU4w*CJSizXd*g=ihsbH^`SF>8GIuzB|r z3D+tS5s~Zv+kZ@9JQ@_#Tn91R?VyGPYcm@I!_#G|Z>Qw(?J8#g0#8>zmvv4FO#p0m BK)3(^ 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 3641056edfb1c8eda421a62bb5a14480c749779f..008f2da704ed69fe751db1a35d740ebe50e4e929 100644 GIT binary patch delta 337 zcmV-X0j~ap0{8-uFn<9uNkl;h;%)Wue zwTn&_q|W9I93=?SEEcl06v4rvAOwn~bFpMB?R5x=v^XS@>frsRd*Pn{{O6v-0f|H+ zk^C`A(ZJ)^I{{$pCf)Inr|M}Tt*s(Kj_(R>GQ-wQ0JO=hh<{8$1C5sO{3-i~2LKFu zeLR2qI|dxz6#(t469&CL&5KSfGKw~DU_E(4QoU+ef<{Yh%m6@CDW_FGp5Mm;qljha zMgef@JLEO7o%P{^`_6J#OV6dXN^j3VExpgfKp_l(`1=>R(teS- z1@kaaViTlQt4f9?RKpSgN7q$s-Hh9igTjjlp#AZ(((hzAz4}>Z-OMfcj_!Dft(&X6 j;P&!IMM)$Q$^YXMH@RsuKoGYJ00000NkvXXu0mjf18|{i delta 220 zcmV<203-kS0)zsPFn<8PNkl4Ri zn*r;&RRZU%r^l;lRSXdN0RT>xP@1#@Mr+^MqnUQHgh#uJlO+J$FQ>} 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 243245cde0b14f332734a433c59f8081f54c722b..a830886df03fd30bdd636fec3e2cc21a96889c73 100644 GIT binary patch delta 338 zcmV-Y0j>Vv0r>)uFn<9vNkl1pw6ox!R?T;pPB7 zu4mMN(>`;&GRG@()=R;xKL*S?VI-g=PW#O9la$S2*GRaJFIp1%0`o|!DfqdpBs5GL#Y27M+IK6swx8Z8f kZ|i@?t)#_bvHT0Z033RLCAF&`3;+NC07*qoM6N<$f^+4ZGynhq delta 184 zcmV;p07w7%0^k9VFn<7=NklDUvl1X-txi3ezF8v>_K%t89=q_ z&@89lY_aVpjcCOlWb1=%c0EE_(0;xE2xY;%JLEXt)7)=SKQW^R0N}i3kHD-R0VJ2F m5BQ7#$S+rbq;e4v5r8*_>?>Z(PX@&R0000ABB;S7Fr-CVM0Cm`h>jL% zXlQG7z6e^vKx_>B4{{Y3rRaxS5kiAdAqb*KTanyo`ZmN_Hu+vh6x=hv_xU{Ud*Am3 z4-XHI|B7mu!WT@4ALqCs1K?D~nLsKn26H<7P-HaBFa@c!lz)h{K(d@0DX@3mTU#cR z-y(ZxNaaZhtkzBhFf7sP)uDv%^a_BB_JfpwCR46=x(|@r7eyMT*MP{*Gq&6+!a|QtVp$IFPFz4ZIsmuwP#e>q30-)KG->4|I z7=YgC%EY;YYM4SbOp$%PlYRrhg_rQ_Z*YPuPq9|7O5cB11(pgsj=z2N3c$w|bW-l&;qfPU2icE)8)AJ~PXGV_00>D%PDHLkV1j;xy!ikC delta 144 zcmV;B0B`@b1GoW@Fn<7YNklo`%cQ)&V)q y|C#Q8W?*1oAluSWFbYP&C>RB!U=$20006kwBH(-CW;Or-00{s|MNUMnLSTZ>;5v2y