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