From b3eed325882381a8d485c498195373bfb967b338 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Fri, 31 Jan 2025 14:47:51 +0300 Subject: [PATCH 01/27] Workbench Refactor (#826) * Workbench refactor * fixes * update all recipes protos * scrap resprite * scrap melting * scrap weapon drop * demiplane loot update * weapon parts melting * fix * boilerplate * material localization --- .../Workbench/CP14WorkbenchRecipeControl.xaml | 30 +- .../CP14WorkbenchRecipeControl.xaml.cs | 38 +- .../CP14WorkbenchRequirementControl.xaml | 32 +- .../CP14WorkbenchRequirementControl.xaml.cs | 4 +- .../Workbench/CP14WorkbenchWindow.xaml.cs | 12 +- .../_CP14/Workbench/CP14WorkbenchSystem.UI.cs | 10 +- .../_CP14/Workbench/CP14WorkbenchSystem.cs | 135 +---- Content.Shared/Content.Shared.csproj | 1 + .../_CP14/Material/CP14MaterialComponent.cs | 11 + .../_CP14/Material/CP14MaterialSystem.cs | 39 ++ .../CP14WorkbenchRecipePrototype.cs | 21 +- .../Requirements/KnowledgeRequired.cs | 48 ++ .../Requirements/MaterialResource.cs | 112 ++++ .../Workbench/Requirements/ProtoIdResource.cs | 94 ++++ .../Workbench/Requirements/StackResource.cs | 86 +++ .../Workbench/WorkbenchCraftRequirement.cs | 46 ++ .../en-US/_CP14/knowledge/knowledge-ui.ftl | 3 +- .../en-US/_CP14/materials/materials.ftl | 2 + .../ru-RU/_CP14/knowledge/knowledge-ui.ftl | 3 +- .../ru-RU/_CP14/materials/materials.ftl | 2 + .../Spawners/Random/Loot/demiplane.yml | 19 +- .../_CP14/Entities/Objects/Materials/bars.yml | 12 + .../_CP14/Entities/Objects/Materials/ores.yml | 16 +- .../Entities/Objects/Materials/scrap.yml | 14 +- .../Objects/ModularTools/Blade/axe.yml | 12 + .../Objects/ModularTools/Blade/dagger.yml | 12 + .../Objects/ModularTools/Blade/hammer.yml | 14 +- .../Objects/ModularTools/Blade/mace.yml | 12 + .../Objects/ModularTools/Blade/pickaxe.yml | 12 + .../Objects/ModularTools/Blade/rapier.yml | 12 + .../Objects/ModularTools/Blade/shovel.yml | 12 + .../Objects/ModularTools/Blade/sickle.yml | 12 + .../Objects/ModularTools/Blade/spear.yml | 14 +- .../Objects/ModularTools/Blade/sword.yml | 12 + .../Objects/ModularTools/Garde/sharp.yml | 12 + .../Objects/ModularTools/Garde/sturdy.yml | 14 +- .../Prototypes/_CP14/Materials/simple.yml | 8 +- .../_CP14/ModularCraft/Blade/axe.yml | 8 +- .../_CP14/ModularCraft/Blade/dagger.yml | 8 +- .../_CP14/ModularCraft/Blade/hammer.yml | 8 +- .../_CP14/ModularCraft/Blade/mace.yml | 8 +- .../_CP14/ModularCraft/Blade/pickaxe.yml | 8 +- .../_CP14/ModularCraft/Blade/rapier.yml | 8 +- .../_CP14/ModularCraft/Blade/shovel.yml | 8 +- .../_CP14/ModularCraft/Blade/sickle.yml | 8 +- .../_CP14/ModularCraft/Blade/spear.yml | 8 +- .../_CP14/ModularCraft/Blade/sword.yml | 8 +- .../_CP14/ModularCraft/Garde/sharp.yml | 8 +- .../_CP14/ModularCraft/Garde/sturdy.yml | 8 +- .../_CP14/Recipes/Workbench/Anvil/misc.yml | 171 +++--- .../Recipes/Workbench/Anvil/modular_blade.yml | 432 ++++++++++----- .../Recipes/Workbench/Anvil/modular_garde.yml | 66 ++- .../Recipes/Workbench/CookingTable/misc.yml | 32 +- .../Recipes/Workbench/CookingTable/pies.yml | 26 +- .../Recipes/Workbench/CookingTable/seeds.yml | 30 +- .../_CP14/Recipes/Workbench/furnace.yml | 90 +++- .../_CP14/Recipes/Workbench/sewing_table.yml | 494 ++++++++++-------- .../_CP14/Recipes/Workbench/workbench.yml | 112 ++-- .../Materials/copper_scrap.rsi/scrap.png | Bin 262 -> 355 bytes .../Materials/copper_scrap.rsi/scrap_2.png | Bin 231 -> 388 bytes .../Materials/copper_scrap.rsi/scrap_3.png | Bin 199 -> 442 bytes .../Materials/gold_scrap.rsi/scrap.png | Bin 263 -> 366 bytes .../Materials/gold_scrap.rsi/scrap_2.png | Bin 233 -> 388 bytes .../Materials/gold_scrap.rsi/scrap_3.png | Bin 182 -> 444 bytes .../Materials/iron_scrap.rsi/scrap.png | Bin 258 -> 362 bytes .../Materials/iron_scrap.rsi/scrap_2.png | Bin 228 -> 358 bytes .../Materials/iron_scrap.rsi/scrap_3.png | Bin 189 -> 442 bytes .../Materials/mithril_scrap.rsi/scrap.png | Bin 260 -> 376 bytes .../Materials/mithril_scrap.rsi/scrap_2.png | Bin 224 -> 377 bytes .../Materials/mithril_scrap.rsi/scrap_3.png | Bin 184 -> 437 bytes 70 files changed, 1652 insertions(+), 845 deletions(-) create mode 100644 Content.Shared/_CP14/Material/CP14MaterialComponent.cs create mode 100644 Content.Shared/_CP14/Material/CP14MaterialSystem.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs create mode 100644 Content.Shared/_CP14/Workbench/Requirements/StackResource.cs create mode 100644 Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml index fb6998a909..049b95455b 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml @@ -1,20 +1,14 @@  - - - - + diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs index 5fbe8b477d..8adf468ace 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRecipeControl.xaml.cs @@ -3,7 +3,7 @@ * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT */ -using Content.Shared.Stacks; +using Content.Shared._CP14.Workbench; using Robust.Client.AutoGenerated; using Robust.Client.GameObjects; using Robust.Client.UserInterface; @@ -13,13 +13,14 @@ using Robust.Shared.Prototypes; namespace Content.Client._CP14.Workbench; [GenerateTypedNameReferences] -public sealed partial class CP14WorkbenchRecipeControl : Control +public sealed partial class CP14WorkbenchRequirementControl : Control { [Dependency] private readonly IEntityManager _entity = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; private readonly SpriteSystem _sprite; - public CP14WorkbenchRecipeControl() + public CP14WorkbenchRequirementControl() { RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); @@ -27,25 +28,22 @@ public sealed partial class CP14WorkbenchRecipeControl : Control _sprite = _entity.System(); } - public CP14WorkbenchRecipeControl(EntityPrototype prototype, int count) : this() + public CP14WorkbenchRequirementControl(CP14WorkbenchCraftRequirement requirement) : this() { - var entityName = prototype.Name; - Name.Text = count <= 1 ? entityName : $"{entityName} x{count}"; + Name.Text = requirement.GetRequirementTitle(_proto); - View.Visible = false; - EntityView.SetPrototype(prototype); - } + var texture = requirement.GetRequirementTexture(_proto); + if (texture is not null) + { + View.Visible = true; + View.Texture = _sprite.Frame0(texture); + } - public CP14WorkbenchRecipeControl(StackPrototype prototype, int count) : this() - { - var entityName = Loc.GetString(prototype.Name); - Name.Text = $"{entityName} x{count}"; - - var icon = prototype.Icon; - if (icon is null) - return; - - EntityView.Visible = false; - View.Texture = _sprite.Frame0(icon); + var entityView = requirement.GetRequirementEntityView(_proto); + if (entityView is not null) + { + EntityView.Visible = true; + EntityView.SetPrototype(entityView); + } } } diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml index 049b95455b..b8bc6fc966 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml @@ -1,14 +1,22 @@  - + + + + diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs index 1ebd02ebbb..ec35e29b35 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchRequirementControl.xaml.cs @@ -14,7 +14,7 @@ using Robust.Shared.Prototypes; namespace Content.Client._CP14.Workbench; [GenerateTypedNameReferences] -public sealed partial class CP14WorkbenchRequirementControl : Control +public sealed partial class CP14WorkbenchRecipeControl : Control { [Dependency] private readonly IEntityManager _entity = default!; [Dependency] private readonly IPrototypeManager _prototype = default!; @@ -26,7 +26,7 @@ public sealed partial class CP14WorkbenchRequirementControl : Control private readonly CP14WorkbenchRecipePrototype _recipePrototype; private readonly bool _craftable; - public CP14WorkbenchRequirementControl(CP14WorkbenchUiRecipesEntry entry) + public CP14WorkbenchRecipeControl(CP14WorkbenchUiRecipesEntry entry) { RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); diff --git a/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs b/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs index 44c1ba53bb..f65f793310 100644 --- a/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs +++ b/Content.Client/_CP14/Workbench/CP14WorkbenchWindow.xaml.cs @@ -74,7 +74,7 @@ public sealed partial class CP14WorkbenchWindow : DefaultWindow if (entry.Craftable) { - var control = new CP14WorkbenchRequirementControl(entry); + var control = new CP14WorkbenchRecipeControl(entry); control.OnSelect += RecipeSelect; CraftsContainer.AddChild(control); } @@ -84,7 +84,7 @@ public sealed partial class CP14WorkbenchWindow : DefaultWindow foreach (var entry in uncraftableList) { - var control = new CP14WorkbenchRequirementControl(entry); + var control = new CP14WorkbenchRecipeControl(entry); control.OnSelect += RecipeSelect; CraftsContainer.AddChild(control); } @@ -119,14 +119,10 @@ public sealed partial class CP14WorkbenchWindow : DefaultWindow ItemDescription.Text = result.Description; ItemRequirements.RemoveAllChildren(); - foreach (var (entProtoId, count) in recipe.Entities) - { - ItemRequirements.AddChild(new CP14WorkbenchRecipeControl(_prototype.Index(entProtoId), count)); - } - foreach (var (stackProtoId, count) in recipe.Stacks) + foreach (var requirement in recipe.Requirements) { - ItemRequirements.AddChild(new CP14WorkbenchRecipeControl(_prototype.Index(stackProtoId), count)); + ItemRequirements.AddChild(new CP14WorkbenchRequirementControl(requirement)); } CraftButton.Disabled = !entry.Craftable; diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs index d4c9bac480..4609cb6780 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.UI.cs @@ -30,11 +30,11 @@ public sealed partial class CP14WorkbenchSystem if (!_proto.TryIndex(recipeId, out var indexedRecipe)) continue; - if (indexedRecipe.KnowledgeRequired is not null) - { - if (!_knowledge.HasKnowledge(user, indexedRecipe.KnowledgeRequired.Value)) - continue; - } + //if (indexedRecipe.KnowledgeRequired is not null) + //{ + // if (!_knowledge.HasKnowledge(user, indexedRecipe.KnowledgeRequired.Value)) + // continue; + //} var entry = new CP14WorkbenchUiRecipesEntry(recipeId, CanCraftRecipe(indexedRecipe, placedEntities, user)); diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs index e6ec9ba3f2..450728ce64 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs @@ -87,99 +87,16 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem return; } - if (recipe.KnowledgeRequired is not null) - _knowledge.UseKnowledge(args.User, recipe.KnowledgeRequired.Value); - var resultEntities = new HashSet(); for (int i = 0; i < recipe.ResultCount; i++) { var resultEntity = Spawn(recipe.Result); - resultEntities.Add(resultEntity); - - if (recipe.TryMergeSolutions) - { - _solutionContainer.TryGetSolution(resultEntity, recipe.Solution, out var resultSolution, out _); - - if (resultSolution is not null) - { - resultSolution.Value.Comp.Solution.MaxVolume = 0; - _solutionContainer.RemoveAllSolution(resultSolution - .Value); //If we combine ingredient solutions, we do not use the default solution prescribed in the entity. - } - } } - foreach (var requiredIngredient in recipe.Entities) + foreach (var req in recipe.Requirements) { - var requiredCount = requiredIngredient.Value; - foreach (var placedEntity in placedEntities) - { - if (!TryComp(placedEntity, out var metaData)) - continue; - - if (metaData.EntityPrototype is null) - continue; - - var placedProto = metaData.EntityPrototype.ID; - if (placedProto == requiredIngredient.Key && requiredCount > 0) - { - // Trying merge solutions - if (recipe.TryMergeSolutions) - { - _solutionContainer.TryGetSolution(placedEntity, - recipe.Solution, - out var ingredientSoln, - out var ingredientSolution); - - if (ingredientSoln is not null && - ingredientSolution is not null) - { - var splitted = _solutionContainer.SplitSolution(ingredientSoln.Value, - ingredientSolution.Volume / recipe.ResultCount); - - foreach (var resultEntity in resultEntities) - { - _solutionContainer.TryGetSolution(resultEntity, - recipe.Solution, - out var resultSolution, - out _); - if (resultSolution is not null) - { - resultSolution.Value.Comp.Solution.MaxVolume += - ingredientSoln.Value.Comp.Solution.MaxVolume / recipe.ResultCount; - _solutionContainer.TryAddSolution(resultSolution.Value, splitted); - } - } - } - } - - requiredCount--; - Del(placedEntity); - } - } - } - - foreach (var requiredStack in recipe.Stacks) - { - var requiredCount = requiredStack.Value; - foreach (var placedEntity in placedEntities) - { - if (!_stackQuery.TryGetComponent(placedEntity, out var stack)) - continue; - - if (stack.StackTypeId != requiredStack.Key) - continue; - - var count = (int)MathF.Min(requiredCount, stack.Count); - - if (stack.Count - count <= 0) - Del(placedEntity); - else - _stack.SetCount(placedEntity, stack.Count - count, stack); - - requiredCount -= count; - } + req.PostCraft(EntityManager, placedEntities, args.User); } //We teleport result to workbench AFTER craft. @@ -219,56 +136,12 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem private bool CanCraftRecipe(CP14WorkbenchRecipePrototype recipe, HashSet entities, EntityUid user) { - //Knowledge check - if (recipe.KnowledgeRequired is not null && !_knowledge.HasKnowledge(user, recipe.KnowledgeRequired.Value)) - return false; - - //Ingredients check - var indexedIngredients = IndexIngredients(entities); - foreach (var requiredIngredient in recipe.Entities) + foreach (var req in recipe.Requirements) { - if (!indexedIngredients.TryGetValue(requiredIngredient.Key, out var availableQuantity) || - availableQuantity < requiredIngredient.Value) - return false; - } - - foreach (var (key, value) in recipe.Stacks) - { - var count = 0; - foreach (var ent in entities) - { - if (_stackQuery.TryGetComponent(ent, out var stack)) - { - if (stack.StackTypeId != key) - continue; - - count += stack.Count; - } - } - - if (count < value) + if (!req.CheckRequirement(EntityManager, _proto, entities, user)) return false; } return true; } - - private Dictionary IndexIngredients(HashSet ingredients) - { - var indexedIngredients = new Dictionary(); - - foreach (var ingredient in ingredients) - { - var protoId = _metaQuery.GetComponent(ingredient).EntityPrototype?.ID; - if (protoId == null) - continue; - - if (indexedIngredients.ContainsKey(protoId)) - indexedIngredients[protoId]++; - else - indexedIngredients[protoId] = 1; - } - - return indexedIngredients; - } } diff --git a/Content.Shared/Content.Shared.csproj b/Content.Shared/Content.Shared.csproj index 4cca399b28..078fd170d6 100644 --- a/Content.Shared/Content.Shared.csproj +++ b/Content.Shared/Content.Shared.csproj @@ -16,6 +16,7 @@ false + false diff --git a/Content.Shared/_CP14/Material/CP14MaterialComponent.cs b/Content.Shared/_CP14/Material/CP14MaterialComponent.cs new file mode 100644 index 0000000000..19aa955754 --- /dev/null +++ b/Content.Shared/_CP14/Material/CP14MaterialComponent.cs @@ -0,0 +1,11 @@ +using Content.Shared.Materials; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Material; + +[RegisterComponent] +public sealed partial class CP14MaterialComponent : Component +{ + [DataField(required: true)] + public Dictionary, int> Materials = new(); +} diff --git a/Content.Shared/_CP14/Material/CP14MaterialSystem.cs b/Content.Shared/_CP14/Material/CP14MaterialSystem.cs new file mode 100644 index 0000000000..f8bba75221 --- /dev/null +++ b/Content.Shared/_CP14/Material/CP14MaterialSystem.cs @@ -0,0 +1,39 @@ +using System.Text; +using Content.Shared.Examine; +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Material; + +public sealed partial class CP14MaterialSystem : EntitySystem +{ + [Dependency] private readonly IPrototypeManager _proto = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMaterialExamined); + } + + private void OnMaterialExamined(Entity ent, ref ExaminedEvent args) + { + TryComp(ent, out var stack); + + var sb = new StringBuilder(); + + sb.Append($"{Loc.GetString("cp14-material-examine")}\n"); + foreach (var material in ent.Comp.Materials) + { + if (!_proto.TryIndex(material.Key, out var indexedMaterial)) + continue; + + var count = material.Value; + if (stack is not null) + count *= stack.Count; + + sb.Append($"[color={indexedMaterial.Color.ToHex()}]{Loc.GetString(indexedMaterial.Name)}[/color] ({count})\n"); + } + args.PushMarkup(sb.ToString()); + } + +} diff --git a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs index 2f1c88b1b6..9e1c9009c9 100644 --- a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs +++ b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs @@ -3,8 +3,6 @@ * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT */ -using Content.Shared._CP14.Knowledge.Prototypes; -using Content.Shared.Stacks; using Content.Shared.Tag; using Robust.Shared.Audio; using Robust.Shared.Prototypes; @@ -26,27 +24,12 @@ public sealed class CP14WorkbenchRecipePrototype : IPrototype [DataField] public SoundSpecifier? OverrideCraftSound; - [DataField] - public Dictionary Entities = new(); - - [DataField] - public Dictionary, int> Stacks = new(); + [DataField(required: true)] + public List Requirements = new(); [DataField(required: true)] public EntProtoId Result; [DataField] public int ResultCount = 1; - - [DataField] - public bool TryMergeSolutions = false; - - [DataField] - public string Solution = "food"; - - /// - /// If the player does not have this knowledge, the recipe will not be displayed in the workbench. - /// - [DataField] - public ProtoId? KnowledgeRequired; } diff --git a/Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs b/Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs new file mode 100644 index 0000000000..02d71cbd8b --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/KnowledgeRequired.cs @@ -0,0 +1,48 @@ +using Content.Shared._CP14.Knowledge; +using Content.Shared._CP14.Knowledge.Prototypes; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class KnowledgeRequired : CP14WorkbenchCraftRequirement +{ + /// + /// If the player does not have this knowledge, the recipe will not be displayed in the workbench. + /// + [DataField(required: true)] + public ProtoId Knowledge; + + public override bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user) + { + var knowledgeSystem = entManager.System(); + + return knowledgeSystem.HasKnowledge(user, Knowledge); + } + + public override void PostCraft(EntityManager entManager, HashSet placedEntities, EntityUid user) + { + var knowledgeSystem = entManager.System(); + knowledgeSystem.UseKnowledge(user, Knowledge); + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + return !protoManager.TryIndex(Knowledge, out var indexedKnowledge) + ? "Error knowledge" + : $"{Loc.GetString("cp14-knowledge")}: {Loc.GetString(indexedKnowledge.Name)}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + return null; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return new SpriteSpecifier.Texture(new("/Textures/Interface/students-cap.svg.192dpi.png")); + } +} diff --git a/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs b/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs new file mode 100644 index 0000000000..2b46e412ea --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs @@ -0,0 +1,112 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using Content.Shared._CP14.Material; +using Content.Shared.Materials; +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class MaterialResource : CP14WorkbenchCraftRequirement +{ + [DataField(required: true)] + public ProtoId Material; + + [DataField] + public int Count = 1; + + public override bool CheckRequirement(EntityManager entManager, IPrototypeManager protoManager, HashSet placedEntities, EntityUid user) + { + var count = 0; + foreach (var ent in placedEntities) + { + if (!entManager.TryGetComponent(ent, out var material)) + continue; + + entManager.TryGetComponent(ent, out var stack); + + foreach (var (key, value) in material.Materials) + { + if (key != Material) + continue; + + if (stack is null) + { + count += value; + } + else + { + count += value * stack.Count; + } + } + } + + if (count < Count) + return false; + + return true; + } + + public override void PostCraft(EntityManager entManager, HashSet placedEntities, EntityUid user) + { + var stackSystem = entManager.System(); + + var requiredCount = Count; + foreach (var placedEntity in placedEntities) + { + if (!entManager.TryGetComponent(placedEntity, out var material)) + continue; + + entManager.TryGetComponent(placedEntity, out var stack); + + foreach (var mat in material.Materials) + { + if (mat.Key != Material) + continue; + + if (stack is null) + { + var value = (int)MathF.Min(requiredCount, mat.Value); + requiredCount -= value; + entManager.DeleteEntity(placedEntity); + continue; + } + else + { + var materialValue = mat.Value * stack.Count; + var countToRemove = (int)MathF.Min(requiredCount, materialValue); + var newStackCount = (int)MathF.Ceiling((materialValue - countToRemove) / (float)mat.Value); + + if (newStackCount <= 0) + entManager.DeleteEntity(placedEntity); + else + stackSystem.SetCount(placedEntity, newStackCount, stack); + + requiredCount -= countToRemove; + } + } + } + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(Material, out var indexedMaterial)) + return "Error material"; + + return $"{Loc.GetString(indexedMaterial.Name)} x{Count}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + return null; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return !protoManager.TryIndex(Material, out var indexedMaterial) ? null : indexedMaterial.Icon; + } +} diff --git a/Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs b/Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs new file mode 100644 index 0000000000..912547812d --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/ProtoIdResource.cs @@ -0,0 +1,94 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class ProtoIdResource : CP14WorkbenchCraftRequirement +{ + [DataField(required: true)] + public EntProtoId ProtoId; + + [DataField] + public int Count = 1; + + public override bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user) + { + var indexedIngredients = IndexIngredients(entManager, placedEntities); + + return indexedIngredients.TryGetValue(ProtoId, out var availableQuantity) && availableQuantity >= Count; + } + + public override void PostCraft(EntityManager entManager, + HashSet placedEntities, + EntityUid user) + { + var requiredCount = Count; + + foreach (var placedEntity in placedEntities) + { + if (!entManager.TryGetComponent(placedEntity, out var metaData)) + continue; + + if (metaData.EntityPrototype is null) + continue; + + var placedProto = metaData.EntityPrototype.ID; + if (placedProto != ProtoId || requiredCount <= 0) + continue; + + requiredCount--; + entManager.DeleteEntity(placedEntity); + } + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(ProtoId, out var indexedProto)) + return "Error entity"; + + return $"{indexedProto.Name} x{Count}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(ProtoId, out var indexedProto)) + return null; + + return indexedProto; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return null; + } + + private Dictionary IndexIngredients(EntityManager entManager, HashSet ingredients) + { + var indexedIngredients = new Dictionary(); + + foreach (var ingredient in ingredients) + { + if (!entManager.TryGetComponent(ingredient, out var metaData)) + continue; + + var protoId = metaData.EntityPrototype?.ID; + if (protoId == null) + continue; + + if (indexedIngredients.ContainsKey(protoId)) + indexedIngredients[protoId]++; + else + indexedIngredients[protoId] = 1; + } + + return indexedIngredients; + } +} diff --git a/Content.Shared/_CP14/Workbench/Requirements/StackResource.cs b/Content.Shared/_CP14/Workbench/Requirements/StackResource.cs new file mode 100644 index 0000000000..814c381c0a --- /dev/null +++ b/Content.Shared/_CP14/Workbench/Requirements/StackResource.cs @@ -0,0 +1,86 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench.Requirements; + +public sealed partial class StackResource : CP14WorkbenchCraftRequirement +{ + [DataField(required: true)] + public ProtoId Stack; + + [DataField] + public int Count = 1; + + public override bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user) + { + var count = 0; + foreach (var ent in placedEntities) + { + if (!entManager.TryGetComponent(ent, out var stack)) + continue; + + if (stack.StackTypeId != Stack) + continue; + + count += stack.Count; + } + + if (count < Count) + return false; + + return true; + } + + public override void PostCraft(EntityManager entManager, + HashSet placedEntities, + EntityUid user) + { + var stackSystem = entManager.System(); + + var requiredCount = Count; + foreach (var placedEntity in placedEntities) + { + if (!entManager.TryGetComponent(placedEntity, out var stack)) + continue; + + if (stack.StackTypeId != Stack) + continue; + + var count = (int)MathF.Min(requiredCount, stack.Count); + + if (stack.Count - count <= 0) + entManager.DeleteEntity(placedEntity); + else + stackSystem.SetCount(placedEntity, stack.Count - count, stack); + + requiredCount -= count; + } + } + + public override string GetRequirementTitle(IPrototypeManager protoManager) + { + if (!protoManager.TryIndex(Stack, out var indexedStack)) + return "Error stack"; + + return $"{Loc.GetString(indexedStack.Name)} x{Count}"; + } + + public override EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager) + { + return null; + } + + public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager) + { + return !protoManager.TryIndex(Stack, out var indexedStack) ? null : indexedStack.Icon; + } +} diff --git a/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs b/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs new file mode 100644 index 0000000000..f9a9cba01a --- /dev/null +++ b/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs @@ -0,0 +1,46 @@ +/* + * This file is sublicensed under MIT License + * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT + */ + +using JetBrains.Annotations; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Workbench; + +[ImplicitDataDefinitionForInheritors] +[MeansImplicitUse] +public abstract partial class CP14WorkbenchCraftRequirement +{ + /// + /// Here a check is made that the recipe as a whole can be fulfilled at the current moment. Do not add anything that affects gameplay here, and only perform checks here. + /// + /// + public abstract bool CheckRequirement(EntityManager entManager, + IPrototypeManager protoManager, + HashSet placedEntities, + EntityUid user); + + /// + /// An event that is triggered after crafting. This is the place to put important things like removing items, spending stacks or other things. + /// + public abstract void PostCraft(EntityManager entManager, + HashSet placedEntities, + EntityUid user); + + /// + /// This text will be displayed in the description of the craft recipe. Write something like ‘Wooden planks: х10’ here + /// + public abstract string GetRequirementTitle(IPrototypeManager protoManager); + + /// + /// You can specify an icon generated from an entity. It will support layering, colour changes and other layer options. Return null to disable. + /// + public abstract EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager); + + /// + /// You can specify the texture directly. Return null to disable. + /// + public abstract SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager); +} diff --git a/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl b/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl index 74396f70d2..e5db00f043 100644 --- a/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl +++ b/Resources/Locale/en-US/_CP14/knowledge/knowledge-ui.ftl @@ -1 +1,2 @@ -cp14-knowledge-info-title = Character knowledge \ No newline at end of file +cp14-knowledge-info-title = Character knowledge +cp14-knowledge = Knowledge \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/materials/materials.ftl b/Resources/Locale/en-US/_CP14/materials/materials.ftl index bdc4a69060..a50d8d7177 100644 --- a/Resources/Locale/en-US/_CP14/materials/materials.ftl +++ b/Resources/Locale/en-US/_CP14/materials/materials.ftl @@ -1,3 +1,5 @@ +cp14-material-examine = Consists of materials: + cp14-material-wooden-planks = wooden planks cp14-material-dirt-block = dirt cp14-material-stone-block = stone diff --git a/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl b/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl index 7b4d3ffbf1..3e47e30f2d 100644 --- a/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl +++ b/Resources/Locale/ru-RU/_CP14/knowledge/knowledge-ui.ftl @@ -1 +1,2 @@ -cp14-knowledge-info-title = Знания персонажа \ No newline at end of file +cp14-knowledge-info-title = Знания персонажа +cp14-knowledge = Знания \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/materials/materials.ftl b/Resources/Locale/ru-RU/_CP14/materials/materials.ftl index 29c63edad8..8531c12330 100644 --- a/Resources/Locale/ru-RU/_CP14/materials/materials.ftl +++ b/Resources/Locale/ru-RU/_CP14/materials/materials.ftl @@ -1,3 +1,5 @@ +cp14-material-examine = Состоит из материалов: + cp14-material-wooden-planks = деревянные доски cp14-material-dirt-block = земля cp14-material-stone-block = камень diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml index e5db1f2943..722c8c0c83 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/demiplane.yml @@ -39,8 +39,8 @@ - id: CP14SpellScrollPlantGrowth - id: CP14EnergyCrystalSmallEmpty - id: CP14BaseSharpeningStone - - id: CP14GlassShard - - id: CP14Paper + - id: CP14ScrapCopper + - id: CP14ScrapIron # Rare - !type:GroupSelector weight: 25 @@ -54,10 +54,6 @@ - id: CP14VialSmallBlueAmanita - id: CP14VialTinyChromiumSlime - id: CP14VialTinyLumiMushroom - - !type:GroupSelector - children: - - id: CP14BookKnowledgeClothingSewing - - id: CP14BookKnowledgeWallpaperCraft - id: CP14BaseLockpick - id: CP14EnergyCrystalMediumEmpty - id: CP14DemiplaneKeyT1 @@ -96,20 +92,17 @@ # T1 loot chance - !type:NestedSelector tableId: CP14TableDemiplaneLootT1 - weight: 0.25 + weight: 2 #Temp (small amount T2 loot) - !type:GroupSelector children: - id: CP14SpellScrollShadowStep - id: CP14SpellScrollFireball - id: CP14SpellScrollBeerCreation weight: 0.2 - - !type:GroupSelector - children: - - id: CP14BookKnowledgeAdvancedClothingSewing - - id: CP14BookKnowledgeMetallMelting - - id: CP14BookKnowledgeMetallForging - - id: CP14BookKnowledgeGlasswork - id: CP14EnergyCrystalMediumEmpty + - id: CP14ScrapGold + - id: CP14ScrapMithril + weight: 0.5 # Rare - !type:GroupSelector weight: 25 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml index edcc9a1d46..a88bee5596 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml @@ -23,6 +23,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Copper: 10 - type: entity id: CP14CopperBar5 @@ -67,6 +70,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Iron: 10 - type: entity id: CP14IronBar5 @@ -110,6 +116,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Gold: 10 - type: entity id: CP14GoldBar5 @@ -193,6 +202,9 @@ - bar_2 - bar_3 - type: Material + #- type: CP14Material + # materials: + # CP14Mithril: 10 - type: entity id: CP14MithrilBar5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml index 7bc1a15854..5f2f1dd631 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml @@ -21,7 +21,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Copper: 2 - type: entity id: CP14OreCopper5 @@ -64,7 +66,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Iron: 2 - type: entity id: CP14OreIron5 @@ -107,7 +111,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Gold: 2 - type: entity id: CP14OreGold5 @@ -150,7 +156,9 @@ - ore1 - ore2 - ore3 - - type: Material + - type: CP14Material + materials: + CP14Mithril: 2 - type: entity id: CP14OreMithril5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml index d5427527e8..52807bc44c 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml @@ -24,6 +24,9 @@ layers: - state: scrap map: ["random"] + - type: CP14Material + materials: + CP14Copper: 5 - type: entity id: CP14ScrapIron @@ -36,6 +39,9 @@ layers: - state: scrap map: ["random"] + - type: CP14Material + materials: + CP14Iron: 5 - type: entity id: CP14ScrapGold @@ -48,6 +54,9 @@ layers: - state: scrap map: ["random"] + - type: CP14Material + materials: + CP14Gold: 5 - type: entity id: CP14ScrapMithril @@ -59,4 +68,7 @@ sprite: _CP14/Objects/Materials/mithril_scrap.rsi layers: - state: scrap - map: ["random"] \ No newline at end of file + map: ["random"] + - type: CP14Material + materials: + CP14Mithril: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml index 5ac96e732f..b8b164d161 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronAxe + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeAxeBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldAxe + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeAxeBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperAxe + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeAxeBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilAxe + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml index 218c9922b2..d20a10d0f0 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronDagger + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeDaggerBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldDagger + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeDaggerBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperDagger + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeDaggerBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilDagger + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml index d834a5d18c..c604260083 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronHammer + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeHammerBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldHammer + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeHammerBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperHammer + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeHammerBase @@ -64,4 +73,7 @@ color: "#45d2a4" - type: CP14ModularCraftPart possibleParts: - - BladeMithrilHammer \ No newline at end of file + - BladeMithrilHammer + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml index 866b8b5e4e..a7891a8def 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronMace + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeMaceBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldMace + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeMaceBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperMace + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeMaceBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilMace + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml index 4be5fcb4f0..f656250f00 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronPickaxe + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladePickaxeBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldPickaxe + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladePickaxeBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperPickaxe + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladePickaxeBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilPickaxe + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml index 5b45ab230a..94ac8f9e35 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronRapier + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeRapierBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldRapier + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeRapierBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperRapier + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeRapierBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilRapier + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml index 482b35c871..8fef7b39e7 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronShovel + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeShovelBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldShovel + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeShovelBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperShovel + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeShovelBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilShovel + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml index 9f900e0e79..7cbee00c5a 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml @@ -23,6 +23,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSickle + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeSickleBase @@ -37,6 +40,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSickle + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeSickleBase @@ -51,6 +57,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSickle + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeSickleBase @@ -65,3 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSickle + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml index 1e75195fa4..0c10b8f474 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml @@ -24,6 +24,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSpear + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeSpearBase @@ -39,6 +42,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSpear + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeSpearBase @@ -54,6 +60,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSpear + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeSpearBase @@ -68,4 +77,7 @@ color: "#45d2a4" - type: CP14ModularCraftPart possibleParts: - - BladeMithrilSpear \ No newline at end of file + - BladeMithrilSpear + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml index a3b7f0a351..3fd47e7a3c 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml @@ -22,6 +22,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSword + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularBladeSwordBase @@ -36,6 +39,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSword + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularBladeSwordBase @@ -50,6 +56,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSword + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularBladeSwordBase @@ -64,6 +73,9 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSword + - type: CP14Material + materials: + CP14Mithril: 10 - type: entity parent: CP14ModularBladeSwordBase diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml index a91fd10621..0d27805f3f 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml @@ -24,6 +24,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpIron + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularGardeBase @@ -39,6 +42,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpGold + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularGardeBase @@ -54,6 +60,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpCopper + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularGardeBase @@ -69,3 +78,6 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpMithril + - type: CP14Material + materials: + CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml index d0dc9e68c0..caa9dccee3 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml @@ -11,6 +11,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyIron + - type: CP14Material + materials: + CP14Iron: 10 - type: entity parent: CP14ModularGardeBase @@ -26,6 +29,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyGold + - type: CP14Material + materials: + CP14Gold: 10 - type: entity parent: CP14ModularGardeBase @@ -41,6 +47,9 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyCopper + - type: CP14Material + materials: + CP14Copper: 10 - type: entity parent: CP14ModularGardeBase @@ -55,4 +64,7 @@ color: "#45d2a4" - type: CP14ModularCraftPart possibleParts: - - GardeSturdyMithril \ No newline at end of file + - GardeSturdyMithril + - type: CP14Material + materials: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Materials/simple.yml b/Resources/Prototypes/_CP14/Materials/simple.yml index 81c3efab56..72d962f421 100644 --- a/Resources/Prototypes/_CP14/Materials/simple.yml +++ b/Resources/Prototypes/_CP14/Materials/simple.yml @@ -48,7 +48,7 @@ stackEntity: CP14CopperBar1 name: cp14-material-copper unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/copper_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/copper_scrap.rsi, state: scrap } color: "#9a5e22" price: 0 @@ -57,7 +57,7 @@ stackEntity: CP14IronBar1 name: cp14-material-iron unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/iron_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/iron_scrap.rsi, state: scrap_2 } color: "#9093a1" price: 0 @@ -66,7 +66,7 @@ stackEntity: CP14GoldBar1 name: cp14-material-gold unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/gold_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/gold_scrap.rsi, state: scrap_3 } color: "#FFD700" price: 0 @@ -75,7 +75,7 @@ stackEntity: CP14MithrilBar1 name: cp14-material-mithril unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/mithril_bar.rsi, state: bar_2 } + icon: { sprite: _CP14/Objects/Materials/mithril_scrap.rsi, state: scrap } color: "#006c83" price: 0 diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml index 33a11f733f..35f58fcd5d 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/axe.yml @@ -30,7 +30,7 @@ - type: modularPart id: BladeIronAxe targetSlot: Blade - sourcePart: CP14ModularBladeIronAxe + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi modifiers: - !type:Inherit @@ -41,7 +41,7 @@ - type: modularPart id: BladeGoldAxe targetSlot: Blade - sourcePart: CP14ModularBladeGoldAxe + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi color: "#ffaf47" modifiers: @@ -53,7 +53,7 @@ - type: modularPart id: BladeCopperAxe targetSlot: Blade - sourcePart: CP14ModularBladeCopperAxe + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi color: "#bd712f" modifiers: @@ -65,7 +65,7 @@ - type: modularPart id: BladeMithrilAxe targetSlot: Blade - sourcePart: CP14ModularBladeMithrilAxe + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Axe/metall_axe.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml index b6dcee4305..6c13ad20b2 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/dagger.yml @@ -35,7 +35,7 @@ - type: modularPart id: BladeIronDagger targetSlot: Blade - sourcePart: CP14ModularBladeIronDagger + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi modifiers: - !type:Inherit @@ -46,7 +46,7 @@ - type: modularPart id: BladeGoldDagger targetSlot: Blade - sourcePart: CP14ModularBladeGoldDagger + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi color: "#ffaf47" modifiers: @@ -58,7 +58,7 @@ - type: modularPart id: BladeCopperDagger targetSlot: Blade - sourcePart: CP14ModularBladeCopperDagger + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi color: "#bd712f" modifiers: @@ -70,7 +70,7 @@ - type: modularPart id: BladeMithrilDagger targetSlot: Blade - sourcePart: CP14ModularBladeMithrilDagger + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml index 950e55bb4f..79f27976f2 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/hammer.yml @@ -47,7 +47,7 @@ - type: modularPart id: BladeIronHammer targetSlot: Blade - sourcePart: CP14ModularBladeIronHammer + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi modifiers: - !type:Inherit @@ -58,7 +58,7 @@ - type: modularPart id: BladeGoldHammer targetSlot: Blade - sourcePart: CP14ModularBladeGoldHammer + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi color: "#ffaf47" modifiers: @@ -70,7 +70,7 @@ - type: modularPart id: BladeCopperHammer targetSlot: Blade - sourcePart: CP14ModularBladeCopperHammer + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi color: "#bd712f" modifiers: @@ -82,7 +82,7 @@ - type: modularPart id: BladeMithrilHammer targetSlot: Blade - sourcePart: CP14ModularBladeMithrilHammer + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Hammer/metall_hammer.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml index 6e47ec3c28..2df624ec27 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/mace.yml @@ -28,7 +28,7 @@ - type: modularPart id: BladeIronMace targetSlot: Blade - sourcePart: CP14ModularBladeIronMace + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi modifiers: - !type:Inherit @@ -39,7 +39,7 @@ - type: modularPart id: BladeGoldMace targetSlot: Blade - sourcePart: CP14ModularBladeGoldMace + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi color: "#ffaf47" modifiers: @@ -51,7 +51,7 @@ - type: modularPart id: BladeCopperMace targetSlot: Blade - sourcePart: CP14ModularBladeCopperMace + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi color: "#bd712f" modifiers: @@ -63,7 +63,7 @@ - type: modularPart id: BladeMithrilMace targetSlot: Blade - sourcePart: CP14ModularBladeMithrilMace + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Mace/metall_mace.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml index b45c875f1d..5414461d47 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml @@ -23,7 +23,7 @@ - type: modularPart id: BladeIronPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeIronPickaxe + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi modifiers: - !type:Inherit @@ -34,7 +34,7 @@ - type: modularPart id: BladeGoldPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeGoldPickaxe + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi color: "#ffaf47" modifiers: @@ -46,7 +46,7 @@ - type: modularPart id: BladeCopperPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeCopperPickaxe + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi color: "#bd712f" modifiers: @@ -58,7 +58,7 @@ - type: modularPart id: BladeMithrilPickaxe targetSlot: Blade - sourcePart: CP14ModularBladeMithrilPickaxe + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml index 799526ff32..258e0dfd43 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/rapier.yml @@ -34,7 +34,7 @@ - type: modularPart id: BladeIronRapier targetSlot: Blade - sourcePart: CP14ModularBladeIronRapier + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi modifiers: - !type:Inherit @@ -45,7 +45,7 @@ - type: modularPart id: BladeGoldRapier targetSlot: Blade - sourcePart: CP14ModularBladeGoldRapier + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi color: "#ffaf47" modifiers: @@ -57,7 +57,7 @@ - type: modularPart id: BladeCopperRapier targetSlot: Blade - sourcePart: CP14ModularBladeCopperRapier + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi color: "#bd712f" modifiers: @@ -69,7 +69,7 @@ - type: modularPart id: BladeMithrilRapier targetSlot: Blade - sourcePart: CP14ModularBladeMithrilRapier + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Rapier/metall_rapier.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml index fd624ae079..a29c3368a9 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/shovel.yml @@ -32,7 +32,7 @@ - type: modularPart id: BladeIronShovel targetSlot: Blade - sourcePart: CP14ModularBladeIronShovel + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi modifiers: - !type:Inherit @@ -43,7 +43,7 @@ - type: modularPart id: BladeGoldShovel targetSlot: Blade - sourcePart: CP14ModularBladeGoldShovel + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi color: "#ffaf47" modifiers: @@ -55,7 +55,7 @@ - type: modularPart id: BladeCopperShovel targetSlot: Blade - sourcePart: CP14ModularBladeCopperShovel + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi color: "#bd712f" modifiers: @@ -67,7 +67,7 @@ - type: modularPart id: BladeMithrilShovel targetSlot: Blade - sourcePart: CP14ModularBladeMithrilShovel + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml index 636459ba60..36027bfab8 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/sickle.yml @@ -25,7 +25,7 @@ - type: modularPart id: BladeIronSickle targetSlot: Blade - sourcePart: CP14ModularBladeIronSickle + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi modifiers: - !type:Inherit @@ -36,7 +36,7 @@ - type: modularPart id: BladeGoldSickle targetSlot: Blade - sourcePart: CP14ModularBladeIronSickle + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi color: "#ffaf47" modifiers: @@ -48,7 +48,7 @@ - type: modularPart id: BladeCopperSickle targetSlot: Blade - sourcePart: CP14ModularBladeCopperSickle + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi color: "#bd712f" modifiers: @@ -60,7 +60,7 @@ - type: modularPart id: BladeMithrilSickle targetSlot: Blade - sourcePart: CP14ModularBladeMithrilSickle + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Sickle/metall_sickle.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml index 87248c3425..415bb39b84 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/spear.yml @@ -40,7 +40,7 @@ - type: modularPart id: BladeIronSpear targetSlot: Blade - sourcePart: CP14ModularBladeIronSpear + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi modifiers: - !type:Inherit @@ -51,7 +51,7 @@ - type: modularPart id: BladeGoldSpear targetSlot: Blade - sourcePart: CP14ModularBladeGoldSpear + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi color: "#ffaf47" modifiers: @@ -63,7 +63,7 @@ - type: modularPart id: BladeCopperSpear targetSlot: Blade - sourcePart: CP14ModularBladeCopperSpear + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi color: "#bd712f" modifiers: @@ -75,7 +75,7 @@ - type: modularPart id: BladeMithrilSpear targetSlot: Blade - sourcePart: CP14ModularBladeMithrilSpear + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Spear/metall_spear.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml index e2497c70fd..91e6717e3f 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/sword.yml @@ -36,7 +36,7 @@ - type: modularPart id: BladeIronSword targetSlot: Blade - sourcePart: CP14ModularBladeIronSword + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi modifiers: - !type:Inherit @@ -47,7 +47,7 @@ - type: modularPart id: BladeGoldSword targetSlot: Blade - sourcePart: CP14ModularBladeGoldSword + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi color: "#ffaf47" modifiers: @@ -59,7 +59,7 @@ - type: modularPart id: BladeCopperSword targetSlot: Blade - sourcePart: CP14ModularBladeCopperSword + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi color: "#bd712f" modifiers: @@ -71,7 +71,7 @@ - type: modularPart id: BladeMithrilSword targetSlot: Blade - sourcePart: CP14ModularBladeMithrilSword + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Blade/Sword/metall_sword.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml b/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml index 3db9306cce..4fdc31dbd9 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Garde/sharp.yml @@ -12,7 +12,7 @@ - type: modularPart id: GardeSharpIron targetSlot: Garde - sourcePart: CP14ModularGardeSharpIron + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi modifiers: - !type:Inherit @@ -22,7 +22,7 @@ - type: modularPart id: GardeSharpGold targetSlot: Garde - sourcePart: CP14ModularGardeSharpGold + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi color: "#ffaf47" modifiers: @@ -33,7 +33,7 @@ - type: modularPart id: GardeSharpCopper targetSlot: Garde - sourcePart: CP14ModularGardeSharpCopper + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi color: "#bd712f" modifiers: @@ -44,7 +44,7 @@ - type: modularPart id: GardeSharpMithril targetSlot: Garde - sourcePart: CP14ModularGardeSharpMithril + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Garde/metall_sharp.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml b/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml index 87d969f2c8..2f9dbf2489 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Garde/sturdy.yml @@ -12,7 +12,7 @@ - type: modularPart id: GardeSturdyIron targetSlot: Garde - sourcePart: CP14ModularGardeSturdyIron + sourcePart: CP14ScrapIron rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi modifiers: - !type:Inherit @@ -22,7 +22,7 @@ - type: modularPart id: GardeSturdyGold targetSlot: Garde - sourcePart: CP14ModularGardeSturdyGold + sourcePart: CP14ScrapGold rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi color: "#ffaf47" modifiers: @@ -33,7 +33,7 @@ - type: modularPart id: GardeSturdyCopper targetSlot: Garde - sourcePart: CP14ModularGardeSturdyCopper + sourcePart: CP14ScrapCopper rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi color: "#bd712f" modifiers: @@ -44,7 +44,7 @@ - type: modularPart id: GardeSturdyMithril targetSlot: Garde - sourcePart: CP14ModularGardeSturdyMithril + sourcePart: CP14ScrapMithril rsiPath: _CP14/Objects/ModularTools/Garde/metall_sturdy.rsi color: "#45d2a4" modifiers: diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml index 1139eedea0..a4ec7804b5 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml @@ -2,158 +2,203 @@ id: CP14BaseShield tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14WoodenPlanks: 2 - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseShield - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseCrowbar tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseCrowbar - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseWrench tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseWrench - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14PlatePie tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14PlatePie - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCuirass tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 5 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 5 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCuirass - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingInfantryCuirass tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 6 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 6 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingInfantryCuirass - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCuirassLoincloth tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 6 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 6 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCuirassLoincloth - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCuirassLeg tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 7 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 7 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCuirassLeg - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14Nail10 tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14Nail10 - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14CrystalLampBlueEmpty tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14CrystalLampBlueEmpty - knowledgeRequired: MetallForging - -- type: CP14Recipe - id: CP14CrystalLampOrangeEmpty - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14CopperBar: 2 - CP14IronBar: 1 - result: CP14CrystalLampOrangeEmpty - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14Scissors tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14Scissors - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingOuterClothingCopperArmor tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 6 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 6 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingOuterClothingCopperArmor - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14Crossbolt tag: CP14RecipeAnvil craftTime: 1 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14Crossbolt resultCount: 3 - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseLockpick tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseLockpick - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ClothingHeadCapellina tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 3 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 3 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ClothingHeadCapellina - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14BaseLightCrossbow tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 - CP14IronBar: 3 - entities: - CP14String: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:StackResource + stack: CP14IronBar + count: 3 + - !type:ProtoIdResource + protoId: CP14String + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14BaseLightCrossbow - knowledgeRequired: MetallForging diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml index abeb2d14b8..be59c2917d 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_blade.yml @@ -5,37 +5,49 @@ id: CP14ModularBladeIronDagger tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronDagger - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldDagger tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldDagger - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperDagger tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperDagger - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilDagger tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilDagger - knowledgeRequired: MetallForging # Spear @@ -43,37 +55,49 @@ id: CP14ModularBladeIronSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronSpear - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperSpear - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldSpear - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilSpear tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilSpear - knowledgeRequired: MetallForging # Mace @@ -81,37 +105,49 @@ id: CP14ModularBladeIronMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronMace - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldMace - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperMace - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilMace tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilMace - knowledgeRequired: MetallForging # Sword @@ -119,37 +155,49 @@ id: CP14ModularBladeIronSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronSword - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldSword - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperSword - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilSword tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilSword - knowledgeRequired: MetallForging # Sickle @@ -157,37 +205,49 @@ id: CP14ModularBladeIronSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronSickle - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperSickle - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldSickle - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilSickle tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilSickle - knowledgeRequired: MetallForging # Shovel @@ -195,38 +255,50 @@ id: CP14ModularBladeIronShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronShovel - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldShovel - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperShovel - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilShovel tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilShovel - knowledgeRequired: MetallForging # Pickaxe @@ -234,37 +306,49 @@ id: CP14ModularBladeIronPickaxe tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronPickaxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldPickaxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldPickaxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperPickaxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperPickaxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilPickaxe tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilPickaxe - knowledgeRequired: MetallForging # Grip @@ -272,37 +356,49 @@ id: CP14ModularGripIron tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripIron - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripCopper tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripCopper - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripGolden tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripGolden - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripMithril tag: CP14RecipeAnvil craftTime: 2 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripMithril - knowledgeRequired: MetallForging # Grip long @@ -310,37 +406,49 @@ id: CP14ModularGripIronLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripIronLong - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripCopperLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripCopperLong - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripGoldLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripGoldLong - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGripMithrilLong tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGripMithrilLong - knowledgeRequired: MetallForging # Rapier @@ -348,37 +456,49 @@ id: CP14ModularBladeIronRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronRapier - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldRapier - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperRapier - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilRapier tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilRapier - knowledgeRequired: MetallForging # Axe @@ -386,37 +506,49 @@ id: CP14ModularBladeIronAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronAxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperAxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldAxe - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilAxe tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilAxe - knowledgeRequired: MetallForging # Hammer @@ -424,35 +556,47 @@ id: CP14ModularBladeIronHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 2 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeIronHammer - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeCopperHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeCopperHammer - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeGoldHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 2 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeGoldHammer - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularBladeMithrilHammer tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 2 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 2 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularBladeMithrilHammer - knowledgeRequired: MetallForging \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml index b6fd7135b2..009386a52d 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/modular_garde.yml @@ -4,37 +4,41 @@ id: CP14ModularGardeSharpCopper tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 result: CP14ModularGardeSharpCopper - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSharpIron tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 result: CP14ModularGardeSharpIron - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSharpGold tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 result: CP14ModularGardeSharpGold - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSharpMithril tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 1 + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 result: CP14ModularGardeSharpMithril - knowledgeRequired: MetallForging # Sturdy garde @@ -42,34 +46,46 @@ id: CP14ModularGardeSturdyCopper tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14CopperBar: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGardeSturdyCopper - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSturdyIron tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14IronBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGardeSturdyIron - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSturdyGold tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14GoldBar: 1 + requirements: + - !type:StackResource + stack: CP14GoldBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging result: CP14ModularGardeSturdyGold - knowledgeRequired: MetallForging - type: CP14Recipe id: CP14ModularGardeSturdyMithril tag: CP14RecipeAnvil craftTime: 4 - stacks: - CP14MithrilBar: 1 - result: CP14ModularGardeSturdyMithril - knowledgeRequired: MetallForging \ No newline at end of file + requirements: + - !type:StackResource + stack: CP14MithrilBar + count: 1 + - !type:KnowledgeRequired + knowledge: MetallForging + result: CP14ModularGardeSturdyMithril \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml index c29cb6d8e4..eb0f950a25 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/misc.yml @@ -2,34 +2,40 @@ id: CP14FoodMeatLamb tag: CP14RecipeCooking craftTime: 2 - entities: - CP14FoodMeatLambSlice: 2 - CP14FoodEgg: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodMeatLambSlice + count: 2 + - !type:ProtoIdResource + protoId: CP14FoodEgg result: CP14FoodMeatLambCutlet - tryMergeSolutions: true - type: CP14Recipe id: CP14FoodDoughLarge tag: CP14RecipeCooking craftTime: 2 - entities: - CP14FoodDoughMedium: 4 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodDoughMedium + count: 4 result: CP14FoodDoughLarge - tryMergeSolutions: true - type: CP14Recipe id: CP14FoodDoughMedium tag: CP14RecipeCooking craftTime: 2 - entities: - CP14Wheat: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14Wheat + count: 2 result: CP14FoodDoughMedium - type: CP14Recipe id: CP14FoodDoughMediumFlat tag: CP14RecipeCooking craftTime: 2 - entities: - CP14FoodDoughMedium: 1 - result: CP14FoodDoughMediumFlat - tryMergeSolutions: true \ No newline at end of file + requirements: + - !type:ProtoIdResource + protoId: CP14FoodDoughMedium + count: 1 + result: CP14FoodDoughMediumFlat \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml index 96ff92d288..0dc965fa32 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/pies.yml @@ -2,20 +2,26 @@ id: CP14FoodPieAppleRaw tag: CP14RecipeCooking craftTime: 5 - entities: - CP14PlatePie: 1 - CP14FoodDoughMediumFlat: 1 - CP14FoodAppleSlice: 4 + requirements: + - !type:ProtoIdResource + protoId: CP14PlatePie + - !type:ProtoIdResource + protoId: CP14FoodDoughMediumFlat + - !type:ProtoIdResource + protoId: CP14FoodAppleSlice + count: 4 result: CP14FoodPieAppleRaw - tryMergeSolutions: true - type: CP14Recipe id: CP14FoodPieMeatRaw tag: CP14RecipeCooking craftTime: 5 - entities: - CP14PlatePie: 1 - CP14FoodDoughMediumFlat: 1 - CP14FoodMeatLambSlice: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14PlatePie + - !type:ProtoIdResource + protoId: CP14FoodDoughMediumFlat + - !type:ProtoIdResource + protoId: CP14FoodMeatLambSlice + count: 3 result: CP14FoodPieMeatRaw - tryMergeSolutions: true diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml index 8a5b72e4a1..ac7048a470 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/CookingTable/seeds.yml @@ -2,38 +2,48 @@ id: CP14SeedWheat tag: CP14RecipeCooking craftTime: 1 - entities: - CP14Wheat: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14Wheat + count: 1 result: CP14SeedWheat - type: CP14Recipe id: CP14SeedTomato tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodTomatoesSlice: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodTomatoesSlice + count: 1 result: CP14SeedTomato - type: CP14Recipe id: CP14SeedCabbage tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodCabbageSlice: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodCabbageSlice + count: 1 result: CP14SeedCabbage - type: CP14Recipe id: CP14SeedPumpkin tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodPumpkinSlice: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodPumpkinSlice + count: 1 result: CP14SeedPumpkin - type: CP14Recipe id: CP14SeedCucumber tag: CP14RecipeCooking craftTime: 1 - entities: - CP14FoodCucumber: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14FoodCucumber + count: 1 result: CP14SeedCucumber \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml index 87302492e1..5961f6fd3c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml @@ -2,37 +2,50 @@ id: CP14CopperBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreCopper: 4 + requirements: + - !type:MaterialResource + material: CP14Copper + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14CopperBar1 - knowledgeRequired: MetallMelting + resultCount: 3 - type: CP14Recipe id: CP14IronBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreIron: 4 + requirements: + - !type:MaterialResource + material: CP14Iron + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14IronBar1 - knowledgeRequired: MetallMelting - type: CP14Recipe id: CP14GoldBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreGold: 4 + requirements: + - !type:MaterialResource + material: CP14Gold + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14GoldBar1 - knowledgeRequired: MetallMelting - type: CP14Recipe id: CP14MithrilBar1 tag: CP14RecipeMeltingFurnace craftTime: 4 - stacks: - CP14OreMithril: 4 + requirements: + - !type:MaterialResource + material: CP14Mithril + count: 10 + - !type:KnowledgeRequired + knowledge: MetallMelting result: CP14MithrilBar1 - knowledgeRequired: MetallMelting #- type: CP14Recipe # id: CP14GlassSheet1 @@ -47,46 +60,65 @@ id: CP14GlassSheetShard1 tag: CP14RecipeMeltingFurnace craftTime: 2 - entities: - CP14GlassShard: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14GlassShard + count: 2 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14GlassSheet1 - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialTiny tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14GlassSheet: 1 + requirements: + - !type:StackResource + stack: CP14GlassSheet + count: 1 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialTiny - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialTinyReinforced tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14CopperBar: 1 - CP14GlassSheet: 1 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:StackResource + stack: CP14GlassSheet + count: 1 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialTinyReinforced - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialSmall tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14GlassSheet: 2 + requirements: + - !type:StackResource + stack: CP14GlassSheet + count: 2 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialSmall - knowledgeRequired: Glasswork - type: CP14Recipe id: CP14VialSmallReinforced tag: CP14RecipeMeltingFurnace craftTime: 3 - stacks: - CP14CopperBar: 1 - CP14GlassSheet: 2 + requirements: + - !type:StackResource + stack: CP14CopperBar + count: 1 + - !type:StackResource + stack: CP14GlassSheet + count: 2 + - !type:KnowledgeRequired + knowledge: Glasswork result: CP14VialSmallReinforced - knowledgeRequired: Glasswork \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml index afd3dfa5f6..fa1d2aa48c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/sewing_table.yml @@ -2,265 +2,356 @@ id: CP14ClothingShirtCottonBlue tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonBlue - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonBlack tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlack: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonBlack - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonPurple tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyePurple: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyePurple + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonPurple - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonRed tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonRed - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonWhite tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonWhite - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtCottonYellow tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingShirtCottonYellow - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsTrouserWhite tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsTrouserWhite - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsTrouserDarkBlue tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsTrouserDarkBlue - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsDressBlack tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlack: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsDressBlack - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingPantsSouthernMagician tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingPantsSouthernMagician - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretRed tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretRed - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretPurple tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyePurple: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyePurple + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretPurple - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretYellow tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretYellow - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretBlue tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretBlue - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretBlack tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlack: 1 - stacks: - CP14Cloth: 1 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:StackResource + stack: CP14Cloth + count: 1 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBeretBlack - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBandanaWhite tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBandanaWhite - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadBandanaYellow tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadBandanaYellow - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingHeadWreath tag: CP14RecipeSewing craftTime: 2 - entities: - CP14BloodFlower: 2 - CP14Dayflin: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14BloodFlower + count: 2 + - !type:ProtoIdResource + protoId: CP14Dayflin + count: 2 + - !type:KnowledgeRequired + knowledge: ClothingSewing result: CP14ClothingHeadWreath - knowledgeRequired: ClothingSewing - type: CP14Recipe id: CP14ClothingShirtMercenary tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingShirtMercenary - knowledgeRequired: AdvancedClothingSewing - type: CP14Recipe id: CP14ClothingShirtYellowWizard tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeYellow: 1 - CP14DyeBlue: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 3 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 3 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingShirtYellowWizard - knowledgeRequired: AdvancedClothingSewing - type: CP14Recipe id: CP14ClothingHeadBeretMercenary tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeRed: 1 - CP14DyeBlue: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingHeadBeretMercenary - knowledgeRequired: AdvancedClothingSewing - type: CP14Recipe id: CP14ClothingPantsMercenaryTrousers tag: CP14RecipeSewing craftTime: 2 - entities: - CP14String: 1 - CP14DyeBlue: 1 - CP14DyeRed: 1 - stacks: - CP14Cloth: 2 + requirements: + - !type:ProtoIdResource + protoId: CP14String + - !type:ProtoIdResource + protoId: CP14DyeBlue + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:StackResource + stack: CP14Cloth + count: 2 + - !type:KnowledgeRequired + knowledge: AdvancedClothingSewing result: CP14ClothingPantsMercenaryTrousers - knowledgeRequired: AdvancedClothingSewing # Wallpaper (TODO: Move to separate workbench?) @@ -268,125 +359,92 @@ id: CP14WallpaperBlack tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeBlack: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeBlack + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperBlack - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperGreen tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeGreen: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeGreen + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperGreen - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperPurple tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyePurple: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyePurple + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperPurple - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperRed tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeRed: 1 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeRed + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperRed - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperWhite tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperWhite - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperWhite2 tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:KnowledgeRequired + knowledge: WallpaperCraft result: CP14WallpaperWhite2 - knowledgeRequired: WallpaperCraft - type: CP14Recipe id: CP14WallpaperYellow tag: CP14RecipeSewing craftTime: 2 - stacks: - CP14Cloth: 10 - entities: - CP14DyeYellow: 1 - result: CP14WallpaperYellow - knowledgeRequired: WallpaperCraft - -- type: CP14Recipe - id: CP14CrayonBlack - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeBlack: 1 - result: CP14CrayonBlack - -- type: CP14Recipe - id: CP14CrayonRed - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeRed: 1 - result: CP14CrayonRed - -- type: CP14Recipe - id: CP14CrayonYellow - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeYellow: 1 - result: CP14CrayonYellow - -- type: CP14Recipe - id: CP14CrayonGreen - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeGreen: 1 - result: CP14CrayonGreen - -- type: CP14Recipe - id: CP14CrayonBlue - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyeBlue: 1 - result: CP14CrayonBlue - -- type: CP14Recipe - id: CP14CrayonPurple - tag: CP14RecipeSewing - craftTime: 2 - entities: - CP14CrayonWhite: 1 - CP14DyePurple: 1 - result: CP14CrayonPurple \ No newline at end of file + requirements: + - !type:StackResource + stack: CP14Cloth + count: 10 + - !type:ProtoIdResource + protoId: CP14DyeYellow + - !type:KnowledgeRequired + knowledge: WallpaperCraft + result: CP14WallpaperYellow \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml index 8d6889864c..df4944edfa 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml @@ -2,114 +2,140 @@ id: CP14Bucket tag: CP14RecipeWorkbench craftTime: 2 - entities: - CP14Rope: 1 - stacks: - CP14WoodenPlanks: 3 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 3 + - !type:ProtoIdResource + protoId: CP14Rope + count: 1 result: CP14Bucket - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14WoodenBeerMug tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 2 - CP14Nail: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 + - !type:StackResource + stack: CP14Nail + count: 1 result: CP14WoodenBeerMug - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Plate tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 result: CP14Plate - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14BaseMop tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 2 - CP14Cloth: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 + - !type:StackResource + stack: CP14Cloth + count: 1 result: CP14BaseMop - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Torch tag: CP14RecipeWorkbench craftTime: 4 - stacks: - CP14WoodenPlanks: 3 - CP14Cloth: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 3 + - !type:StackResource + stack: CP14Cloth + count: 1 result: CP14Torch - type: CP14Recipe id: CP14Lighter tag: CP14RecipeWorkbench craftTime: 4 - stacks: - CP14Stone: 1 - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14Stone + count: 2 + - !type:StackResource + stack: CP14IronBar + count: 1 result: CP14Lighter - type: CP14Recipe id: CP14ModularGripWooden tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14WoodenPlanks: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 2 result: CP14ModularGripWooden - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14ModularGripWoodenLong tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14WoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 4 result: CP14ModularGripWoodenLong - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14ModularGripLucens tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14LucensWoodenPlanks: 1 + requirements: + - !type:StackResource + stack: CP14LucensWoodenPlanks + count: 2 result: CP14ModularGripLucens - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14ModularGripLucensLong tag: CP14RecipeWorkbench craftTime: 2 - stacks: - CP14LucensWoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14LucensWoodenPlanks + count: 4 result: CP14ModularGripLucensLong - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Bow tag: CP14RecipeWorkbench craftTime: 2 - entities: - CP14String: 1 - stacks: - CP14WoodenPlanks: 2 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 4 + - !type:ProtoIdResource + protoId: CP14String + count: 1 result: CP14BowCombat - knowledgeRequired: WoodWork - type: CP14Recipe id: CP14Arrow tag: CP14RecipeWorkbench craftTime: 3 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 1 + requirements: + - !type:StackResource + stack: CP14WoodenPlanks + count: 1 + - !type:StackResource + stack: CP14IronBar + count: 1 result: CP14Arrow resultCount: 4 - knowledgeRequired: WoodWork diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap.png b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap.png index b95f930f7c7ab88cec5cc3ac2287e3de28bbc41b..9bc9ee6c5b5ffad584b9bd72892f343f1f28b490 100644 GIT binary patch delta 316 zcmV-C0mJ@=0^1u(LAuFJksAtymO_zk4nn5V(J^Z` zcYlOGz@-lDPw41aoCJq#4gt|A!qI>b+(M^wkSnPmyZ zzmDHgQN>gnFEs(L6R1l7+$L{(@7-|zn!tC;qJxU6y?=r4S0D(2AbbMMHDhuIL&ClQ O00006%zFyo zz*jIXn=Dqb$Of_^j)mDa7UUX4v0j~6zF)kTbI;*|5JCviplIGzx|vo}<*UF|m)auq zJ*^Rq3vxm)ZhyoKAsdSEMJC z^=51QWWX}o836Hls21ZJ0MBo??25--rqd08*4lTo=|sinjM2b;74MJ9$L|Rtgb;so Y2OAtUl``4vdH?_b07*qoM6N<$f?IuQ3jhEB diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_2.png b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_2.png index 8f794036269886d35b11ca18382170a092f6de44..10b1511ee150123ce8f1833144c12ef52a7eae0f 100644 GIT binary patch delta 349 zcmV-j0iyor0fYmPFn<9)NklkdKxqrw)YYD6Nt(J4Spb-Ed zjoU@-gs0OWfby7)hL(CSIqpJf969 z(TM9OponHY_JUyGfk`+s0k!+URIOS?0C;#gL&+$5 zK~OUKTZo-=DBOFA45$G_kUhCO;Y_OSrO00000NkvXXu0mjfi~pqR delta 191 zcmV;w06_nQ1LpydFn<7{NklVQ=&Q&_A;P;7TQVZQRg%)WgfA|fLHs45Fzm4!d-xBhn)(=`tboa@{J zINP(c<~ytNd(;w(&_MTG;cQQq3^)s}&V7~)q-LbOK0@o51vn>|&b?W_IGP54)Qp@i tYi>;!+!wXLX9<9|pMD+lxQK`dz#9_AD*_iH{%ZgL002ovPDHLkV1lgKQ_}zd diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_3.png b/Resources/Textures/_CP14/Objects/Materials/copper_scrap.rsi/scrap_3.png index 81e4eb63628a6b9f4b0cdc2f27477b676d525a6b..05f4cbf83418ae5ee47b5161e1a3c4e56f20a567 100644 GIT binary patch delta 404 zcmV;F0c-xp0lEW_FnYL;+OPncCPt;&3~{R$>fZ|eQUQ8p%=0yca6sq!US-Nx#$+5J z1W(T|0OZUWMh9L=r60Gg>Po#pIH0%PuxOSsDpk_ioJ;X~SX6ZmbyY^vdVrnF33kt7 z0QlVo$&9aQ-hU{c-)%^l16Xb=v|3&?%Rs9G0E*Yc=G-02`z0w&sWCjhxNgyVw!H{4|9mt0)cA*Is^BrJjvI`<2B0CFy5mJ|_cb}M>d-HrbQ)ale7$7+gWao}{ z%mKV*#Hs8ZB7=|B9NoL7lC!M;v1+;Ug{(>Up7i5=0 z|3Yx;ugFrczo8CE!NEOCZqgw*2mxKLL#j=s%V{VS?%Djf``-6n?>o?FG#bqS@|7p0 zSjv3m$+5kzhHTnoM*yr~jugvLCI%T0hnlzN_wIX462_2Cp?~j4+nfOKcyD&~o2L)u zeuEN-wtGXA4Wew=WJj!E4vb4;Frn|r^Go^iaI0iOIe~cLc7o^iVx3|IbL`nvso%BA z;(X=FHtu4b5-(ht>?+_i8F!>g;z|bk;_WB`M6U(5If3jnAs06gFI?FQ!}mLo>?)$| z-hi*km`xF7b3l0m$*w{i>hAxFLyah#PP|3+^q}w#gue6R()GpLHNVyWjJ`>YMx*%` Zd;$Y)hPpov!KwfN002ovPDHLkV1h%>qagqQ delta 223 zcmV<503iSF0*3;SFn<8SNkl1t{5nAv>q}1td5vM|jLfZrV1rEAd z=pc?RPDSt+2&I2RsDe-j!O6v;t#CuZ&FM1rD5copO1s4A4o@5|8Fa}rC6IjY`{qjm z27|$1_-8ELjh}Z%62SHx=6%7|>62EiHJwf4c2zEd3AX0|uzv_9I%V_>^qM6(7)2Bt z6#&An&tMe&je&8yDglmf4hg$HkJqmNi0M+>K<2*1;>AXVuBZUIJtihgzj zVzx@nJHsG3>Q+|GRZ9Jx%q{2)11mNWr*73;8H=Bt?_+xo^>SXxfc8fOAjL&0d3-r{ vuii4(&D?_DnD+&?=cN7u)mLCJ7z~Cl!WnTP(iVK)00000NkvXXu0mjfg(ai# delta 193 zcmV;y06zbO1L*;fFn<7}NklUzmDhPLg zOEjDWRfR-hxB~`M4MCt#iy$=ET}LvXe94=geIOztBLAqZbJy0n+f0r7orPo#eHXf> zZ~&!^nT<#NY`!o-CAj?l! vm9bqO*qyK5c|irfC4m0dA&-lQhyc6+JAEtEDKF0000000NkvXXu0mjfyBJc& diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_3.png b/Resources/Textures/_CP14/Objects/Materials/gold_scrap.rsi/scrap_3.png index 02d33aa81cbb0c8a942a7b0ad95abe7788e296d7..00a3c41afcc6ee714089c6b62dbd5014411d82b0 100644 GIT binary patch delta 406 zcmV;H0crlW0lWi{FnZ)A`F1tFzt2@?axNOG}F|u2!Hi;GPQH`KZj}G*(xH-<``k0iSRDi=j*i|8Ue81MHuG9+z;?cSr8u=22Stgm$T_K-`k)dwRubyQj8xOF( zb;H5R2>@QjPk$>g` Ang9R* delta 142 zcmdnPyp3^!K|Mo(r;B4qL~C+_1nc4ik)EbN1Fkmaii@e=>YcZo`!7`d^Z$}psY|XT zu>pZ!WgwfKw`JSO%xVd_z5kD1DE_2)@!6(;vyb*^Kap^);>hW^_VfRXxBei-ZSL>u l4<7aW_*Da8GMgv^L*fR-_ttMY>=}T-lik(NWt~$(695~UJ3;^e diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap.png b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap.png index 2bc6b0027e0952ce9808e968efc7f3606c1b848f..a30c93db1c2786ade204c9e95f8661eef4670581 100644 GIT binary patch delta 323 zcmV-J0lfZ#0_p;gFn<9gNkln+AFx;~7Rw*w zm@a&r#0o$JF3EDu$#H13*MZ5RUVotGvne8Q0hrIGCfk?^w11jyl`K-u&QAdtk0O#q z`a1%>{y+g-U0*OBMRYE20C;Sm0$n> delta 218 zcmV<0044wG0)hgNFn<8NNkl^I8{2qA5vcl$QN!zk8D`2dtvZB*O2fiQ}-=Z%5S?@bL%g3799wNqR)XKDHbKq;T0>rhrT zr{msetgRdP&9%rg9R%|x7+~l+eD6%MfeuSJovn3|XNLJ09UZ^ouJ U>NpNA4FCWD07*qoM6N<$f;YrqcmMzZ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_2.png b/Resources/Textures/_CP14/Objects/Materials/iron_scrap.rsi/scrap_2.png index 6da4edae46909c90da415683d0ad38d1fa980c9b..0d490c22a366354ea484c09cfbcca8e3fb53b0d4 100644 GIT binary patch delta 319 zcmV-F0l@y`0p1pw6o&tl9K%a#msn)%Vjmz-@Btc{L-Y!v zgM9@bpxq@f_yEb`At6TbVq-!AIfgp4QeD#_l0%{JzD*D5{l9)a0R%x1gacV#sKfEB zvb<13d)>Gk+HE%g0Oor*9M6MHI2n*-h4(jM)5c zEH9LfTkcPYlT>m3IgI*e*mALfzIa#gb-9EdN?BIdHxMVO(!#*^Z8;ZMuf*5nM~Y1+ zXxjSv1~?axWjJNtSC$o;w(f|-)NQ%=-v(jyW9a(gde3k5KcjDwAPC}L@Btj-h_4No RqRRjP002ovPDHLkV1j*TmS_L~ delta 188 zcmV;t07L)g0^|XZFn<7^Nkl0i9v2Z20eAsqASj2COqGWK0000Ra6x?S&@B5x}-ro;w zY;0`)D}kUU+#XeosxxLq7yz?j#?2gBU)%iFED+Sh-0VE3XMab^uv*eDu(zKaFz?=6 zU0Nn}ktDIZC8Z}7;PNUjfS!qAw0j})H`f4^D-Tiu95UvmVu4UtBXzDbJu}6GW0L2W zS2~?10PZR+gm@#9(RYT`m3o0tSR1%uqglr=+SICf#p!ghu;`(DTa}RG`)bz~S+U>9bOe{fgV8 yib!MwfOJ|Xm(`{9Mh*ZUBWT9l#>VDP@D7Znh@+`bTn$SA0000fRgP_9`I46t$tN-vo?(oCI$0g6r zyX87*rp}b8GY1YFSg>r_(FY0H2S2>{sLjU4w*CJSizXd*g=ihsbH^`SF>8GIuzB|r z3D+tS5s~Zv+kZ@9JQ@_#Tn91R?VyGPYcm@I!_#G|Z>Qw(?J8#g0#8>zmvv4FO#p0m BK)3(^ diff --git a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap.png b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap.png index 3641056edfb1c8eda421a62bb5a14480c749779f..008f2da704ed69fe751db1a35d740ebe50e4e929 100644 GIT binary patch delta 337 zcmV-X0j~ap0{8-uFn<9uNkl;h;%)Wue zwTn&_q|W9I93=?SEEcl06v4rvAOwn~bFpMB?R5x=v^XS@>frsRd*Pn{{O6v-0f|H+ zk^C`A(ZJ)^I{{$pCf)Inr|M}Tt*s(Kj_(R>GQ-wQ0JO=hh<{8$1C5sO{3-i~2LKFu zeLR2qI|dxz6#(t469&CL&5KSfGKw~DU_E(4QoU+ef<{Yh%m6@CDW_FGp5Mm;qljha zMgef@JLEO7o%P{^`_6J#OV6dXN^j3VExpgfKp_l(`1=>R(teS- z1@kaaViTlQt4f9?RKpSgN7q$s-Hh9igTjjlp#AZ(((hzAz4}>Z-OMfcj_!Dft(&X6 j;P&!IMM)$Q$^YXMH@RsuKoGYJ00000NkvXXu0mjf18|{i delta 220 zcmV<203-kS0)zsPFn<8PNkl4Ri zn*r;&RRZU%r^l;lRSXdN0RT>xP@1#@Mr+^MqnUQHgh#uJlO+J$FQ>} diff --git a/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_2.png b/Resources/Textures/_CP14/Objects/Materials/mithril_scrap.rsi/scrap_2.png index 243245cde0b14f332734a433c59f8081f54c722b..a830886df03fd30bdd636fec3e2cc21a96889c73 100644 GIT binary patch delta 338 zcmV-Y0j>Vv0r>)uFn<9vNkl1pw6ox!R?T;pPB7 zu4mMN(>`;&GRG@()=R;xKL*S?VI-g=PW#O9la$S2*GRaJFIp1%0`o|!DfqdpBs5GL#Y27M+IK6swx8Z8f kZ|i@?t)#_bvHT0Z033RLCAF&`3;+NC07*qoM6N<$f^+4ZGynhq delta 184 zcmV;p07w7%0^k9VFn<7=NklDUvl1X-txi3ezF8v>_K%t89=q_ z&@89lY_aVpjcCOlWb1=%c0EE_(0;xE2xY;%JLEXt)7)=SKQW^R0N}i3kHD-R0VJ2F m5BQ7#$S+rbq;e4v5r8*_>?>Z(PX@&R0000ABB;S7Fr-CVM0Cm`h>jL% zXlQG7z6e^vKx_>B4{{Y3rRaxS5kiAdAqb*KTanyo`ZmN_Hu+vh6x=hv_xU{Ud*Am3 z4-XHI|B7mu!WT@4ALqCs1K?D~nLsKn26H<7P-HaBFa@c!lz)h{K(d@0DX@3mTU#cR z-y(ZxNaaZhtkzBhFf7sP)uDv%^a_BB_JfpwCR46=x(|@r7eyMT*MP{*Gq&6+!a|QtVp$IFPFz4ZIsmuwP#e>q30-)KG->4|I z7=YgC%EY;YYM4SbOp$%PlYRrhg_rQ_Z*YPuPq9|7O5cB11(pgsj=z2N3c$w|bW-l&;qfPU2icE)8)AJ~PXGV_00>D%PDHLkV1j;xy!ikC delta 144 zcmV;B0B`@b1GoW@Fn<7YNklo`%cQ)&V)q y|C#Q8W?*1oAluSWFbYP&C>RB!U=$20006kwBH(-CW;Or-00{s|MNUMnLSTZ>;5v2y From 3f70d8600c9e576dc504419d89287d2afc7c786d Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Fri, 31 Jan 2025 18:24:54 +0300 Subject: [PATCH 02/27] Fixes (#824) * delete round seed * delete worldEdge locale * Update CP14BiomeSpawnerSystem.cs * nails to 50 max stack * wood planks stack increase * flora material stack edit * Update EntityTest.cs * Update EntityTest.cs --- Content.IntegrationTests/Tests/EntityTest.cs | 5 ++ .../EntitySystems/CP14BiomeSpawnerSystem.cs | 26 +++++-- .../_CP14/RoundSeed/CP14RoundSeedComponent.cs | 21 ------ .../_CP14/RoundSeed/CP14RoundSeedSystem.cs | 53 -------------- .../en-US/_CP14/worldEdge/world-edge.ftl | 2 - .../ru-RU/_CP14/worldEdge/world-edge.ftl | 2 - .../Prototypes/_CP14/Catalog/Fills/crates.yml | 2 +- .../Entities/Objects/Materials/simple.yml | 66 ++++++++++-------- .../Prototypes/_CP14/GameRules/roundstart.yml | 1 - .../_CP14/Recipes/Workbench/Anvil/misc.yml | 4 +- .../Prototypes/_CP14/Stacks/materials.yml | 10 +-- .../Materials/flora.rsi/grass_material2.png | Bin 672 -> 1074 bytes .../Materials/flora.rsi/grass_material3.png | Bin 610 -> 1336 bytes Resources/migration.yml | 3 +- 14 files changed, 71 insertions(+), 124 deletions(-) delete mode 100644 Content.Server/_CP14/RoundSeed/CP14RoundSeedComponent.cs delete mode 100644 Content.Server/_CP14/RoundSeed/CP14RoundSeedSystem.cs delete mode 100644 Resources/Locale/en-US/_CP14/worldEdge/world-edge.ftl delete mode 100644 Resources/Locale/ru-RU/_CP14/worldEdge/world-edge.ftl diff --git a/Content.IntegrationTests/Tests/EntityTest.cs b/Content.IntegrationTests/Tests/EntityTest.cs index 5dba8ac658..44cf1be93e 100644 --- a/Content.IntegrationTests/Tests/EntityTest.cs +++ b/Content.IntegrationTests/Tests/EntityTest.cs @@ -39,6 +39,7 @@ namespace Content.IntegrationTests.Tests .Where(p => !p.Abstract) .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. + .Where(p => !p.Components.ContainsKey("RoomFill")) // CP14 Boilerplate - TODO: Remove it after wizden fix .Select(p => p.ID) .ToList(); @@ -101,6 +102,7 @@ namespace Content.IntegrationTests.Tests .Where(p => !p.Abstract) .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. + .Where(p => !p.Components.ContainsKey("RoomFill")) // CP14 Boilerplate - TODO: Remove it after wizden fix .Select(p => p.ID) .ToList(); foreach (var protoId in protoIds) @@ -161,6 +163,7 @@ namespace Content.IntegrationTests.Tests .Where(p => !p.Abstract) .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. + .Where(p => !p.Components.ContainsKey("RoomFill")) // CP14 Boilerplate - TODO: Remove it after wizden fix .Select(p => p.ID) .ToList(); @@ -235,6 +238,7 @@ namespace Content.IntegrationTests.Tests var excluded = new[] { "MapGrid", + "RoomFill", // CP14 Boilerplate - TODO: Remove it after wizden fix "StationEvent", "TimedDespawn", @@ -341,6 +345,7 @@ namespace Content.IntegrationTests.Tests "DebugExceptionInitialize", "DebugExceptionStartup", "GridFill", + "RoomFill", // CP14 Boilerplate - TODO: Remove it after wizden fix "Map", // We aren't testing a map entity in this test "MapGrid", "Broadphase", diff --git a/Content.Server/_CP14/BiomeSpawner/EntitySystems/CP14BiomeSpawnerSystem.cs b/Content.Server/_CP14/BiomeSpawner/EntitySystems/CP14BiomeSpawnerSystem.cs index 9673da74f0..c6338ce8ef 100644 --- a/Content.Server/_CP14/BiomeSpawner/EntitySystems/CP14BiomeSpawnerSystem.cs +++ b/Content.Server/_CP14/BiomeSpawner/EntitySystems/CP14BiomeSpawnerSystem.cs @@ -5,7 +5,6 @@ using System.Linq; using Content.Server._CP14.BiomeSpawner.Components; -using Content.Server._CP14.RoundSeed; using Content.Server.Decals; using Content.Server.Parallax; using Content.Shared.Whitelist; @@ -13,6 +12,7 @@ using Robust.Server.GameObjects; using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Prototypes; +using Robust.Shared.Random; namespace Content.Server._CP14.BiomeSpawner.EntitySystems; @@ -24,12 +24,21 @@ public sealed class CP14BiomeSpawnerSystem : EntitySystem [Dependency] private readonly SharedMapSystem _maps = default!; [Dependency] private readonly DecalSystem _decals = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly CP14RoundSeedSystem _roundSeed = default!; [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; + [Dependency] private readonly IRobustRandom _random = default!; + private int _globalSeed = 0; public override void Initialize() { SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnRoundEnd); + + UpdateSeed(); + } + + private void OnRoundEnd(Shared.GameTicking.RoundEndMessageEvent ev) + { + UpdateSeed(); } private void OnMapInit(Entity ent, ref MapInitEvent args) @@ -38,6 +47,11 @@ public sealed class CP14BiomeSpawnerSystem : EntitySystem QueueDel(ent); } + private void UpdateSeed() + { + _globalSeed = _random.Next(int.MinValue, int.MaxValue); + } + private void SpawnBiome(Entity ent) { var biome = _proto.Index(ent.Comp.Biome); @@ -50,11 +64,9 @@ public sealed class CP14BiomeSpawnerSystem : EntitySystem if (!TryComp(gridUid, out var map)) return; - var seed = _roundSeed.GetSeed(); - var vec = _transform.GetGridOrMapTilePosition(ent); - if (!_biome.TryGetTile(vec, biome.Layers, seed, map, out var tile)) + if (!_biome.TryGetTile(vec, biome.Layers, _globalSeed, map, out var tile)) return; // Set new tile @@ -70,7 +82,7 @@ public sealed class CP14BiomeSpawnerSystem : EntitySystem } //Add decals - if (_biome.TryGetDecals(vec, biome.Layers, seed, map, out var decals)) + if (_biome.TryGetDecals(vec, biome.Layers, _globalSeed, map, out var decals)) { foreach (var decal in decals) { @@ -87,7 +99,7 @@ public sealed class CP14BiomeSpawnerSystem : EntitySystem QueueDel(entToRemove); } - if (_biome.TryGetEntity(vec, biome.Layers, tile.Value, seed, map, out var entityProto)) + if (_biome.TryGetEntity(vec, biome.Layers, tile.Value, _globalSeed, map, out var entityProto)) Spawn(entityProto, new EntityCoordinates(gridUid, tileCenterVec)); } } diff --git a/Content.Server/_CP14/RoundSeed/CP14RoundSeedComponent.cs b/Content.Server/_CP14/RoundSeed/CP14RoundSeedComponent.cs deleted file mode 100644 index fcc8ec7000..0000000000 --- a/Content.Server/_CP14/RoundSeed/CP14RoundSeedComponent.cs +++ /dev/null @@ -1,21 +0,0 @@ -/* - * All right reserved to CrystallEdge. - * - * BUT this file is sublicensed under MIT License - * - */ - -namespace Content.Server._CP14.RoundSeed; - -/// -/// This is used for round seed -/// -[RegisterComponent, Access(typeof(CP14RoundSeedSystem))] -public sealed partial class CP14RoundSeedComponent : Component -{ - [ViewVariables] - public static int MaxValue = 10000; - - [ViewVariables] - public int Seed; -} diff --git a/Content.Server/_CP14/RoundSeed/CP14RoundSeedSystem.cs b/Content.Server/_CP14/RoundSeed/CP14RoundSeedSystem.cs deleted file mode 100644 index 3d61e74629..0000000000 --- a/Content.Server/_CP14/RoundSeed/CP14RoundSeedSystem.cs +++ /dev/null @@ -1,53 +0,0 @@ -/* - * All right reserved to CrystallEdge. - * - * BUT this file is sublicensed under MIT License - * - */ - -using System.Diagnostics.CodeAnalysis; -using JetBrains.Annotations; -using Robust.Shared.Map; -using Robust.Shared.Random; - -namespace Content.Server._CP14.RoundSeed; - -/// -/// Provides a round seed for another systems -/// -public sealed class CP14RoundSeedSystem : EntitySystem -{ - [Dependency] private readonly IRobustRandom _random = default!; - - public override void Initialize() - { - SubscribeLocalEvent(OnComponentStartup); - } - - private void OnComponentStartup(Entity ent, ref ComponentStartup args) - { - ent.Comp.Seed = _random.Next(CP14RoundSeedComponent.MaxValue); - } - - private int SetupSeed() - { - return AddComp(Spawn(null, MapCoordinates.Nullspace)).Seed; - } - - /// - /// Returns the round seed if assigned, otherwise assigns the round seed itself. - /// - /// seed of the round - public int GetSeed() - { - var query = EntityQuery(); - foreach (var comp in query) - { - return comp.Seed; - } - - var seed = SetupSeed(); - Log.Warning($"Missing RoundSeed. Seed set to {seed}"); - return seed; - } -} diff --git a/Resources/Locale/en-US/_CP14/worldEdge/world-edge.ftl b/Resources/Locale/en-US/_CP14/worldEdge/world-edge.ftl deleted file mode 100644 index 1f5165df6a..0000000000 --- a/Resources/Locale/en-US/_CP14/worldEdge/world-edge.ftl +++ /dev/null @@ -1,2 +0,0 @@ -cp14-world-edge-pre-remove-message = [color=red]CAUTION![/color] You are leaving the game zone! If you do not return within [color=red]{$second}[/color] seconds, you will be permanently removed from the round! -cp14-world-edge-cancel-removing-message = The exit round has been canceled. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/worldEdge/world-edge.ftl b/Resources/Locale/ru-RU/_CP14/worldEdge/world-edge.ftl deleted file mode 100644 index 9d8d0676a7..0000000000 --- a/Resources/Locale/ru-RU/_CP14/worldEdge/world-edge.ftl +++ /dev/null @@ -1,2 +0,0 @@ -cp14-world-edge-pre-remove-message = [color=red]ВНИМАНИЕ![/color] Вы покидаете игровую зону! Если вы не вернетесь назад в течении [color=red]{$second}[/color] секунд, вы будете окончательно удалены из раунда! -cp14-world-edge-cancel-removing-message = Выход из раунда отменен. \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml index 97d1a93241..56f4c6eb0c 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml @@ -75,7 +75,7 @@ - id: CP14CrystalLampBlueEmpty - id: CP14CrystalLampOrangeEmpty - id: CP14Rope - - id: CP14Nail10 + - id: CP14Nail20 - id: CP14EnergyCrystalSmall - id: CP14CopperCoin5 weight: 0.5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml index 666ca8be85..960ac2c711 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml @@ -214,6 +214,14 @@ - type: Stack count: 10 +- type: entity + id: CP14WoodenPlanks20 + parent: CP14WoodenPlanks1 + suffix: 20 + components: + - type: Stack + count: 20 + - type: entity id: CP14LucensWoodLog parent: CP14WoodLog @@ -270,6 +278,14 @@ - type: Stack count: 10 +- type: entity + id: CP14LucensWoodenPlanks20 + parent: CP14LucensWoodenPlanks1 + suffix: 20 + components: + - type: Stack + count: 20 + - type: entity id: CP14Nail1 parent: BaseItem @@ -331,12 +347,20 @@ launchForwardsMultiplier: 0 - type: entity - id: CP14Nail10 + id: CP14Nail20 parent: CP14Nail1 - suffix: 10 + suffix: 20 components: - type: Stack - count: 10 + count: 20 + +- type: entity + id: CP14Nail50 + parent: CP14Nail1 + suffix: 50 + components: + - type: Stack + count: 50 - type: entity id: CP14FloraMaterial1 @@ -347,45 +371,29 @@ categories: [ ForkFiltered ] components: - type: Item - size: Tiny + size: Normal - type: Stack stackType: CP14FloraMaterial count: 1 + baseLayer: base + layerStates: + - grass_material1 + - grass_material2 + - grass_material3 - type: Sprite sprite: _CP14/Objects/Materials/flora.rsi layers: - state: grass_material1 - map: ["random"] - - type: RandomSprite - available: - - random: - grass_material1: "" - grass_material2: "" - grass_material3: "" - - type: Tag - tags: - - CP14FireplaceFuel - - type: Flammable - fireSpread: false - canResistFire: false - alwaysCombustible: true - canExtinguish: true - cP14FireplaceFuel: 5 - damage: - types: - Heat: 1 + map: ["base"] - type: Material - - type: PhysicalComposition # точно ли это нужно? - materialComposition: - CP14FloraMaterial: 100 - type: entity - id: CP14FloraMaterial2 + id: CP14FloraMaterial10 parent: CP14FloraMaterial1 - suffix: 2 + suffix: 10 components: - type: Stack - count: 2 + count: 10 - type: entity id: CP14String diff --git a/Resources/Prototypes/_CP14/GameRules/roundstart.yml b/Resources/Prototypes/_CP14/GameRules/roundstart.yml index d1a5429a57..fe1b2518e0 100644 --- a/Resources/Prototypes/_CP14/GameRules/roundstart.yml +++ b/Resources/Prototypes/_CP14/GameRules/roundstart.yml @@ -5,7 +5,6 @@ components: - type: GameRule cP14Allowed: true - - type: CP14RoundSeed - type: entity id: CP14RoundObjectivesRule diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml index a4ec7804b5..dc13b14567 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/Anvil/misc.yml @@ -98,7 +98,7 @@ result: CP14ClothingOuterClothingCuirassLeg - type: CP14Recipe - id: CP14Nail10 + id: CP14Nail20 tag: CP14RecipeAnvil craftTime: 4 requirements: @@ -107,7 +107,7 @@ count: 2 - !type:KnowledgeRequired knowledge: MetallForging - result: CP14Nail10 + result: CP14Nail20 - type: CP14Recipe id: CP14CrystalLampBlueEmpty diff --git a/Resources/Prototypes/_CP14/Stacks/materials.yml b/Resources/Prototypes/_CP14/Stacks/materials.yml index 3153e0591b..38027742dd 100644 --- a/Resources/Prototypes/_CP14/Stacks/materials.yml +++ b/Resources/Prototypes/_CP14/Stacks/materials.yml @@ -17,14 +17,14 @@ name: cp14-stack-wood-planks spawn: CP14WoodenPlanks1 icon: { sprite: _CP14/Objects/Materials/wood.rsi, state: planks_2 } - maxCount: 10 + maxCount: 20 - type: stack id: CP14Nail name: cp14-stack-nails spawn: CP14Nail1 icon: { sprite: _CP14/Objects/Materials/nails.rsi, state: nail_2 } - maxCount: 10 + maxCount: 50 - type: stack id: CP14Cloth @@ -66,7 +66,7 @@ name: cp14-material-lucens-planks spawn: CP14LucensWoodenPlanks1 icon: { sprite: _CP14/Objects/Materials/lucens_wood.rsi, state: planks_2 } - maxCount: 10 + maxCount: 20 - type: stack id: CP14GlassSheet @@ -80,11 +80,11 @@ name: cp14-stack-flora icon: { sprite: "_CP14/Objects/Materials/flora.rsi", state: grass_material1 } spawn: CP14FloraMaterial1 - maxCount: 2 + maxCount: 10 - type: stack id: CP14Ash name: cp14-stack-ash-pile icon: { sprite: "_CP14/Objects/Materials/ash.rsi", state: ash_1 } spawn: CP14Ash1 - maxCount: 3 + maxCount: 10 diff --git a/Resources/Textures/_CP14/Objects/Materials/flora.rsi/grass_material2.png b/Resources/Textures/_CP14/Objects/Materials/flora.rsi/grass_material2.png index 944bb93f13c3190cab73821a60d28cc9513759d7..17e7765a16a76fb6321295486548e502c70ee15e 100644 GIT binary patch delta 1041 zcmV+s1n&Ew1+oZ`Fn8p35-n*3xIdu_VDZP8rgk`QlUn^T*aS0CK8bO_~Cc|D5>fDw?wH>1Hc!wu`v6j z&c3O$(TO1ekQ{cCf20AB4%-NM?Zl#nS$5yJo@HxnYFNDTq7yTy85p3uLjdsM`(Igc z9nCTY*v{yztbZNTRXimUkWr6x@_=vOX$1xtPs(Ud2Sg+wv*)!_D%9`=ZFF}C`ukig zE>{3pm|Z(pu-*L8b+zZCySLpuD+)@58rq2<9CpzCTaEHb740=Qey@YOx80~(m26fJ zi%KL0WEPhzyj(S0y)@)N!^U<-C$m%I+aD@a^%{>p|9}2Mw$B}oO%02i*9~IQTY}Cl z9e~7pUQ!!6+Zp3tJ<=_ku0Kuzhy-M`L7B5mHnyU125gN9s7D6vtDC1*D{@7Z#pMd4 z15QF-J0Y)~c-%uzxQ(808wZC5#p$q7c`PbfEf`PA+x7lQRjCFMn5g_-VatMkj`Z-0rlNQm&}ty5S`j zmH26?RChL>lu2#q>^(jt5|H`PTO}U%0DtX+?7nn41CuieVNz%=9Yv{dt!yV(RN3t{ z)Dn+-C>3fJE1@@CtZo|0@TZNcCqC$8;fn*3!){hLPp#sbCNMdZ5N6=*jBX9owX)p` zVt@Ae+0F@I$T1R-0ni4G>)FJ#K^aA<)V1K83{CigHdfY-QIrZHubrN78*;moTu}v# z9Z@ROh(#r)?_41s_psaRAXika|8#eVIw_Y5HG0Br%*~I8=O(Z)`$RHz?hD$8MJ3cD z9oG#nxuQzvmd^n}|OPs%*Fm*I-v!(q&AwZ;to<nzFFL0)+jt2%rU!Fn?8$uQKaCkAe}4-f{SB^3dIU4RzL9C!3j zf^;Y@_gU_Kcf9v~@B4la92^`R9R4$|ork;k&x_tpKMPA5rGJ9K;|H%@jRFs)fZ_3! z0JwI!nQuQ-@@pN*MICb2IC29!+bhHToZr*rh>v|hi3b2yXc(GU| zvc63$BvIScP=A1yHJ>dEFfu5ieoTs3NMcp?P%0R-w7ThN6ZCfanVGEsFg>-nuVIh% z66uQH8667nYh6$(7^qu(o0XhK?vKISPZe~{VE)Pbx^D0LI6R&b1AV43*?(n0`?3Z=dO~JlNn<5vo@<+$ z9TWMv4L~d;p`Mf2>Ezx~?7ai-y#>@ZP21mm-nK{ad%ecYY=unHM_Bd{mOb?JG!u_D z5sx;pQ8X>iM$OI>-7b3sBZCr3Sw|`BWRkwd4vbBvg(a9t`s^)OeO?4$qgX*b9Rxr+ z;$xuCOLT9ipNF?{cCxN3$Lx-kvTnPy@bp8&%WnU$Rxm7k>;wS8Y}M{Ca`7liS!eFi z?#p!PY(lvD+kyQnY*8<6R{`~~R?+{p$g?lm1MR=nP(9IqGB%kORsshH2M344<}Xpe V0@o9*%e?>q002ovPDHLkV1i4CFGTSKdcMq{+!&FW)= z-)8f4w&?(TcK^qQ$$dE3FFM-QDeam7%+EejK5Cqejt>aE z#SK7d*W_fu34cI3TVni12dj?_l50Yp_Xi!UZ1Iz(A6&Z_@i%a zF>4Tr4|=JF&G@;X9RBJnqqn#@cGOC+t6k9BLO5$!cd=!%?AeQY>AF{1LU_WJbm`U<}~DU;(rf1Y~=#j$rUk91c=3&RiYO@ zn5&7WRR=wIdw(g z#KqPcwAMFFRr{I*q)ps9BNBNvnelkmtwZI%#cvVZYr?pc>Pcynn^fJ4W-Ke=?y%hRkN zzg@w2Aqa`mDZ8t_eEUtcD!E=3{=@vwg_b^^el7sk&X3BAqQUbFau~znhTHNyz6U7Hg(E+(dV{NwFjuwr(DcXsQHbah=UV znax6((SCPh1TJ467BZj|lvGAzYc2=86cw-pXsFLcZ;yvNH#d}{;};IA8*diMb#=dC z0+NCupHn#i2qgEE0s=%MT1^+f_jXih1AiSrErsPfa(2`!L&NMw{}vIw#jPAmN3u8S zO~%Qo5s_RIYKCk@+(aW93rl--5vg%-`TDTfER<_#BjVdRmwJ%OXiVRJs5M03^7UaMA(Wz1Z_>qL&E&T$3YE}VkCN;_(z^BdjeicN zzuF-_=(SD4x(LYNGH~^vk-I_YtVh*ZPRHs!KuUIXV#aBmM50(z0vipb`GXD?mi9;_ ziiCVly2DNAEpF0TYwjo4EWwIKG$t;#5{p^WFP$x^GhOY%M&S30g|^@7#2S6aWTNA#;~Ij`-1Wq$#zc@nQd@JhT# P00000NkvXXu0mjft*ekp delta 573 zcmV-D0>b^c3gQHiFnYwdMtdeg_V z$l&JtO)u}Bd(Qv-&$(b?Vq#+QzoRrirf0)qFleWguk-l+D}UvNY;q2Y$&=y(O5{#-{>Nh(b(Qsh>qJyWi&plmgwtt0B|qj8tP#cfc4c)nZuAQ8Vdk~ zvykx~pM|Y#Re#2x`C5}=FWq#@c#qFQz%N+1^-@>U;6Nnoq}4Xt%SL zgY|b+-8sNkwkqe_@v%sk*TrtXO*iXy7)H?SyjkqalkbgDjCf_&6Js_K$r^K4TmZVI zeRwAe!1 CrystallEdge migration zone end From ca2e378c8a33be4d493f9f655d599b4750d443d0 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Fri, 31 Jan 2025 18:40:49 +0300 Subject: [PATCH 03/27] Update furnace.yml --- Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml index 5961f6fd3c..f892f0a773 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml @@ -9,7 +9,6 @@ - !type:KnowledgeRequired knowledge: MetallMelting result: CP14CopperBar1 - resultCount: 3 - type: CP14Recipe id: CP14IronBar1 From 8e1d310a8eca42b7ecf82f771c6099865912f64a Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sat, 1 Feb 2025 17:52:01 +0300 Subject: [PATCH 04/27] Guildmaster YML implementation + Clothing pack (#832) * banker clothing resprite * dinazewwr * commandant cape resprite * guildmaster cloak * Guildmaster loadout * guildmaster job icon * key locks work * map update * guildmaster keys * guildmaster stamp * update guildmaster house * track demiplanes * player death track * localization * guildmaster objective * Update empire_orders.yml * fix * fix map --- .../CP14DemiplanSystem.Generation.cs | 4 +- .../CP14DemiplanSystem.Stabilization.cs | 10 + .../_CP14/Demiplane/CP14DemiplaneSystem.cs | 2 + .../CP14DemiplaneGeneratorDataComponent.cs | 4 + .../CP14StatisticRangeConditionComponent.cs | 26 + .../CP14TownSendConditionComponent.cs | 2 +- .../CP14StatisticRangeConditionStstem.cs | 54 + .../Systems/CP14TownSendConditionSystem.cs | 9 +- .../CP14RoundStatTrackerSystem.cs | 71 + .../CP14DeathDemiplaneStatisticComponent.cs | 14 + ...14RoundStatTrackerSystem.DemiplaneDeath.cs | 35 + .../CP14RoundStatTrackerPrototype.cs | 12 + .../Locale/en-US/_CP14/loadouts/loadout.ftl | 8 + .../en-US/_CP14/lockKey/locks-types.ftl | 7 +- .../objectives/condition/empire-order.ftl | 5 +- Resources/Locale/en-US/_CP14/stamp/stamp.ftl | 3 +- .../en-US/_CP14/statisticTracker/trackers.ftl | 4 + .../Locale/ru-RU/_CP14/loadouts/loadout.ftl | 8 + .../ru-RU/_CP14/lockKey/locks-types.ftl | 7 +- .../objectives/condition/empire-order.ftl | 5 +- Resources/Locale/ru-RU/_CP14/stamp/stamp.ftl | 3 +- .../ru-RU/_CP14/statisticTracker/trackers.ftl | 4 + Resources/Maps/_CP14/comoss.yml | 1322 +++++++++++----- Resources/Maps/_CP14/comoss_d.yml | 1391 +++++++++-------- .../_CP14/Catalog/Fills/closets.yml | 16 +- .../_CP14/Catalog/Fills/dresser.yml | 16 +- .../Entities/Clothing/Cloak/Roles/bank.yml | 11 +- .../Clothing/Cloak/Roles/guildmaster.yml | 11 + .../Clothing/OuterClothing/Roles/banker.yml | 22 + .../Entities/Clothing/Shirt/Roles/general.yml | 19 - .../Clothing/Shirt/Roles/guildmaster.yml | 18 + .../_CP14/Entities/Markers/Spawners/jobs.yml | 3 +- .../_CP14/Entities/Mobs/Species/base.yml | 15 +- .../_CP14/Entities/Mobs/Species/silva.yml | 7 +- .../Entities/Objects/Bureaucracy/stamps.yml | 15 +- .../Entities/Objects/Keys/guildmaster.yml | 15 + .../_CP14/Entities/Objects/Keys/keyrings.yml | 10 + .../Entities/Objects/Keys/personalHouse.yml | 50 +- .../Structures/Doors/Locked/alchemist.yml | 19 +- .../Structures/Doors/Locked/blacksmith.yml | 19 +- .../Structures/Doors/Locked/guildmaster.yml | 10 + .../Structures/Doors/Locked/personalHouse.yml | 10 + .../Prototypes/_CP14/GameRules/roundstart.yml | 15 +- .../Prototypes/_CP14/Loadouts/Jobs/bank.yml | 30 +- .../_CP14/Loadouts/Jobs/commandant.yml | 26 + .../_CP14/Loadouts/Jobs/general.yml | 12 - .../_CP14/Loadouts/Jobs/guildmaster.yml | 50 + .../_CP14/Loadouts/role_loadouts.yml | 14 + .../_CP14/LockCategories/lockTypes.yml | 35 +- Resources/Prototypes/_CP14/Maps/arenas.yml | 7 +- .../_CP14/Objectives/empire_orders.yml | 25 +- .../_CP14/Objectives/personal_objectives.yml | 2 +- .../Roles/Jobs/Mercenary/guildmaster.yml | 2 +- Resources/Prototypes/_CP14/stat_trackers.yml | 7 + .../commandant_cape.rsi/equipped-CLOAK.png | Bin 0 -> 1347 bytes .../Roles/Bank/commandant_cape.rsi/icon.png | Bin 0 -> 634 bytes .../meta.json | 0 .../commandant_jacket.rsi/equipped-CLOAK.png | Bin 916 -> 0 bytes .../Roles/Bank/commandant_jacket.rsi/icon.png | Bin 453 -> 0 bytes .../guildmaster_cape.rsi/equipped-CLOAK.png | Bin 0 -> 1179 bytes .../Mercenary/guildmaster_cape.rsi/icon.png | Bin 0 -> 644 bytes .../Mercenary/guildmaster_cape.rsi/meta.json | 18 + .../equipped-OUTERCLOTHING.png | Bin 0 -> 823 bytes .../Roles/Bank/vest_banker.rsi/icon.png | Bin 0 -> 369 bytes .../Bank/vest_banker.rsi/inhand-left.png | Bin 0 -> 482 bytes .../Bank/vest_banker.rsi/inhand-right.png | Bin 0 -> 470 bytes .../Roles/Bank/vest_banker.rsi/meta.json | 26 + .../equipped-OUTERCLOTHING.png | Bin 0 -> 708 bytes .../Roles/Bank/vest_banker_open.rsi/icon.png | Bin 0 -> 338 bytes .../Bank/vest_banker_open.rsi/inhand-left.png | Bin 0 -> 482 bytes .../vest_banker_open.rsi/inhand-right.png | Bin 0 -> 470 bytes .../Roles/Bank/vest_banker_open.rsi/meta.json | 26 + .../Roles/Bank/banker.rsi/equipped-SHIRT.png | Bin 547 -> 1098 bytes .../Shirt/Roles/Bank/banker.rsi/icon.png | Bin 341 -> 502 bytes .../Roles/Bank/banker.rsi/inhand-left.png | Bin 0 -> 482 bytes .../Roles/Bank/banker.rsi/inhand-right.png | Bin 0 -> 488 bytes .../Shirt/Roles/Bank/banker.rsi/meta.json | 10 +- .../guildmaster_vest.rsi}/equipped-SHIRT.png | Bin .../guildmaster_vest.rsi}/icon.png | Bin .../guildmaster_vest.rsi}/meta.json | 0 .../guildmaster_vest2.rsi}/equipped-SHIRT.png | Bin .../guildmaster_vest2.rsi}/icon.png | Bin .../guildmaster_vest2.rsi}/meta.json | 0 .../_CP14/Markers/jobs.rsi/guildmaster.png | Bin 0 -> 1448 bytes .../Textures/_CP14/Markers/jobs.rsi/meta.json | 3 + .../paper.rsi/guildmaster_on_paper.png | Bin 0 -> 153 bytes .../Objects/Bureaucracy/paper.rsi/meta.json | 3 + .../Bureaucracy/stamp.rsi/approved.png | Bin 303 -> 297 bytes .../Objects/Bureaucracy/stamp.rsi/denied.png | Bin 305 -> 294 bytes .../Bureaucracy/stamp.rsi/guildmaster.png | Bin 0 -> 331 bytes .../Objects/Bureaucracy/stamp.rsi/meta.json | 3 + 91 files changed, 2463 insertions(+), 1147 deletions(-) create mode 100644 Content.Server/_CP14/Objectives/Components/CP14StatisticRangeConditionComponent.cs create mode 100644 Content.Server/_CP14/Objectives/Systems/CP14StatisticRangeConditionStstem.cs create mode 100644 Content.Server/_CP14/RoundStatistic/CP14RoundStatTrackerSystem.cs create mode 100644 Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14DeathDemiplaneStatisticComponent.cs create mode 100644 Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14RoundStatTrackerSystem.DemiplaneDeath.cs create mode 100644 Content.Shared/_CP14/RoundStatistic/CP14RoundStatTrackerPrototype.cs create mode 100644 Resources/Locale/en-US/_CP14/statisticTracker/trackers.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/statisticTracker/trackers.ftl create mode 100644 Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/guildmaster.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/Roles/banker.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/guildmaster.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Keys/guildmaster.yml create mode 100644 Resources/Prototypes/_CP14/Loadouts/Jobs/commandant.yml create mode 100644 Resources/Prototypes/_CP14/Loadouts/Jobs/guildmaster.yml create mode 100644 Resources/Prototypes/_CP14/stat_trackers.yml create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/Bank/commandant_cape.rsi/equipped-CLOAK.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/Bank/commandant_cape.rsi/icon.png rename Resources/Textures/_CP14/Clothing/Cloak/Roles/Bank/{commandant_jacket.rsi => commandant_cape.rsi}/meta.json (100%) delete mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/Bank/commandant_jacket.rsi/equipped-CLOAK.png delete mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/Bank/commandant_jacket.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/Mercenary/guildmaster_cape.rsi/equipped-CLOAK.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/Mercenary/guildmaster_cape.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/Mercenary/guildmaster_cape.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Clothing/Shirt/Roles/Bank/banker.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Clothing/Shirt/Roles/Bank/banker.rsi/inhand-right.png rename Resources/Textures/_CP14/Clothing/Shirt/Roles/{General/white_green_vest.rsi => Mercenary/guildmaster_vest.rsi}/equipped-SHIRT.png (100%) rename Resources/Textures/_CP14/Clothing/Shirt/Roles/{General/white_green_vest.rsi => Mercenary/guildmaster_vest.rsi}/icon.png (100%) rename Resources/Textures/_CP14/Clothing/Shirt/Roles/{General/white_green_vest.rsi => Mercenary/guildmaster_vest.rsi}/meta.json (100%) rename Resources/Textures/_CP14/Clothing/Shirt/Roles/{General/white_green_vest2.rsi => Mercenary/guildmaster_vest2.rsi}/equipped-SHIRT.png (100%) rename Resources/Textures/_CP14/Clothing/Shirt/Roles/{General/white_green_vest2.rsi => Mercenary/guildmaster_vest2.rsi}/icon.png (100%) rename Resources/Textures/_CP14/Clothing/Shirt/Roles/{General/white_green_vest2.rsi => Mercenary/guildmaster_vest2.rsi}/meta.json (100%) create mode 100644 Resources/Textures/_CP14/Markers/jobs.rsi/guildmaster.png create mode 100644 Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/guildmaster_on_paper.png create mode 100644 Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/guildmaster.png diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs index e091946fec..0ad31f8a04 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs @@ -2,11 +2,9 @@ using System.Linq; using System.Threading; using Content.Server._CP14.Demiplane.Components; using Content.Server._CP14.Demiplane.Jobs; -using Content.Server._CP14.RoundEnd; using Content.Server.GameTicking; using Content.Shared._CP14.Demiplane.Components; using Content.Shared._CP14.Demiplane.Prototypes; -using Content.Shared._CP14.MagicManacostModify; using Content.Shared.Examine; using Content.Shared.Interaction.Events; using Content.Shared.Verbs; @@ -158,6 +156,8 @@ public sealed partial class CP14DemiplaneSystem SpawnRandomDemiplane(generator.Comp.Location.Value, generator.Comp.SelectedModifiers, out var demiplane, out var mapId); + _statistic.TrackAdd(generator.Comp.Statistic, 1); + //Admin log needed EnsureComp(demiplane); diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Stabilization.cs b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Stabilization.cs index e1bbf33cbb..d1c3242265 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Stabilization.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Stabilization.cs @@ -81,10 +81,20 @@ public sealed partial class CP14DemiplaneSystem if (TryTeleportOutDemiplane(demiplane, uid)) { if (!safe) + { + var ev = new CP14DemiplaneUnsafeExit(); + RaiseLocalEvent(uid, ev); + _body.GibBody(uid); + } } } QueueDel(demiplane); } } + +public sealed class CP14DemiplaneUnsafeExit : EntityEventArgs +{ + +} diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs b/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs index 5e1a82e58c..7acf2b40ef 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs @@ -1,3 +1,4 @@ +using Content.Server._CP14.RoundStatistic; using Content.Server.Flash; using Content.Server.Procedural; using Content.Shared._CP14.Demiplane; @@ -25,6 +26,7 @@ public sealed partial class CP14DemiplaneSystem : CP14SharedDemiplaneSystem [Dependency] private readonly FlashSystem _flash = default!; [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly CP14RoundStatTrackerSystem _statistic = default!; public override void Initialize() { diff --git a/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs b/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs index 06ee11f714..ba768ea9df 100644 --- a/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs +++ b/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs @@ -1,4 +1,5 @@ using Content.Shared._CP14.Demiplane.Prototypes; +using Content.Shared._CP14.RoundStatistic; using Robust.Shared.Prototypes; namespace Content.Server._CP14.Demiplane.Components; @@ -23,4 +24,7 @@ public sealed partial class CP14DemiplaneGeneratorDataComponent : Component [DataField(required: true)] public Dictionary, float> Limits; + + [DataField] + public ProtoId Statistic = "DemiplaneOpen"; } diff --git a/Content.Server/_CP14/Objectives/Components/CP14StatisticRangeConditionComponent.cs b/Content.Server/_CP14/Objectives/Components/CP14StatisticRangeConditionComponent.cs new file mode 100644 index 0000000000..d5d372b683 --- /dev/null +++ b/Content.Server/_CP14/Objectives/Components/CP14StatisticRangeConditionComponent.cs @@ -0,0 +1,26 @@ +using Content.Server._CP14.Objectives.Systems; +using Content.Shared._CP14.RoundStatistic; +using Content.Shared.Destructible.Thresholds; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Server._CP14.Objectives.Components; + +[RegisterComponent, Access(typeof(CP14StatisticRangeConditionSystem))] +public sealed partial class CP14StatisticRangeConditionComponent : Component +{ + [DataField(required: true)] + public ProtoId Statistic; + + [DataField(required: true)] + public MinMax Range; + + [DataField(required: true)] + public LocId ObjectiveText; + + [DataField(required: true)] + public LocId ObjectiveDescription; + + [DataField(required: true)] + public SpriteSpecifier? ObjectiveSprite; +} diff --git a/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs b/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs index 42eaba434b..6b99e4e429 100644 --- a/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs +++ b/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs @@ -38,5 +38,5 @@ public sealed partial class CP14TownSendConditionComponent : Component public LocId ObjectiveText; [DataField(required: true)] - public LocId DescriptionText; + public LocId ObjectiveDescription; } diff --git a/Content.Server/_CP14/Objectives/Systems/CP14StatisticRangeConditionStstem.cs b/Content.Server/_CP14/Objectives/Systems/CP14StatisticRangeConditionStstem.cs new file mode 100644 index 0000000000..ceac079e2f --- /dev/null +++ b/Content.Server/_CP14/Objectives/Systems/CP14StatisticRangeConditionStstem.cs @@ -0,0 +1,54 @@ +using Content.Server._CP14.Objectives.Components; +using Content.Server._CP14.RoundStatistic; +using Content.Shared.Objectives.Components; +using Content.Shared.Objectives.Systems; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Server._CP14.Objectives.Systems; + +public sealed class CP14StatisticRangeConditionSystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly MetaDataSystem _metaData = default!; + [Dependency] private readonly SharedObjectivesSystem _objectives = default!; + [Dependency] private readonly CP14RoundStatTrackerSystem _statistic = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAfterAssign); + SubscribeLocalEvent(OnGetProgress); + } + + private void OnAfterAssign(Entity condition, ref ObjectiveAfterAssignEvent args) + { + var title = Loc.GetString(condition.Comp.ObjectiveText, + ("min", condition.Comp.Range.Min), + ("max", condition.Comp.Range.Max)); + + var description = Loc.GetString(condition.Comp.ObjectiveDescription, + ("min", condition.Comp.Range.Min), + ("max", condition.Comp.Range.Max)); + + _metaData.SetEntityName(condition.Owner, title, args.Meta); + _metaData.SetEntityDescription(condition.Owner, description, args.Meta); + if (condition.Comp.ObjectiveSprite is not null) + _objectives.SetIcon(condition.Owner, condition.Comp.ObjectiveSprite, args.Objective); + } + + private void OnGetProgress(Entity ent, ref ObjectiveGetProgressEvent args) + { + var statValue = _statistic.GetTrack(ent.Comp.Statistic); + + if (statValue is null || statValue > ent.Comp.Range.Max || statValue < ent.Comp.Range.Min) + { + args.Progress = 0; + return; + } + + args.Progress = 1; + } +} diff --git a/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs b/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs index b1f39de9fc..e838ce016c 100644 --- a/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs +++ b/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs @@ -26,7 +26,6 @@ public sealed class CP14TownSendConditionSystem : EntitySystem _stealQuery = GetEntityQuery(); _stackQuery = GetEntityQuery(); - SubscribeLocalEvent(OnAssigned); SubscribeLocalEvent(OnAfterAssign); SubscribeLocalEvent(OnGetProgress); @@ -72,12 +71,6 @@ public sealed class CP14TownSendConditionSystem : EntitySystem } } - private void OnAssigned(Entity condition, ref ObjectiveAssignedEvent args) - { - //TODO: Add ability to create mindfree objectives to Wizden - //condition.Comp.CollectionSize = _random.Next(condition.Comp.MinCollectionSize, condition.Comp.MaxCollectionSize); - } - //Set the visual, name, icon for the objective. private void OnAfterAssign(Entity condition, ref ObjectiveAfterAssignEvent args) { @@ -86,7 +79,7 @@ public sealed class CP14TownSendConditionSystem : EntitySystem var group = _proto.Index(condition.Comp.CollectGroup); var title = Loc.GetString(condition.Comp.ObjectiveText, ("itemName", Loc.GetString(group.Name)), ("count", condition.Comp.CollectionSize)); - var description = Loc.GetString(condition.Comp.DescriptionText, ("itemName", Loc.GetString(group.Name)), ("count", condition.Comp.CollectionSize)); + var description = Loc.GetString(condition.Comp.ObjectiveDescription, ("itemName", Loc.GetString(group.Name)), ("count", condition.Comp.CollectionSize)); _metaData.SetEntityName(condition.Owner, title, args.Meta); _metaData.SetEntityDescription(condition.Owner, description, args.Meta); diff --git a/Content.Server/_CP14/RoundStatistic/CP14RoundStatTrackerSystem.cs b/Content.Server/_CP14/RoundStatistic/CP14RoundStatTrackerSystem.cs new file mode 100644 index 0000000000..ced62e5461 --- /dev/null +++ b/Content.Server/_CP14/RoundStatistic/CP14RoundStatTrackerSystem.cs @@ -0,0 +1,71 @@ +using System.Text; +using Content.Server.GameTicking; +using Content.Shared._CP14.RoundStatistic; +using Content.Shared.GameTicking; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.RoundStatistic; + +public sealed partial class CP14RoundStatTrackerSystem : EntitySystem +{ + [Dependency] private readonly IPrototypeManager _proto = default!; + + private readonly Dictionary, int> _tracking = new(); + + public override void Initialize() + { + base.Initialize(); + InitializeDemiplaneDeath(); + + SubscribeLocalEvent(OnRoundReset); + SubscribeLocalEvent(OnRoundEndTextAppend); + ClearStatistic(); + } + + private void OnRoundReset(RoundRestartCleanupEvent ev) + { + ClearStatistic(); + } + + private void OnRoundEndTextAppend(RoundEndTextAppendEvent ev) + { + //TODO: Move to separate UI Text block + var sb = new StringBuilder(); + + sb.Append($"[head=3]{Loc.GetString("cp14-tracker-header")}[/head] \n"); + foreach (var pair in _tracking) + { + if (!_proto.TryIndex(pair.Key, out var indexedTracker)) + continue; + + sb.Append($"- {Loc.GetString(indexedTracker.Text)}: {pair.Value}\n"); + } + ev.AddLine(sb.ToString()); + } + + private void ClearStatistic() + { + _tracking.Clear(); + + foreach (var statTracker in _proto.EnumeratePrototypes()) + { + _tracking.Add(statTracker.ID, 0); + } + } + + public void TrackAdd(ProtoId proto, int dif) + { + _tracking[proto] += Math.Max(dif, 0); + } + + public int? GetTrack(ProtoId proto) + { + if (!_tracking.TryGetValue(proto, out var stat)) + { + Log.Error($"Failed to get round statistic: {proto}"); + return null; + } + + return stat; + } +} diff --git a/Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14DeathDemiplaneStatisticComponent.cs b/Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14DeathDemiplaneStatisticComponent.cs new file mode 100644 index 0000000000..df155ac9b1 --- /dev/null +++ b/Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14DeathDemiplaneStatisticComponent.cs @@ -0,0 +1,14 @@ +using Content.Shared._CP14.RoundStatistic; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.RoundStatistic.DemiplaneDeath; + +/// +/// Tracks the destruction or full-blown death of this entity. +/// +[RegisterComponent] +public sealed partial class CP14DeathDemiplaneStatisticComponent : Component +{ + [DataField] + public ProtoId Statistic = "DemiplaneDeaths"; +} diff --git a/Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14RoundStatTrackerSystem.DemiplaneDeath.cs b/Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14RoundStatTrackerSystem.DemiplaneDeath.cs new file mode 100644 index 0000000000..744b0e1276 --- /dev/null +++ b/Content.Server/_CP14/RoundStatistic/DemiplaneDeath/CP14RoundStatTrackerSystem.DemiplaneDeath.cs @@ -0,0 +1,35 @@ +using Content.Server._CP14.Demiplane; +using Content.Server._CP14.RoundStatistic.DemiplaneDeath; +using Content.Shared._CP14.Demiplane.Components; +using Content.Shared.GameTicking; + +namespace Content.Server._CP14.RoundStatistic; + +public sealed partial class CP14RoundStatTrackerSystem +{ + private void InitializeDemiplaneDeath() + { + SubscribeLocalEvent(OnSpawnComplete); + SubscribeLocalEvent(OnEntityTerminated); + SubscribeLocalEvent(OnDemiplaneUnsafeExit); + } + + private void OnSpawnComplete(PlayerSpawnCompleteEvent ev) + { + EnsureComp(ev.Mob); + } + + private void OnDemiplaneUnsafeExit(Entity ent, ref CP14DemiplaneUnsafeExit args) + { + TrackAdd(ent.Comp.Statistic, 1); + } + + //For round remove variants, like gibs or chasm falls + private void OnEntityTerminated(Entity ent, ref EntityTerminatingEvent args) + { + if (!HasComp(Transform(ent).MapUid)) + return; + + TrackAdd(ent.Comp.Statistic, 1); + } +} diff --git a/Content.Shared/_CP14/RoundStatistic/CP14RoundStatTrackerPrototype.cs b/Content.Shared/_CP14/RoundStatistic/CP14RoundStatTrackerPrototype.cs new file mode 100644 index 0000000000..9da3be1582 --- /dev/null +++ b/Content.Shared/_CP14/RoundStatistic/CP14RoundStatTrackerPrototype.cs @@ -0,0 +1,12 @@ +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.RoundStatistic; + +[Prototype("statisticTracker")] +public sealed partial class CP14RoundStatTrackerPrototype : IPrototype +{ + [IdDataField] public string ID { get; } = default!; + + [DataField(required: true)] + public LocId Text; +} diff --git a/Resources/Locale/en-US/_CP14/loadouts/loadout.ftl b/Resources/Locale/en-US/_CP14/loadouts/loadout.ftl index 458d4230cc..3bd93f6065 100644 --- a/Resources/Locale/en-US/_CP14/loadouts/loadout.ftl +++ b/Resources/Locale/en-US/_CP14/loadouts/loadout.ftl @@ -42,6 +42,14 @@ cp14-loadout-guard-spells = Guard's spells cp14-loadout-bank-head = Bank employee hat cp14-loadout-commandant-head = Commandant's hat cp14-loadout-commandant-cloak = Commandant's cloak +cp14-loadout-banker-outer = Banker's waistcoat cp14-loadout-bank-shirt = Bank Employee shirt cp14-loadout-bank-pants = Bank Employee pants cp14-loadout-bank-shoes = Bank Employee shoes + +# Guildmaster + +cp14-loadout-guildmaster-cloak = Guildmaster cloak +cp14-loadout-guildmaster-shirt = Guildmaster shirt +cp14-loadout-guildmaster-pants = Guildmaster pants +cp14-loadout-guildmaster-shoes = Guildmaster shoes \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/lockKey/locks-types.ftl b/Resources/Locale/en-US/_CP14/lockKey/locks-types.ftl index b824cefb87..bf30536c06 100644 --- a/Resources/Locale/en-US/_CP14/lockKey/locks-types.ftl +++ b/Resources/Locale/en-US/_CP14/lockKey/locks-types.ftl @@ -14,9 +14,11 @@ cp14-lock-shape-tavern-dorm5 = tavern room №5 cp14-lock-shape-alchemist1 = alchemist's lab №1 cp14-lock-shape-alchemist2 = alchemist's lab №2 +cp14-lock-shape-alchemist3 = alchemist's lab №3 cp14-lock-shape-blacksmith1 = forge №1 cp14-lock-shape-blacksmith2 = forge №2 +cp14-lock-shape-blacksmith3 = forge №3 cp14-lock-shape-personalhouse1 = house №1 cp14-lock-shape-personalhouse2 = house №2 @@ -33,9 +35,12 @@ cp14-lock-shape-personalhouse12 = house №12 cp14-lock-shape-personalhouse13 = house №13 cp14-lock-shape-personalhouse14 = house №14 cp14-lock-shape-personalhouse15 = house №15 +cp14-lock-shape-personalhouse16 = house №16 cp14-lock-shaper-guard-entrance = barracks, entrance cp14-lock-shaper-guard-staff = barracks cp14-lock-shaper-guard-commander = guardhouse cp14-lock-shaper-guard-weapon-storage = weapons storage -cp14-lock-shape-guildmaster = guildmaster \ No newline at end of file + +cp14-lock-shape-guildmaster = guildmaster +cp14-lock-shape-demiplane-crystal = demiplane crystal \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl b/Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl index 3c34fbddf8..b7b9a14086 100644 --- a/Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl +++ b/Resources/Locale/en-US/_CP14/objectives/condition/empire-order.ftl @@ -4,4 +4,7 @@ cp14-objective-town-send-title = Extract { $count } { $itemName } cp14-objective-town-send-desc = Your task is to mine and ship { $count } { $itemName } to the city on a merchant ship. cp14-objective-bank-earning-title = Accumulate in the vault{ $coins } -cp14-objective-bank-earning-desc = There must be at least{ $coins } in the bank vault. You can use any methods of earning money that do not violate the law. \ No newline at end of file +cp14-objective-bank-earning-desc = There must be at least{ $coins } in the bank vault. You can use any methods of earning money that do not violate the law. + +cp14-objective-no-demiplane-death-title = Prevent deaths in the demiplanes +cp14-objective-no-demiplane-death-desc = I need to control the work of the adventurers so they don't die in the demiplanes. No more {$max} deaths! \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/stamp/stamp.ftl b/Resources/Locale/en-US/_CP14/stamp/stamp.ftl index dadbd410f5..ada48b177f 100644 --- a/Resources/Locale/en-US/_CP14/stamp/stamp.ftl +++ b/Resources/Locale/en-US/_CP14/stamp/stamp.ftl @@ -3,4 +3,5 @@ cp14-stamp-salary = Intendant of the Guard cp14-stamp-denied = Denied cp14-stamp-approved = Approved cp14-stamp-bank = Commandant -cp14-stamp-guard-commander = Guard commander \ No newline at end of file +cp14-stamp-guard-commander = Guard commander +cp14-stamp-guildmaster = Guildmaster \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/statisticTracker/trackers.ftl b/Resources/Locale/en-US/_CP14/statisticTracker/trackers.ftl new file mode 100644 index 0000000000..4e29ccb2a0 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/statisticTracker/trackers.ftl @@ -0,0 +1,4 @@ +cp14-tracker-header = Round statistic: + +cp14-tracker-demiplane-open = Demiplanes opened +cp14-tracker-demiplane-deaths = Players died in demiplanes \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/loadouts/loadout.ftl b/Resources/Locale/ru-RU/_CP14/loadouts/loadout.ftl index 2e4f90b396..60677bec31 100644 --- a/Resources/Locale/ru-RU/_CP14/loadouts/loadout.ftl +++ b/Resources/Locale/ru-RU/_CP14/loadouts/loadout.ftl @@ -44,6 +44,14 @@ cp14-loadout-guard-spells = Заклинания стражи cp14-loadout-bank-head = Шляпа работника банка cp14-loadout-commandant-head = Шляпа коменданта cp14-loadout-commandant-cloak = Накидка коменданта +cp14-loadout-banker-outer = Жилет банкира cp14-loadout-bank-shirt = Рубашка работника банка cp14-loadout-bank-pants = Штаны работника банка cp14-loadout-bank-shoes = Ботинки работника банка + +# Guildmaster + +cp14-loadout-guildmaster-cloak = Накидка гильдмастера +cp14-loadout-guildmaster-shirt = Рубашка гильдмастера +cp14-loadout-guildmaster-pants = Штаны гильдмастера +cp14-loadout-guildmaster-shoes = Ботинки гильдмастера \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/lockKey/locks-types.ftl b/Resources/Locale/ru-RU/_CP14/lockKey/locks-types.ftl index 61a6fb67c3..b9f8c01846 100644 --- a/Resources/Locale/ru-RU/_CP14/lockKey/locks-types.ftl +++ b/Resources/Locale/ru-RU/_CP14/lockKey/locks-types.ftl @@ -14,9 +14,11 @@ cp14-lock-shape-tavern-dorm5 = комната таверны №5 cp14-lock-shape-alchemist1 = лаборатория алхимика №1 cp14-lock-shape-alchemist2 = лаборатория алхимика №2 +cp14-lock-shape-alchemist3 = лаборатория алхимика №3 cp14-lock-shape-blacksmith1 = кузня №1 cp14-lock-shape-blacksmith2 = кузня №2 +cp14-lock-shape-blacksmith3 = кузня №3 cp14-lock-shape-personalhouse1 = дом №1 cp14-lock-shape-personalhouse2 = дом №2 @@ -33,9 +35,12 @@ cp14-lock-shape-personalhouse12 = дом №12 cp14-lock-shape-personalhouse13 = дом №13 cp14-lock-shape-personalhouse14 = дом №14 cp14-lock-shape-personalhouse15 = дом №15 +cp14-lock-shape-personalhouse16 = дом №16 cp14-lock-shaper-guard-entrance = казармы, вход cp14-lock-shaper-guard-staff = казармы cp14-lock-shaper-guard-commander = дом главы стражи cp14-lock-shaper-guard-weapon-storage = хранилище оружия -cp14-lock-shape-guildmaster = гильдмастер \ No newline at end of file + +cp14-lock-shape-guildmaster = гильдмастер +cp14-lock-shape-demiplane-crystal = кристалл демиплана \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl b/Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl index a94ad1a577..cd8595b870 100644 --- a/Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl +++ b/Resources/Locale/ru-RU/_CP14/objectives/condition/empire-order.ftl @@ -4,4 +4,7 @@ cp14-objective-town-send-title = Добыть { $count } { $itemName } cp14-objective-town-send-desc = Ваша задача - добыть и отправить { $count } { $itemName } в город на торговом корабле. cp14-objective-bank-earning-title = Накопить в хранилище{ $coins } -cp14-objective-bank-earning-desc = В банковском хранилище должно находиться не меньше{ $coins }. Вы можете использовать любые методы заработка, не нарушающие закон. \ No newline at end of file +cp14-objective-bank-earning-desc = В банковском хранилище должно находиться не меньше{ $coins }. Вы можете использовать любые методы заработка, не нарушающие закон. + +cp14-objective-no-demiplane-death-title = Не допустить смертей в демипланах +cp14-objective-no-demiplane-death-desc = Мне нужно контролировать работу авантюристов, чтобы они не погибали в демипланах. Не больше {$max} смертей! \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/stamp/stamp.ftl b/Resources/Locale/ru-RU/_CP14/stamp/stamp.ftl index 6f003ae829..d47c8dc709 100644 --- a/Resources/Locale/ru-RU/_CP14/stamp/stamp.ftl +++ b/Resources/Locale/ru-RU/_CP14/stamp/stamp.ftl @@ -3,4 +3,5 @@ cp14-stamp-salary = Интендант гвардии cp14-stamp-denied = Отказано cp14-stamp-approved = Утверждено cp14-stamp-bank = Комендант -cp14-stamp-guard-commander = Командир стражи \ No newline at end of file +cp14-stamp-guard-commander = Командир стражи +cp14-stamp-guildmaster = Гильдмастер \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/statisticTracker/trackers.ftl b/Resources/Locale/ru-RU/_CP14/statisticTracker/trackers.ftl new file mode 100644 index 0000000000..b225a1072b --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/statisticTracker/trackers.ftl @@ -0,0 +1,4 @@ +cp14-tracker-header = Статистика раунда: + +cp14-tracker-demiplane-open = Открыто демипланов +cp14-tracker-demiplane-deaths = Умерло игроков в демипланах \ No newline at end of file diff --git a/Resources/Maps/_CP14/comoss.yml b/Resources/Maps/_CP14/comoss.yml index edcf83d3b8..9ab268fa62 100644 --- a/Resources/Maps/_CP14/comoss.yml +++ b/Resources/Maps/_CP14/comoss.yml @@ -14,6 +14,9 @@ tilemap: 28: CP14FloorGrass 29: CP14FloorGrassLight 30: CP14FloorGrassTall + 31: CP14FloorIce + 26: CP14FloorLucensWoodPlanksCruciform + 27: CP14FloorLucensWoodPlanksStairways 14: CP14FloorMarble 5: CP14FloorOakWoodPlanks 19: CP14FloorOakWoodPlanksBig @@ -98,7 +101,7 @@ entities: version: 6 -1,-1: ind: -1,-1 - tiles: BQAAAAABBQAAAAAABAAAAAAIFgAAAAABGAAAAAAFFwAAAAADBAAAAAABBQAAAAABBQAAAAACBQAAAAACBQAAAAABBQAAAAACBQAAAAAABQAAAAACBQAAAAAABAAAAAAMBQAAAAADBQAAAAABBAAAAAAEFgAAAAADGAAAAAADFwAAAAADBAAAAAAEBQAAAAAABQAAAAAABQAAAAABBQAAAAAABQAAAAABBQAAAAABBQAAAAABBQAAAAABBAAAAAABBAAAAAAMBAAAAAAKBAAAAAACFgAAAAAAFgAAAAAAFwAAAAABBAAAAAACBAAAAAALBAAAAAANBAAAAAAHBAAAAAAGBQAAAAACBAAAAAANBAAAAAAJBAAAAAACBAAAAAACBAAAAAAIGAAAAAAFGAAAAAADFgAAAAABFgAAAAAAFgAAAAAEFgAAAAADFgAAAAACBQAAAAABBQAAAAAABQAAAAAABQAAAAADBQAAAAABBAAAAAANFwAAAAAAFwAAAAABFwAAAAAAGAAAAAAAFgAAAAAAFgAAAAACFgAAAAACGAAAAAAAGAAAAAAAGAAAAAABBAAAAAABBQAAAAABBQAAAAACBQAAAAABBQAAAAADBAAAAAAJFwAAAAADGQAAAAAFFwAAAAAAGAAAAAAFFgAAAAAAGAAAAAAFGAAAAAACFwAAAAABFwAAAAADFwAAAAABBAAAAAAJBAAAAAAMBAAAAAABBAAAAAABBAAAAAALBAAAAAADFwAAAAAEGQAAAAABFwAAAAABFwAAAAABGAAAAAABFwAAAAAFFwAAAAAFFwAAAAAFFwAAAAAAFwAAAAABFwAAAAAFFwAAAAABFwAAAAAEFwAAAAADFwAAAAABFwAAAAADFwAAAAAAGQAAAAACFwAAAAACFwAAAAACGAAAAAAEFwAAAAABFwAAAAAEFwAAAAAABAAAAAADBAAAAAABBAAAAAANBAAAAAAHBAAAAAABBAAAAAAHBAAAAAAFBAAAAAAMFwAAAAAEGQAAAAAIBAAAAAAIBAAAAAACBAAAAAADBAAAAAAEBAAAAAAGFwAAAAABBAAAAAAIBgAAAAACBwAAAAACBgAAAAAABwAAAAADBQAAAAABBQAAAAADBAAAAAAJFwAAAAAFGQAAAAAGBQAAAAABBQAAAAABBQAAAAABBQAAAAABBAAAAAAGFwAAAAAEBAAAAAAEBQAAAAACBgAAAAADBwAAAAADBgAAAAAABgAAAAABBwAAAAADBAAAAAAIFwAAAAACGQAAAAAFBQAAAAABBQAAAAADBQAAAAACBQAAAAABBAAAAAAMFwAAAAABBAAAAAAIBQAAAAADBwAAAAACBgAAAAADBwAAAAABBwAAAAADBgAAAAADBAAAAAALFwAAAAAEGQAAAAABBAAAAAAJBAAAAAAKBQAAAAADBAAAAAAMBAAAAAAEFwAAAAACBAAAAAABBgAAAAADBwAAAAAABQAAAAABBAAAAAAJBAAAAAAGBAAAAAAHBAAAAAAGFwAAAAAEGQAAAAADBAAAAAANBQAAAAACBQAAAAAABQAAAAAAFwAAAAAFFwAAAAAEBAAAAAAIBwAAAAABBgAAAAACBQAAAAACBQAAAAAAFwAAAAAFFwAAAAABFwAAAAAAFwAAAAAFGQAAAAAHBAAAAAABBQAAAAADBQAAAAAABQAAAAADFwAAAAAAFwAAAAAEBAAAAAANBAAAAAAFBAAAAAAGBAAAAAAJBAAAAAADFwAAAAAAFwAAAAADGQAAAAAAGQAAAAADGQAAAAAHFwAAAAACFwAAAAABFwAAAAABFwAAAAADFwAAAAACFwAAAAACFwAAAAAAFwAAAAAAFwAAAAAAFwAAAAADFwAAAAAEFwAAAAABGQAAAAAHGQAAAAACGQAAAAAGGQAAAAADFwAAAAADFwAAAAAEFwAAAAAAFwAAAAABFwAAAAAFFwAAAAADBAAAAAAABAAAAAAFBAAAAAAFBAAAAAAAGAAAAAACGAAAAAAFGQAAAAAFGQAAAAAGGQAAAAAIGQAAAAAD + tiles: BQAAAAABBQAAAAAABAAAAAAIFgAAAAABGAAAAAAFBAAAAAAABAAAAAABBQAAAAABBQAAAAACGgAAAAAAGwAAAAAAGwAAAAAAGgAAAAAAGwAAAAAAGwAAAAAABAAAAAAMBQAAAAADBQAAAAABBAAAAAAEFgAAAAADGAAAAAADFwAAAAADFgAAAAAAFgAAAAAABAAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAABAAAAAABBAAAAAAMBAAAAAAKBAAAAAACFgAAAAAAFgAAAAAAFwAAAAABFgAAAAAAFgAAAAAABAAAAAANBAAAAAAHBAAAAAAGGgAAAAAABAAAAAANBAAAAAAJBAAAAAACBAAAAAACBAAAAAAIGAAAAAAFGAAAAAADFgAAAAABFgAAAAAAFgAAAAAEFgAAAAADFgAAAAACGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAABAAAAAANFwAAAAAAFwAAAAABFwAAAAAAGAAAAAAAFgAAAAAAFgAAAAACFgAAAAACGAAAAAAAGAAAAAAAGAAAAAABBAAAAAABGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAABAAAAAAJFwAAAAADGQAAAAAFFwAAAAAAGAAAAAAFFgAAAAAAGAAAAAAFGAAAAAACFwAAAAABFwAAAAADFwAAAAABBAAAAAAJBAAAAAAMBAAAAAABBAAAAAABBAAAAAALBAAAAAADFwAAAAAEGQAAAAABFwAAAAABFwAAAAABGAAAAAABFwAAAAAFFwAAAAAFFwAAAAAFFwAAAAAAFwAAAAABFwAAAAAFFwAAAAABFwAAAAAEFwAAAAADFwAAAAABFwAAAAADFwAAAAAAGQAAAAACFwAAAAACFwAAAAACGAAAAAAEFwAAAAABFwAAAAAEFwAAAAAABAAAAAADBAAAAAABBAAAAAANBAAAAAAHBAAAAAABBAAAAAAHBAAAAAAFBAAAAAAMFwAAAAAEGQAAAAAIBAAAAAAIBAAAAAACBAAAAAADBAAAAAAEBAAAAAAGFwAAAAABBAAAAAAIBgAAAAACBwAAAAACBgAAAAAABwAAAAADBQAAAAABBQAAAAADBAAAAAAJFwAAAAAFGQAAAAAGBQAAAAABBQAAAAABBQAAAAABBQAAAAABBAAAAAAGFwAAAAAEBAAAAAAEBQAAAAACBgAAAAADBwAAAAADBgAAAAAABgAAAAABBwAAAAADBAAAAAAIFwAAAAACGQAAAAAFBQAAAAABBQAAAAADBQAAAAACBQAAAAABBAAAAAAMFwAAAAABBAAAAAAIBQAAAAADBwAAAAACBgAAAAADBwAAAAABBwAAAAADBgAAAAADBAAAAAALFwAAAAAEGQAAAAABBAAAAAAJBAAAAAAKBQAAAAADBAAAAAAMBAAAAAAEFwAAAAACBAAAAAABBgAAAAADBwAAAAAABQAAAAABBAAAAAAJBAAAAAAGBAAAAAAHBAAAAAAGFwAAAAAEGQAAAAADBAAAAAANBQAAAAACBQAAAAAABQAAAAAAFwAAAAAFFwAAAAAEBAAAAAAIBwAAAAABBgAAAAACBQAAAAACBQAAAAAAFwAAAAAFFwAAAAABFwAAAAAAFwAAAAAFGQAAAAAHBAAAAAABBQAAAAADBQAAAAAABQAAAAADFwAAAAAAFwAAAAAEBAAAAAANBAAAAAAFBAAAAAAGBAAAAAAJBAAAAAADFwAAAAAAFwAAAAADGQAAAAAAGQAAAAADGQAAAAAHFwAAAAACFwAAAAABFwAAAAABFwAAAAADFwAAAAACFwAAAAACFwAAAAAAFwAAAAAAFwAAAAAAFwAAAAADFwAAAAAEFwAAAAABGQAAAAAHGQAAAAACGQAAAAAGGQAAAAADFwAAAAADFwAAAAAEFwAAAAAAFwAAAAABFwAAAAAFFwAAAAADBAAAAAAABAAAAAAFBAAAAAAFBAAAAAAAGAAAAAACGAAAAAAFGQAAAAAFGQAAAAAGGQAAAAAIGQAAAAAD version: 6 -1,0: ind: -1,0 @@ -106,7 +109,7 @@ entities: version: 6 -1,-2: ind: -1,-2 - tiles: BwAAAAADBAAAAAAAAgAAAAAKCQAAAAAMAgAAAAAPAgAAAAALBAAAAAACBQAAAAADBgAAAAACBQAAAAADBgAAAAACBwAAAAACBgAAAAABBAAAAAAMFwAAAAAEGQAAAAAHBQAAAAAABAAAAAACBAAAAAAABAAAAAAMBAAAAAAKCQAAAAAABAAAAAAJBgAAAAACBQAAAAACBQAAAAABBAAAAAABBgAAAAABBwAAAAADBAAAAAAHFwAAAAAFGQAAAAAHBwAAAAAABwAAAAAABQAAAAAABQAAAAAABAAAAAAJFwAAAAAABAAAAAACBAAAAAABBAAAAAAEBAAAAAACBAAAAAAFBQAAAAAABAAAAAAJBAAAAAAGFwAAAAADGQAAAAAABQAAAAADBgAAAAADBgAAAAADBQAAAAAABAAAAAALFwAAAAADFwAAAAADFwAAAAABFwAAAAAEFwAAAAAFFwAAAAACGAAAAAAEFwAAAAAAFwAAAAACFwAAAAACGQAAAAABBwAAAAAABgAAAAABBgAAAAACBQAAAAAABQAAAAADGAAAAAADGQAAAAABGQAAAAADGQAAAAAIGQAAAAAAGQAAAAAEGQAAAAAAGQAAAAABGQAAAAADGQAAAAABGQAAAAAGBAAAAAAGBAAAAAAGBAAAAAAMBAAAAAAEBAAAAAAEFwAAAAAAGQAAAAAHGQAAAAAFGQAAAAAEGQAAAAABGQAAAAAGGQAAAAAEGQAAAAACGQAAAAAFGQAAAAAHGQAAAAABFwAAAAADFwAAAAADFwAAAAAEFwAAAAAAFwAAAAAFFwAAAAABFwAAAAADGAAAAAAEFgAAAAAEFwAAAAACFwAAAAAAFwAAAAACFwAAAAAFFwAAAAAEFwAAAAABFwAAAAABBAAAAAAGBAAAAAAEBAAAAAANBAAAAAAIBAAAAAAEBAAAAAAHBAAAAAALBAAAAAAJBAAAAAALBAAAAAAHBAAAAAAFBAAAAAAIBAAAAAALBAAAAAACBAAAAAADBAAAAAADBQAAAAADBQAAAAADBQAAAAACBQAAAAAABAAAAAAKBQAAAAADBQAAAAADBgAAAAADBgAAAAADBgAAAAAABQAAAAADBgAAAAAABgAAAAABBgAAAAADBQAAAAADBAAAAAAEBQAAAAABBQAAAAACBQAAAAAABgAAAAADBgAAAAADBgAAAAACBQAAAAADBgAAAAABBgAAAAADBgAAAAADBQAAAAABBgAAAAAABgAAAAADBgAAAAADBgAAAAADBgAAAAAABQAAAAAABQAAAAAABQAAAAAABgAAAAACBgAAAAAABgAAAAACBQAAAAAABQAAAAAABQAAAAAABQAAAAABBQAAAAABBQAAAAACBQAAAAAABQAAAAADBgAAAAABBgAAAAADBQAAAAACBQAAAAADBQAAAAACBQAAAAACBwAAAAABBQAAAAACBwAAAAACBwAAAAABBQAAAAABBwAAAAABBwAAAAABBwAAAAADBwAAAAACBQAAAAABBQAAAAABBAAAAAAABQAAAAADBQAAAAADBQAAAAABBQAAAAABBQAAAAABBQAAAAAABwAAAAABBwAAAAAABQAAAAABBwAAAAABBwAAAAAABwAAAAAABwAAAAABBQAAAAAABQAAAAABBAAAAAAHBQAAAAADBAAAAAAMBAAAAAAABAAAAAAKBAAAAAAEBAAAAAADDQAAAAAADQAAAAAABAAAAAABBAAAAAAMDQAAAAAADQAAAAAABAAAAAAGDQAAAAAABAAAAAAKBAAAAAAJBQAAAAABBQAAAAACBAAAAAADFgAAAAACGAAAAAAEBAAAAAAJBAAAAAACBAAAAAAGBAAAAAAHBQAAAAACBQAAAAAABQAAAAAABQAAAAADBQAAAAAABQAAAAABBAAAAAAHBQAAAAACBQAAAAADBAAAAAALFgAAAAADGAAAAAABFwAAAAABBAAAAAAIBQAAAAABBQAAAAABBQAAAAADBQAAAAADBQAAAAACBQAAAAADBQAAAAABBQAAAAADBAAAAAAC + tiles: BwAAAAADBAAAAAAAAgAAAAAKCQAAAAAMBAAAAAAABQAAAAAABAAAAAACBQAAAAADBgAAAAACBQAAAAADBgAAAAACBwAAAAACBgAAAAABBAAAAAAMFwAAAAAEGQAAAAAHBQAAAAAABAAAAAACBAAAAAAABAAAAAAMBAAAAAAKBAAAAAAABAAAAAAJBgAAAAACBQAAAAACBQAAAAABBAAAAAABBgAAAAABBwAAAAADBAAAAAAHFwAAAAAFGQAAAAAHBwAAAAAABwAAAAAABQAAAAAABQAAAAAABAAAAAAJFwAAAAAABAAAAAACBAAAAAABBAAAAAAEBAAAAAACBAAAAAAFBQAAAAAABAAAAAAJBAAAAAAGFwAAAAADGQAAAAAABQAAAAADBgAAAAADBgAAAAADBQAAAAAABAAAAAALFwAAAAADFwAAAAADFwAAAAABFwAAAAAEFwAAAAAFFwAAAAACGAAAAAAEFwAAAAAAFwAAAAACFwAAAAACGQAAAAABBwAAAAAABgAAAAABBgAAAAACBQAAAAAABQAAAAADGAAAAAADGQAAAAABGQAAAAADGQAAAAAIGQAAAAAAGQAAAAAEGQAAAAAAGQAAAAABGQAAAAADGQAAAAABGQAAAAAGBAAAAAAGBAAAAAAGBAAAAAAMBAAAAAAEBAAAAAAEFwAAAAAAGQAAAAAHGQAAAAAFGQAAAAAEGQAAAAABGQAAAAAGGQAAAAAEGQAAAAACGQAAAAAFGQAAAAAHGQAAAAABFwAAAAADFwAAAAADFwAAAAAEFwAAAAAAFwAAAAAFFwAAAAABFwAAAAADGAAAAAAEFgAAAAAEFwAAAAACFwAAAAAAFwAAAAACFwAAAAAFFwAAAAAEFwAAAAABFwAAAAABBAAAAAAGBAAAAAAEBAAAAAANBAAAAAAIBAAAAAAEBAAAAAAHBAAAAAALBAAAAAAJBAAAAAALBAAAAAAHBAAAAAAFBAAAAAAIBAAAAAALBAAAAAACBAAAAAADBAAAAAADBQAAAAADBQAAAAADBQAAAAACBQAAAAAABAAAAAAKBQAAAAADBQAAAAADBgAAAAADBgAAAAADBgAAAAAABQAAAAADBgAAAAAABgAAAAABBgAAAAADBQAAAAADBAAAAAAEBQAAAAABBQAAAAACBQAAAAAABgAAAAADBgAAAAADBgAAAAACBQAAAAADBgAAAAABBgAAAAADBgAAAAADBQAAAAABBgAAAAAABgAAAAADBgAAAAADBgAAAAADBgAAAAAABQAAAAAABQAAAAAABQAAAAAABgAAAAACBgAAAAAABgAAAAACBQAAAAAABQAAAAAABQAAAAAABQAAAAABBQAAAAABBQAAAAACBQAAAAAABQAAAAADBgAAAAABBgAAAAADBQAAAAACBQAAAAADBQAAAAACBQAAAAACBwAAAAABBQAAAAACBwAAAAACBwAAAAABBQAAAAABBwAAAAABBwAAAAABBwAAAAADBwAAAAACBQAAAAABBQAAAAABBAAAAAAABQAAAAADBQAAAAADBQAAAAABBQAAAAABBQAAAAABBQAAAAAABwAAAAABBwAAAAAABQAAAAABBwAAAAABBwAAAAAABwAAAAAABwAAAAABBQAAAAAABQAAAAABBAAAAAAHBQAAAAADBAAAAAAMBAAAAAAABAAAAAAKBAAAAAAEBAAAAAADAwAAAAAAAwAAAAAABQAAAAAABAAAAAAMDQAAAAAADQAAAAAABAAAAAAGDQAAAAAABAAAAAAKBAAAAAAJBQAAAAABBQAAAAACBAAAAAADFgAAAAACGAAAAAAEBAAAAAAJAwAAAAAAAwAAAAAABQAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAAGgAAAAAABAAAAAAHBQAAAAACBQAAAAADBAAAAAALFgAAAAADGAAAAAABBAAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAGgAAAAAAGwAAAAAAGwAAAAAAGgAAAAAAGwAAAAAAGwAAAAAABAAAAAAC version: 6 0,-2: ind: 0,-2 @@ -138,7 +141,7 @@ entities: version: 6 1,1: ind: 1,1 - tiles: GAAAAAAFBAAAAAAGBAAAAAAKBAAAAAAKBwAAAAACBQAAAAADBQAAAAABBAAAAAAIHAAAAAACBAAAAAANAwAAAAAEAwAAAAAGAwAAAAAHDQAAAAAADQAAAAAADQAAAAAAFwAAAAAAFwAAAAAAFwAAAAACBwAAAAABBwAAAAACBQAAAAADBgAAAAAABAAAAAAHHAAAAAABBAAAAAAKAwAAAAACAwAAAAAEAwAAAAACBAAAAAANBAAAAAAEBAAAAAANFwAAAAAAFwAAAAADFwAAAAAEBAAAAAAHBAAAAAAHBAAAAAACBAAAAAAIBAAAAAAEHAAAAAAEBAAAAAANBAAAAAABBAAAAAAEBAAAAAALBAAAAAAGFwAAAAAFFwAAAAACFwAAAAACFwAAAAAAFwAAAAAFFwAAAAABFwAAAAABFwAAAAAEFwAAAAAAFwAAAAAFFwAAAAADCQAAAAADCQAAAAAJCQAAAAAJCQAAAAAGCQAAAAAICQAAAAAKCQAAAAABFwAAAAAEFwAAAAAAFwAAAAABFwAAAAABFwAAAAAEFwAAAAAEFwAAAAABFwAAAAACCQAAAAAKCQAAAAAMCQAAAAAKCQAAAAAGCQAAAAAICQAAAAAHCQAAAAAGCQAAAAACHAAAAAADFwAAAAADFwAAAAAEFwAAAAABFwAAAAAAFwAAAAABFwAAAAAFFwAAAAAACQAAAAABCQAAAAADCQAAAAAICQAAAAAKCQAAAAAKCQAAAAAICQAAAAADCQAAAAALHAAAAAAAHgAAAAAAFwAAAAABAgAAAAAGAgAAAAAKFwAAAAADFwAAAAAECQAAAAAICQAAAAACCQAAAAALCQAAAAALCQAAAAACCQAAAAALCQAAAAAJCQAAAAANCQAAAAAKHAAAAAABFwAAAAAEAgAAAAAFAgAAAAABAgAAAAAFAgAAAAAPFwAAAAADCQAAAAAICQAAAAADCQAAAAADCQAAAAAICQAAAAAJCQAAAAAKCQAAAAAACQAAAAAMCQAAAAABGAAAAAABGAAAAAADAgAAAAABAgAAAAAGAgAAAAAOAgAAAAAHFwAAAAAECQAAAAAICQAAAAACCQAAAAADCQAAAAABCQAAAAAHCQAAAAAGCQAAAAABCQAAAAAECQAAAAANFwAAAAAFCQAAAAADFwAAAAAFAgAAAAABAgAAAAABFwAAAAABFwAAAAAACQAAAAAKCQAAAAAHCQAAAAABCQAAAAAJCQAAAAACCQAAAAABCQAAAAAICQAAAAABCQAAAAABCQAAAAAIHAAAAAAFHAAAAAACFwAAAAAAFwAAAAAFFwAAAAAAHAAAAAAECQAAAAAKCQAAAAAECQAAAAANCQAAAAAFCQAAAAAJCQAAAAAMCQAAAAAECQAAAAAKCQAAAAAECQAAAAAKCQAAAAANCQAAAAAECQAAAAAFFwAAAAAAHAAAAAACHAAAAAAFCQAAAAAJCQAAAAADCQAAAAAFCQAAAAABCQAAAAAMCQAAAAAACQAAAAABCQAAAAAGCQAAAAAKCQAAAAAICQAAAAAFCQAAAAAGCQAAAAADCQAAAAANFwAAAAAFHAAAAAACCQAAAAAJCQAAAAAJCQAAAAAMCQAAAAAECQAAAAANCQAAAAAECQAAAAAMCQAAAAADCQAAAAAKCQAAAAAFCQAAAAAMCQAAAAAACQAAAAANCQAAAAAGCQAAAAACFwAAAAAACQAAAAAJCQAAAAALCQAAAAALCQAAAAACCQAAAAANCQAAAAAHCQAAAAANCQAAAAAJCQAAAAALCQAAAAAHCQAAAAABCQAAAAANCQAAAAAGCQAAAAAGCQAAAAAHCQAAAAAECQAAAAAKCQAAAAAGCQAAAAAJCQAAAAANCQAAAAACCQAAAAANCQAAAAAMCQAAAAAFCQAAAAAFCQAAAAAACQAAAAABCQAAAAAMCQAAAAALCQAAAAAMCQAAAAAKCQAAAAAKCQAAAAADCQAAAAADCQAAAAADCQAAAAAGCQAAAAAHCQAAAAACCQAAAAAFCQAAAAAMCQAAAAAN + tiles: GAAAAAAFBAAAAAAGBAAAAAAKBAAAAAAKBwAAAAACBQAAAAADBQAAAAABBAAAAAAIHAAAAAACBAAAAAANAwAAAAAEAwAAAAAGAwAAAAAHDQAAAAAADQAAAAAADQAAAAAAFwAAAAAAFwAAAAAAFwAAAAACBwAAAAABBwAAAAACBQAAAAADBgAAAAAABAAAAAAHHAAAAAABBAAAAAAKAwAAAAACAwAAAAAEAwAAAAACBAAAAAANBAAAAAAEBAAAAAANFwAAAAAAFwAAAAADFwAAAAAEBAAAAAAHBAAAAAAHBAAAAAACBAAAAAAIBAAAAAAEHAAAAAAEBAAAAAANBAAAAAABBAAAAAAEBAAAAAALBAAAAAAGFwAAAAAFFwAAAAACFwAAAAACFwAAAAAAFwAAAAAFFwAAAAABFwAAAAABFwAAAAAEFwAAAAAAFwAAAAAFFwAAAAADCQAAAAADCQAAAAAJCQAAAAAJCQAAAAAGCQAAAAAICQAAAAAKCQAAAAABFwAAAAAEFwAAAAAAFwAAAAABFwAAAAABFwAAAAAEFwAAAAAEFwAAAAABFwAAAAACCQAAAAAKCQAAAAAMCQAAAAAKCQAAAAAGCQAAAAAICQAAAAAHCQAAAAAGCQAAAAACGAAAAAAAFwAAAAADFwAAAAAEHwAAAAAAHwAAAAAAFwAAAAABFwAAAAAFFwAAAAAACQAAAAABCQAAAAADCQAAAAAICQAAAAAKCQAAAAAKCQAAAAAICQAAAAADCQAAAAALGAAAAAAAGAAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAFwAAAAAECQAAAAAICQAAAAACCQAAAAALCQAAAAALCQAAAAACCQAAAAALCQAAAAAJCQAAAAANCQAAAAAKGAAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAFwAAAAADCQAAAAAICQAAAAADCQAAAAADCQAAAAAICQAAAAAJCQAAAAAKCQAAAAAACQAAAAAMCQAAAAABGAAAAAABGAAAAAADHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAACQAAAAAICQAAAAACCQAAAAADCQAAAAABCQAAAAAHCQAAAAAGCQAAAAABCQAAAAAECQAAAAANFwAAAAAFGAAAAAAAGAAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAFwAAAAAACQAAAAAKCQAAAAAHCQAAAAABCQAAAAAJCQAAAAACCQAAAAABCQAAAAAICQAAAAABCQAAAAABCQAAAAAIGAAAAAAAGAAAAAAAFwAAAAAAFwAAAAAFFwAAAAAAGAAAAAAACQAAAAAKCQAAAAAECQAAAAANCQAAAAAFCQAAAAAJCQAAAAAMCQAAAAAECQAAAAAKCQAAAAAECQAAAAAKCQAAAAANCQAAAAAECQAAAAAFFwAAAAAAGAAAAAAAGAAAAAAACQAAAAAJCQAAAAADCQAAAAAFCQAAAAABCQAAAAAMCQAAAAAACQAAAAABCQAAAAAGCQAAAAAKCQAAAAAICQAAAAAFCQAAAAAGCQAAAAADCQAAAAANFwAAAAAFHAAAAAACCQAAAAAJCQAAAAAJCQAAAAAMCQAAAAAECQAAAAANCQAAAAAECQAAAAAMCQAAAAADCQAAAAAKCQAAAAAFCQAAAAAMCQAAAAAACQAAAAANCQAAAAAGCQAAAAACFwAAAAAACQAAAAAJCQAAAAALCQAAAAALCQAAAAACCQAAAAANCQAAAAAHCQAAAAANCQAAAAAJCQAAAAALCQAAAAAHCQAAAAABCQAAAAANCQAAAAAGCQAAAAAGCQAAAAAHCQAAAAAECQAAAAAKCQAAAAAGCQAAAAAJCQAAAAANCQAAAAACCQAAAAANCQAAAAAMCQAAAAAFCQAAAAAFCQAAAAAACQAAAAABCQAAAAAMCQAAAAALCQAAAAAMCQAAAAAKCQAAAAAKCQAAAAADCQAAAAADCQAAAAADCQAAAAAGCQAAAAAHCQAAAAACCQAAAAAFCQAAAAAMCQAAAAAN version: 6 0,1: ind: 0,1 @@ -190,7 +193,7 @@ entities: version: 6 -1,-3: ind: -1,-3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAEAQAAAAAEAQAAAAACFwAAAAADFwAAAAADFwAAAAABFwAAAAACFwAAAAABFwAAAAADFwAAAAAFFwAAAAABGQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAACAQAAAAAAAQAAAAAEFwAAAAADFwAAAAAAFwAAAAAFFwAAAAABFwAAAAADFwAAAAAAFwAAAAAEFwAAAAAAGQAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAACQAAAAAEFwAAAAABFwAAAAADFgAAAAABGAAAAAADGAAAAAADGAAAAAAFFwAAAAAEFwAAAAADFwAAAAAFGQAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAABCQAAAAADBAAAAAAHBAAAAAAJBAAAAAAGBAAAAAAFBAAAAAAMBAAAAAAABAAAAAALBAAAAAACFwAAAAAAGQAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAECQAAAAAICQAAAAACBAAAAAAHBQAAAAACBwAAAAABBwAAAAAABQAAAAABBgAAAAACBQAAAAAABAAAAAAHFwAAAAAFGQAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABCQAAAAAECQAAAAAGBAAAAAABBQAAAAADBwAAAAACBgAAAAABBgAAAAACBgAAAAABBgAAAAABBAAAAAAAFwAAAAABGQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABCQAAAAAMCQAAAAAFBAAAAAAFBQAAAAADBwAAAAAABQAAAAACBQAAAAADBwAAAAACBwAAAAACBAAAAAALFwAAAAACGQAAAAACAAAAAAAAAAAAAAAAAQAAAAACAQAAAAABCQAAAAAGCQAAAAAIBAAAAAAIBAAAAAANBAAAAAALBgAAAAAABQAAAAACBwAAAAABBQAAAAACBAAAAAAJFwAAAAABGQAAAAAIAAAAAAAAAAAAAAAAAQAAAAACFwAAAAABFwAAAAACCQAAAAALFgAAAAAEFgAAAAADBwAAAAABBwAAAAABBQAAAAAABgAAAAABBQAAAAACBQAAAAACGAAAAAADGQAAAAABAAAAAAAAAQAAAAACAQAAAAADFwAAAAAEFwAAAAACCQAAAAAKFgAAAAAAFgAAAAADBAAAAAAFBwAAAAAABwAAAAADBQAAAAAABQAAAAAABAAAAAALFwAAAAACGQAAAAAIAQAAAAAEAQAAAAAEFwAAAAAAFwAAAAAFFwAAAAADFwAAAAAAFwAAAAADFgAAAAAEBAAAAAAIBAAAAAAIBAAAAAAIBAAAAAAGBAAAAAABBAAAAAAHFwAAAAAFGQAAAAAHAQAAAAAAFwAAAAAAFwAAAAADFwAAAAAEFwAAAAACFwAAAAAEFwAAAAAEFwAAAAAAAgAAAAALFwAAAAABFwAAAAACFwAAAAACFwAAAAAEFwAAAAAEFwAAAAADGQAAAAAHFwAAAAACFwAAAAAAFwAAAAACAgAAAAAOBAAAAAANBAAAAAAABAAAAAAJBAAAAAAJBAAAAAAEBAAAAAAGBAAAAAAMBAAAAAANBAAAAAAMBAAAAAAIFwAAAAAEGQAAAAAHFwAAAAAFFwAAAAABCQAAAAAKAgAAAAAHBQAAAAACBQAAAAABBQAAAAAABQAAAAADBQAAAAABBQAAAAAABQAAAAADBgAAAAAABQAAAAAABAAAAAAHFwAAAAADGQAAAAAFBAAAAAAKBAAAAAAFAgAAAAAAAgAAAAAJBAAAAAALBQAAAAAABQAAAAAABQAAAAADBQAAAAACBQAAAAADBgAAAAADBQAAAAAABQAAAAABBAAAAAAJFwAAAAABGQAAAAAGBgAAAAACBQAAAAAAAgAAAAAGAgAAAAAGBAAAAAAABAAAAAAJBAAAAAAFBQAAAAAABQAAAAABBQAAAAAABAAAAAAKBgAAAAAABwAAAAADBAAAAAAHFwAAAAAAGQAAAAAG + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAEAQAAAAAEAQAAAAACFwAAAAADFwAAAAADFwAAAAABFwAAAAACFwAAAAABFwAAAAADFwAAAAAFFwAAAAABGQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAACAQAAAAAAAQAAAAAEFwAAAAADFwAAAAAAFwAAAAAFFwAAAAABFwAAAAADFwAAAAAAFwAAAAAEFwAAAAAAGQAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAACQAAAAAEFwAAAAABFwAAAAADFgAAAAABGAAAAAADGAAAAAADGAAAAAAFFwAAAAAEFwAAAAADFwAAAAAFGQAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAABCQAAAAADBAAAAAAHBAAAAAAJBAAAAAAGBAAAAAAFBAAAAAAMBAAAAAAABAAAAAALBAAAAAACFwAAAAAAGQAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAECQAAAAAICQAAAAACBAAAAAAHBQAAAAACBwAAAAABBwAAAAAABQAAAAABBgAAAAACBQAAAAAABAAAAAAHFwAAAAAFGQAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABCQAAAAAECQAAAAAGBAAAAAABBQAAAAADBwAAAAACBgAAAAABBgAAAAACBgAAAAABBgAAAAABBAAAAAAAFwAAAAABGQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABCQAAAAAMCQAAAAAFBAAAAAAFBQAAAAADBwAAAAAABQAAAAACBQAAAAADBwAAAAACBwAAAAACBAAAAAALFwAAAAACGQAAAAACAAAAAAAAAAAAAAAAAQAAAAACAQAAAAABCQAAAAAGCQAAAAAIBAAAAAAIBAAAAAANBAAAAAALBgAAAAAABQAAAAACBwAAAAABBQAAAAACBAAAAAAJFwAAAAABGQAAAAAIAAAAAAAAAAAAAAAAAQAAAAACFwAAAAABFwAAAAACCQAAAAALFgAAAAAEFgAAAAADBwAAAAABBwAAAAABBQAAAAAABgAAAAABBQAAAAACBQAAAAACGAAAAAADGQAAAAABAAAAAAAAAQAAAAACAQAAAAADFwAAAAAEFwAAAAACCQAAAAAKFgAAAAAAFgAAAAADBAAAAAAFBwAAAAAABwAAAAADBQAAAAAABQAAAAAABAAAAAALFwAAAAACGQAAAAAIAQAAAAAEAQAAAAAEFwAAAAAAFwAAAAAFFwAAAAADFwAAAAAAFwAAAAADFgAAAAAEBAAAAAAIBAAAAAAIBAAAAAAIBAAAAAAGBAAAAAABBAAAAAAHFwAAAAAFGQAAAAAHAQAAAAAAFwAAAAAAFwAAAAADFwAAAAAEFwAAAAACFwAAAAAEFwAAAAAEFwAAAAAAAgAAAAALFwAAAAABFwAAAAACFwAAAAACFwAAAAAEFwAAAAAEFwAAAAADGQAAAAAHFwAAAAACFwAAAAAAFwAAAAACAgAAAAAOBAAAAAANBAAAAAAABAAAAAAJBAAAAAAJBAAAAAAEBAAAAAAGBAAAAAAMBAAAAAANBAAAAAAMBAAAAAAIFwAAAAAEGQAAAAAHFwAAAAAFFwAAAAABCQAAAAAKAgAAAAAHBQAAAAACBQAAAAABBQAAAAAABQAAAAADBQAAAAABBQAAAAAABQAAAAADBgAAAAAABQAAAAAABAAAAAAHFwAAAAADGQAAAAAFBAAAAAAKBAAAAAAFAgAAAAAAAgAAAAAJBAAAAAALBQAAAAAABQAAAAAABQAAAAADBQAAAAACBQAAAAADBgAAAAADBQAAAAAABQAAAAABBAAAAAAJFwAAAAABGQAAAAAGBgAAAAACBQAAAAAAAgAAAAAGAgAAAAAGBAAAAAAABQAAAAAABAAAAAAFBQAAAAAABQAAAAABBQAAAAAABAAAAAAKBgAAAAAABwAAAAADBAAAAAAHFwAAAAAAGQAAAAAG version: 6 0,-3: ind: 0,-3 @@ -712,14 +715,14 @@ entities: 125: 19,-45 193: -11,-20 194: -8,-20 - 195: -9,-20 - 196: -10,-20 197: -7,-20 198: -6,-20 199: -5,-20 200: -4,-20 202: -2,-20 203: -3,-20 + 204: -10,-20 + 205: -9,-20 - node: color: '#FFFFFFFF' id: CP14BrickTileStoneLineS @@ -2878,6 +2881,64 @@ entities: chunkSize: 4 - type: GasTileOverlay - type: RadiationGridResistance +- proto: ActionToggleBlock + entities: + - uid: 13977 + components: + - type: Transform + parent: 13336 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 13336 + - uid: 13978 + components: + - type: Transform + parent: 13876 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 13876 + - uid: 13979 + components: + - type: Transform + parent: 13335 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 13335 + - uid: 13980 + components: + - type: Transform + parent: 619 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 619 + - uid: 13982 + components: + - type: Transform + parent: 13981 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 13981 + - uid: 13984 + components: + - type: Transform + parent: 13983 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 13983 + - uid: 13986 + components: + - type: Transform + parent: 13985 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 13985 + - uid: 13988 + components: + - type: Transform + parent: 13987 + - type: InstantAction + originalIconColor: '#FFFFFFFF' + container: 13987 - proto: CP14AlchemyFurnace entities: - uid: 936 @@ -2910,6 +2971,90 @@ entities: - type: ItemPlacer placedEntities: - 15363 +- proto: CP14Arrow + entities: + - uid: 13955 + components: + - type: Transform + pos: -0.8673811,-17.455278 + parent: 2 + - uid: 13957 + components: + - type: Transform + pos: -1.9140058,-15.633688 + parent: 2 + - uid: 13964 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13965 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13966 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13967 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13968 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13969 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13970 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13971 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13972 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13973 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13974 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13975 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False - proto: CP14BankStorageMarker entities: - uid: 1269 @@ -3126,6 +3271,11 @@ entities: - type: Transform pos: 14.454906,-37.17427 parent: 2 + - uid: 13959 + components: + - type: Transform + pos: -1.346062,-16.465773 + parent: 2 - proto: CP14BaseLockpick entities: - uid: 12912 @@ -3272,9 +3422,17 @@ entities: - uid: 619 components: - type: Transform - rot: 3.141592653589793 rad - pos: 2.3470995,-24.278017 - parent: 2 + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13980 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13980 - uid: 7861 components: - type: Transform @@ -3314,21 +3472,101 @@ entities: - uid: 13335 components: - type: Transform - rot: 3.141592653589793 rad - pos: 2.7409906,-24.244284 - parent: 2 + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13979 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13979 - uid: 13336 components: - type: Transform - rot: 3.141592653589793 rad - pos: 2.538418,-24.457928 - parent: 2 + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13977 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13977 - uid: 13876 components: - type: Transform - rot: 3.141592653589793 rad - pos: 2.9885783,-24.457928 - parent: 2 + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13978 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13978 + - uid: 13981 + components: + - type: Transform + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13982 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13982 + - uid: 13983 + components: + - type: Transform + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13984 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13984 + - uid: 13985 + components: + - type: Transform + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13986 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13986 + - uid: 13987 + components: + - type: Transform + parent: 13976 + - type: Blocking + blockingToggleActionEntity: 13988 + - type: Physics + canCollide: False + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 13988 - proto: CP14BaseTombstone entities: - uid: 461 @@ -42546,6 +42784,24 @@ entities: rot: 3.141592653589793 rad pos: 12.802945,-33.41739 parent: 2 + - uid: 13961 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13962 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False + - uid: 13963 + components: + - type: Transform + parent: 13960 + - type: Physics + canCollide: False - proto: CP14BrassChest entities: - uid: 687 @@ -42583,6 +42839,13 @@ entities: - type: Transform pos: 20.5,-45.5 parent: 2 +- proto: CP14BrassChestFilledDemiplanes + entities: + - uid: 8558 + components: + - type: Transform + pos: -3.5,-14.5 + parent: 2 - proto: CP14BrassChestFilledFarmSeeds entities: - uid: 7083 @@ -42696,6 +42959,11 @@ entities: parent: 2 - proto: CP14CashConverter entities: + - uid: 979 + components: + - type: Transform + pos: -6.5,-14.5 + parent: 2 - uid: 1498 components: - type: Transform @@ -42719,11 +42987,6 @@ entities: rot: 1.5707963267948966 rad pos: -9.5,17.5 parent: 2 - - uid: 8652 - components: - - type: Transform - pos: -7.5,-14.5 - parent: 2 - proto: CP14Cauldron entities: - uid: 15363 @@ -43167,6 +43430,16 @@ entities: parent: 2 - proto: CP14ClothingBeltQuiver entities: + - uid: 5537 + components: + - type: Transform + pos: -1.7395523,-16.53324 + parent: 2 + - uid: 5539 + components: + - type: Transform + pos: -1.5383277,-16.33084 + parent: 2 - uid: 17925 components: - type: Transform @@ -43403,13 +43676,6 @@ entities: - type: Transform pos: 22.188015,-45.08068 parent: 2 -- proto: CP14CrayonGreen - entities: - - uid: 4657 - components: - - type: Transform - pos: -9.245207,-33.204025 - parent: 2 - proto: CP14CrayonRed entities: - uid: 3626 @@ -43426,6 +43692,18 @@ entities: parent: 2 - proto: CP14Crossbolt entities: + - uid: 2062 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.7061898,-15.397556 + parent: 2 + - uid: 5540 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.728699,-15.599956 + parent: 2 - uid: 7785 components: - type: Transform @@ -43651,52 +43929,78 @@ entities: rot: -1.5707963267948966 rad pos: 12.32648,-37.455616 parent: 2 -- proto: CP14CrystalAmethystsMedium - entities: - - uid: 1786 - components: - - type: Transform - pos: 22.636328,24.536194 - parent: 2 - - uid: 1800 + - uid: 13954 components: - type: Transform rot: -1.5707963267948966 rad - pos: 20.254408,24.226461 + pos: -1.751207,-15.22889 parent: 2 -- proto: CP14CrystalAmethystsSmall + - uid: 13956 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.7061898,-15.465022 + parent: 2 + - uid: 13958 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.773715,-15.127691 + parent: 2 + - uid: 13990 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.7399523,-15.296357 + parent: 2 + - uid: 13991 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.751207,-15.734887 + parent: 2 + - uid: 13992 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.751207,-15.858576 + parent: 2 +- proto: CP14CrystalElementalElectricBig entities: - - uid: 1780 + - uid: 12936 components: - type: Transform - pos: 22.658825,23.186869 + rot: -1.5707963267948966 rad + pos: 0.38306594,20.636196 parent: 2 - - uid: 4151 + - uid: 12937 components: - type: Transform - pos: 16.530275,20.53926 + rot: -1.5707963267948966 rad + pos: 5.5089397,23.222403 parent: 2 -- proto: CP14CrystalDiamondsBig +- proto: CP14CrystalElementalElectricSmall entities: - - uid: 9112 + - uid: 8018 components: - type: Transform - pos: 13.551556,43.51112 + rot: -1.5707963267948966 rad + pos: -1.439316,22.62645 parent: 2 -- proto: CP14CrystalEmeraldsBig + - uid: 8019 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.4403806,21.389568 + parent: 2 +- proto: CP14CrystalElementalHealingBig entities: - uid: 1772 components: - type: Transform pos: 19.470413,26.68387 parent: 2 - - uid: 1799 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 19.759497,23.765442 - parent: 2 -- proto: CP14CrystalEmeraldsMedium +- proto: CP14CrystalElementalHealingMedium entities: - uid: 569 components: @@ -43708,14 +44012,21 @@ entities: - type: Transform pos: 21.506302,28.437994 parent: 2 -- proto: CP14CrystalEmeraldsSmall +- proto: CP14CrystalElementalHealingSmall entities: - uid: 1787 components: - type: Transform pos: 16.422209,24.940992 parent: 2 -- proto: CP14CrystalSapphiresBig +- proto: CP14CrystalElementalLightBig + entities: + - uid: 9112 + components: + - type: Transform + pos: 13.551556,43.51112 + parent: 2 +- proto: CP14CrystalElementalWaterBig entities: - uid: 4615 components: @@ -43734,7 +44045,7 @@ entities: rot: -1.5707963267948966 rad pos: 9.563785,-43.047474 parent: 2 -- proto: CP14CrystalSapphiresMedium +- proto: CP14CrystalElementalWaterMedium entities: - uid: 12930 components: @@ -43742,7 +44053,7 @@ entities: rot: -1.5707963267948966 rad pos: 16.559088,-40.410233 parent: 2 -- proto: CP14CrystalSapphiresSmall +- proto: CP14CrystalElementalWaterSmall entities: - uid: 1584 components: @@ -43782,48 +44093,6 @@ entities: - type: Transform pos: 10.65302,5.011636 parent: 2 -- proto: CP14CrystalTopazesBig - entities: - - uid: 12936 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 0.38306594,20.636196 - parent: 2 - - uid: 12937 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5089397,23.222403 - parent: 2 -- proto: CP14CrystalTopazesSmall - entities: - - uid: 8018 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -1.439316,22.62645 - parent: 2 - - uid: 8019 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.4403806,21.389568 - parent: 2 -- proto: CP14CurtainsBlue - entities: - - uid: 600 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-15.5 - parent: 2 - - uid: 12988 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-14.5 - parent: 2 - proto: CP14CurtainsBlueOpened entities: - uid: 599 @@ -44414,50 +44683,55 @@ entities: parent: 2 - proto: CP14DemiplaneKeyT1 entities: - - uid: 5537 + - uid: 981 components: - type: Transform - pos: -17.757793,26.57975 + pos: -5.841518,-14.157722 parent: 2 - - uid: 5539 + - uid: 8583 components: - type: Transform - pos: -17.525335,26.377352 + pos: -5.5601673,-14.180212 parent: 2 - - uid: 5540 + - uid: 8652 components: - type: Transform - pos: -17.757793,26.2799 + pos: -5.2563095,-14.180212 parent: 2 - - uid: 5541 + - uid: 9157 components: - type: Transform - pos: -17.562828,26.09999 + pos: -5.6839614,-14.337633 parent: 2 - - uid: 5542 + - uid: 10691 components: - type: Transform - pos: -17.27788,26.144968 + pos: -5.3688498,-14.348878 parent: 2 - - uid: 5543 + - uid: 12075 components: - type: Transform - pos: -17.247885,26.399841 + pos: -5.8527718,-14.472566 parent: 2 - - uid: 5544 + - uid: 12988 components: - type: Transform - pos: -17.810284,25.98005 + pos: -5.4701347,-14.495055 parent: 2 - - uid: 5545 + - uid: 13341 components: - type: Transform - pos: -17.525335,25.815132 + pos: -5.1662765,-14.517543 parent: 2 - - uid: 5546 + - uid: 13342 components: - type: Transform - pos: -17.307873,25.845118 + pos: -5.1100073,-14.360122 + parent: 2 + - uid: 13352 + components: + - type: Transform + pos: -5.9540577,-14.337633 parent: 2 - proto: CP14DemiplaneKeyT2 entities: @@ -44514,6 +44788,13 @@ entities: rot: 3.141592653589793 rad pos: -18.5,24.5 parent: 2 +- proto: CP14FenceIronGrilleGateDemiplaneCrystal + entities: + - uid: 975 + components: + - type: Transform + pos: -8.5,-18.5 + parent: 2 - proto: CP14FenceIronGrilleGateGuard entities: - uid: 1701 @@ -44608,6 +44889,11 @@ entities: rot: 1.5707963267948966 rad pos: -2.5,23.5 parent: 2 + - uid: 4657 + components: + - type: Transform + pos: -9.5,-18.5 + parent: 2 - uid: 7744 components: - type: Transform @@ -45572,11 +45858,6 @@ entities: - type: Transform pos: -10.5,5.5 parent: 2 - - uid: 1353 - components: - - type: Transform - pos: -10.5,-30.5 - parent: 2 - uid: 1632 components: - type: Transform @@ -45882,66 +46163,6 @@ entities: rot: -1.5707963267948966 rad pos: -19.5,-11.5 parent: 2 - - uid: 970 - components: - - type: Transform - pos: 19.5,23.5 - parent: 2 - - uid: 971 - components: - - type: Transform - pos: 19.5,24.5 - parent: 2 - - uid: 972 - components: - - type: Transform - pos: 20.5,23.5 - parent: 2 - - uid: 973 - components: - - type: Transform - pos: 20.5,24.5 - parent: 2 - - uid: 974 - components: - - type: Transform - pos: 20.5,25.5 - parent: 2 - - uid: 975 - components: - - type: Transform - pos: 21.5,24.5 - parent: 2 - - uid: 976 - components: - - type: Transform - pos: 19.5,25.5 - parent: 2 - - uid: 977 - components: - - type: Transform - pos: 18.5,24.5 - parent: 2 - - uid: 978 - components: - - type: Transform - pos: 18.5,23.5 - parent: 2 - - uid: 979 - components: - - type: Transform - pos: 19.5,22.5 - parent: 2 - - uid: 980 - components: - - type: Transform - pos: 20.5,22.5 - parent: 2 - - uid: 981 - components: - - type: Transform - pos: 21.5,23.5 - parent: 2 - uid: 1300 components: - type: Transform @@ -46147,6 +46368,11 @@ entities: - type: Transform pos: -14.461581,-16.665932 parent: 2 + - uid: 970 + components: + - type: Transform + pos: -1.3481102,-15.798591 + parent: 2 - uid: 13350 components: - type: Transform @@ -46171,6 +46397,11 @@ entities: parent: 2 - proto: CP14FoodBreadBun entities: + - uid: 971 + components: + - type: Transform + pos: -8.455805,-4.242589 + parent: 2 - uid: 13847 components: - type: Transform @@ -46183,6 +46414,16 @@ entities: parent: 2 - proto: CP14FoodBreadSlice entities: + - uid: 13359 + components: + - type: Transform + pos: -14.618983,5.757293 + parent: 2 + - uid: 13360 + components: + - type: Transform + pos: -14.427665,5.521161 + parent: 2 - uid: 13939 components: - type: Transform @@ -46207,11 +46448,6 @@ entities: - type: Transform pos: 5.6847034,-30.44728 parent: 2 - - uid: 5565 - components: - - type: Transform - pos: -9.696621,-33.186497 - parent: 2 - uid: 5754 components: - type: Transform @@ -46645,6 +46881,11 @@ entities: - type: Transform pos: -0.36587298,17.584122 parent: 2 + - uid: 13403 + components: + - type: Transform + pos: -1.7351644,-16.072481 + parent: 2 - proto: CP14GreenBottle entities: - uid: 1803 @@ -46796,6 +47037,12 @@ entities: parent: 2 - proto: CP14IronDoorGuardGuildmaster entities: + - uid: 974 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -7.5,-16.5 + parent: 2 - uid: 13381 components: - type: Transform @@ -46950,25 +47197,31 @@ entities: rot: 1.5707963267948966 rad pos: 81.5,41.5 parent: 2 + - uid: 5519 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -9.5,-17.5 + parent: 2 + - uid: 5542 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -9.5,-16.5 + parent: 2 - uid: 8091 components: - type: Transform pos: 16.5,40.5 parent: 2 - - uid: 13359 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,-18.5 - parent: 2 - - uid: 13360 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -9.5,-18.5 - parent: 2 - proto: CP14LaddersDownWoodAutoLink entities: + - uid: 601 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -10.5,-31.5 + parent: 2 - uid: 7925 components: - type: Transform @@ -47241,6 +47494,51 @@ entities: - type: Transform pos: -45.5,-74.5 parent: 2 + - uid: 13976 + components: + - type: Transform + pos: -1.5,-14.5 + parent: 2 + - type: Storage + storedItems: + 13336: + position: 0,0 + _rotation: South + 13876: + position: 2,0 + _rotation: South + 13335: + position: 4,0 + _rotation: South + 619: + position: 6,0 + _rotation: South + 13981: + position: 0,2 + _rotation: South + 13983: + position: 2,2 + _rotation: South + 13985: + position: 4,2 + _rotation: South + 13987: + position: 6,2 + _rotation: South + - type: ContainerContainer + containers: + storagebase: !type:Container + showEnts: False + occludes: True + ents: + - 13336 + - 13876 + - 13335 + - 619 + - 13981 + - 13983 + - 13985 + - 13987 - proto: CP14LargeWoodenCrateFilled entities: - uid: 479 @@ -47249,6 +47547,11 @@ entities: rot: 1.5707963267948966 rad pos: 13.5,27.5 parent: 2 + - uid: 600 + components: + - type: Transform + pos: -8.5,-14.5 + parent: 2 - uid: 629 components: - type: Transform @@ -47346,22 +47649,12 @@ entities: - type: Transform pos: 7.5,-37.5 parent: 2 - - uid: 5566 - components: - - type: Transform - pos: -10.5,-31.5 - parent: 2 - uid: 8374 components: - type: Transform rot: 3.141592653589793 rad pos: 22.5,19.5 parent: 2 - - uid: 8806 - components: - - type: Transform - pos: -1.5,-14.5 - parent: 2 - uid: 12914 components: - type: Transform @@ -47682,15 +47975,15 @@ entities: - uid: 2075 components: - type: Transform - rot: 3.141592653589793 rad - pos: 4.2602825,-24.31175 - parent: 2 + parent: 8982 + - type: Physics + canCollide: False - uid: 2124 components: - type: Transform - rot: 3.141592653589793 rad - pos: 4.091472,-24.390461 - parent: 2 + parent: 8982 + - type: Physics + canCollide: False - uid: 12504 components: - type: Transform @@ -47706,8 +47999,9 @@ entities: - uid: 1083 components: - type: Transform - pos: 5.7233057,-24.266773 - parent: 2 + parent: 8982 + - type: Physics + canCollide: False - uid: 12065 components: - type: Transform @@ -47718,8 +48012,9 @@ entities: - uid: 1135 components: - type: Transform - pos: 5.45321,-24.31175 - parent: 2 + parent: 8982 + - type: Physics + canCollide: False - uid: 8874 components: - type: Transform @@ -47738,6 +48033,18 @@ entities: - type: Transform pos: 14.230516,45.45195 parent: 2 + - uid: 10700 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.3688526,-17.002651 + parent: 2 + - uid: 13993 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.2338047,-17.339983 + parent: 2 - proto: CP14ModularIronShovel entities: - uid: 583 @@ -47763,23 +48070,23 @@ entities: - uid: 617 components: - type: Transform - rot: 3.141592653589793 rad - pos: 3.6975818,-24.345484 - parent: 2 + parent: 8982 + - type: Physics + canCollide: False - proto: CP14ModularIronSpear entities: - uid: 2065 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.9917946,-24.165573 - parent: 2 + parent: 8982 + - type: Physics + canCollide: False - uid: 2151 components: - type: Transform - rot: 3.141592653589793 rad - pos: 5.0143023,-24.547882 - parent: 2 + parent: 8982 + - type: Physics + canCollide: False - uid: 7860 components: - type: Transform @@ -47848,7 +48155,7 @@ entities: rot: 1.5707963267948966 rad pos: 11.675974,-34.404755 parent: 2 -- proto: CP14Nail10 +- proto: CP14Nail20 entities: - uid: 12047 components: @@ -47865,15 +48172,45 @@ entities: - type: Transform pos: 7.6940155,1.5639436 parent: 2 -- proto: CP14OreGold +- proto: CP14OreGold1 entities: - uid: 1522 components: - type: Transform pos: -19.350714,26.635136 parent: 2 + - uid: 5541 + components: + - type: Transform + pos: -17.570698,26.43613 + parent: 2 + - uid: 8394 + components: + - type: Transform + pos: -13.326466,22.911493 + parent: 2 + - uid: 8802 + components: + - type: Transform + pos: -14.368698,16.498537 + parent: 2 + - uid: 8806 + components: + - type: Transform + pos: -28.378479,18.575125 + parent: 2 - proto: CP14Paper entities: + - uid: 654 + components: + - type: Transform + pos: -4.593895,-18.351065 + parent: 2 + - uid: 656 + components: + - type: Transform + pos: -4.41383,-18.418531 + parent: 2 - uid: 891 components: - type: Transform @@ -48094,6 +48431,12 @@ entities: parent: 2 - proto: CP14PaperFolderRed entities: + - uid: 1353 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.4090066,-15.326327 + parent: 2 - uid: 1431 components: - type: Transform @@ -48114,6 +48457,12 @@ entities: - type: Transform pos: -13.647471,24.511906 parent: 2 + - uid: 1785 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.4990387,-15.450015 + parent: 2 - uid: 1854 components: - type: Transform @@ -48138,6 +48487,16 @@ entities: rot: 3.141592653589793 rad pos: -16.625248,-6.326728 parent: 2 + - uid: 972 + components: + - type: Transform + pos: -1.5506823,-15.674903 + parent: 2 + - uid: 1333 + components: + - type: Transform + pos: -1.3414826,-15.674903 + parent: 2 - uid: 1670 components: - type: Transform @@ -48233,11 +48592,6 @@ entities: - type: Transform pos: -20.5,-21.5 parent: 2 - - uid: 5519 - components: - - type: Transform - pos: 21.5,22.5 - parent: 2 - proto: CP14PlantTomatoes entities: - uid: 2024 @@ -48286,13 +48640,6 @@ entities: parent: 2 - proto: CP14RoofStone entities: - - uid: 601 - components: - - type: Transform - pos: -9.5,-13.5 - parent: 2 - - type: Fixtures - fixtures: {} - uid: 614 components: - type: Transform @@ -50183,20 +50530,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 13352 - components: - - type: Transform - pos: -8.5,-14.5 - parent: 2 - - type: Fixtures - fixtures: {} - - uid: 13406 - components: - - type: Transform - pos: -9.5,-14.5 - parent: 2 - - type: Fixtures - fixtures: {} - uid: 13407 components: - type: Transform @@ -52001,13 +52334,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 13885 - components: - - type: Transform - pos: -8.5,-13.5 - parent: 2 - - type: Fixtures - fixtures: {} - uid: 13886 components: - type: Transform @@ -82794,6 +83120,13 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,28.5 parent: 2 +- proto: CP14ScrapCopper + entities: + - uid: 13374 + components: + - type: Transform + pos: 7.7062325,2.3277578 + parent: 2 - proto: CP14SeedbedWooden entities: - uid: 1411 @@ -82956,11 +83289,6 @@ entities: - type: Transform pos: -20.5,-22.5 parent: 2 - - uid: 5518 - components: - - type: Transform - pos: 21.5,22.5 - parent: 2 - uid: 6088 components: - type: Transform @@ -83043,6 +83371,47 @@ entities: rot: -1.5707963267948966 rad pos: -12.5,-5.5 parent: 2 + - uid: 8982 + components: + - type: Transform + pos: -1.5,-17.5 + parent: 2 + - type: Storage + storedItems: + 2124: + position: 0,2 + _rotation: South + 2075: + position: 3,3 + _rotation: South + 617: + position: 2,3 + _rotation: South + 2151: + position: 1,2 + _rotation: South + 2065: + position: 4,2 + _rotation: South + 1135: + position: 5,3 + _rotation: South + 1083: + position: 0,4 + _rotation: South + - type: ContainerContainer + containers: + storagebase: !type:Container + showEnts: False + occludes: True + ents: + - 2124 + - 2075 + - 617 + - 2151 + - 2065 + - 1135 + - 1083 - uid: 9785 components: - type: Transform @@ -83055,6 +83424,79 @@ entities: rot: -1.5707963267948966 rad pos: 104.5,61.5 parent: 2 + - uid: 13960 + components: + - type: Transform + pos: -2.5,-14.5 + parent: 2 + - type: Storage + storedItems: + 13961: + position: 0,0 + _rotation: South + 13962: + position: 2,0 + _rotation: South + 13963: + position: 4,0 + _rotation: South + 13972: + position: 2,2 + _rotation: South + 13971: + position: 1,2 + _rotation: South + 13964: + position: 0,2 + _rotation: South + 13965: + position: 0,4 + _rotation: South + 13966: + position: 1,4 + _rotation: South + 13967: + position: 2,4 + _rotation: South + 13968: + position: 3,4 + _rotation: South + 13969: + position: 4,4 + _rotation: South + 13970: + position: 5,4 + _rotation: South + 13973: + position: 3,2 + _rotation: South + 13974: + position: 4,2 + _rotation: South + 13975: + position: 5,2 + _rotation: South + - type: ContainerContainer + containers: + storagebase: !type:Container + showEnts: False + occludes: True + ents: + - 13961 + - 13962 + - 13963 + - 13965 + - 13966 + - 13967 + - 13968 + - 13969 + - 13970 + - 13964 + - 13971 + - 13972 + - 13973 + - 13974 + - 13975 - proto: CP14SmallWoodenCrateFilled entities: - uid: 451 @@ -83119,6 +83561,16 @@ entities: - type: Transform pos: 19.5,27.5 parent: 2 + - uid: 977 + components: + - type: Transform + pos: -9.5,-14.5 + parent: 2 + - uid: 980 + components: + - type: Transform + pos: -8.5,-13.5 + parent: 2 - uid: 986 components: - type: Transform @@ -83247,11 +83699,6 @@ entities: - type: Transform pos: -12.5,-15.5 parent: 2 - - uid: 5507 - components: - - type: Transform - pos: -10.5,-14.5 - parent: 2 - uid: 8049 components: - type: Transform @@ -83275,16 +83722,6 @@ entities: rot: 1.5707963267948966 rad pos: -11.5,-8.5 parent: 2 - - uid: 8802 - components: - - type: Transform - pos: -2.5,-14.5 - parent: 2 - - uid: 8982 - components: - - type: Transform - pos: -1.5,-17.5 - parent: 2 - uid: 12915 components: - type: Transform @@ -85054,16 +85491,6 @@ entities: - type: Transform pos: -39.5,-9.5 parent: 2 - - uid: 9157 - components: - - type: Transform - pos: -1.5,-16.5 - parent: 2 - - uid: 10691 - components: - - type: Transform - pos: -1.5,-15.5 - parent: 2 - proto: CP14SpawnMobMonsterMole entities: - uid: 3608 @@ -85331,14 +85758,6 @@ entities: - type: Transform pos: -23.505562,23.334337 parent: 2 -- proto: CP14StatueGobRuinedVines - entities: - - uid: 1785 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,26.5 - parent: 2 - proto: CP14SteelBeerMug entities: - uid: 1585 @@ -85920,6 +86339,11 @@ entities: parent: 2 - proto: CP14TableWoodenCounter entities: + - uid: 978 + components: + - type: Transform + pos: -5.5,-14.5 + parent: 2 - uid: 1220 components: - type: Transform @@ -86077,11 +86501,6 @@ entities: - type: Transform pos: 3.5,-24.5 parent: 2 - - uid: 2062 - components: - - type: Transform - pos: 2.5,-24.5 - parent: 2 - uid: 2149 components: - type: Transform @@ -86150,21 +86569,6 @@ entities: - type: Transform pos: -6.5,-14.5 parent: 2 - - uid: 8403 - components: - - type: Transform - pos: -7.5,-14.5 - parent: 2 - - uid: 8558 - components: - - type: Transform - pos: -8.5,-14.5 - parent: 2 - - uid: 8583 - components: - - type: Transform - pos: -8.5,-15.5 - parent: 2 - uid: 8584 components: - type: Transform @@ -86347,6 +86751,12 @@ entities: - type: Transform pos: -14.5,-20.5 parent: 2 + - uid: 13989 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,-17.5 + parent: 2 - proto: CP14TableWoodenFrame entities: - uid: 1599 @@ -86369,11 +86779,11 @@ entities: rot: -1.5707963267948966 rad pos: 2.5,20.5 parent: 2 - - uid: 2331 + - uid: 5545 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-33.5 + rot: -1.5707963267948966 rad + pos: -3.5,-11.5 parent: 2 - uid: 5753 components: @@ -88067,6 +88477,53 @@ entities: parent: 2 - type: Fixtures fixtures: {} +- proto: CP14WallmountFlagTavern + entities: + - uid: 639 + components: + - type: Transform + pos: -6.5,-25.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 1800 + components: + - type: Transform + pos: -7.5,-19.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 5518 + components: + - type: Transform + pos: -1.5,-25.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 5565 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 0.5,-13.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 5566 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -1.5,-10.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8403 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 0.5,-24.5 + parent: 2 + - type: Fixtures + fixtures: {} - proto: CP14WallmountGarlandBlue entities: - uid: 5419 @@ -89662,6 +90119,21 @@ entities: parent: 2 - type: Fixtures fixtures: {} + - uid: 5546 + components: + - type: Transform + pos: -8.5,-16.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8380 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -3.5,-12.5 + parent: 2 + - type: Fixtures + fixtures: {} - uid: 8795 components: - type: Transform @@ -89678,13 +90150,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 10700 - components: - - type: Transform - pos: -5.5,-11.5 - parent: 2 - - type: Fixtures - fixtures: {} - uid: 12122 components: - type: Transform @@ -89724,13 +90189,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 13914 - components: - - type: Transform - pos: -7.5,-19.5 - parent: 2 - - type: Fixtures - fixtures: {} - proto: CP14WallpaperGreen entities: - uid: 2039 @@ -100586,11 +101044,6 @@ entities: - type: Transform pos: -5.5,-13.5 parent: 2 - - uid: 639 - components: - - type: Transform - pos: -8.5,-13.5 - parent: 2 - uid: 640 components: - type: Transform @@ -100634,17 +101087,7 @@ entities: - uid: 652 components: - type: Transform - pos: -9.5,-17.5 - parent: 2 - - uid: 654 - components: - - type: Transform - pos: -8.5,-17.5 - parent: 2 - - uid: 656 - components: - - type: Transform - pos: -9.5,-16.5 + pos: -9.5,-15.5 parent: 2 - uid: 879 components: @@ -101051,6 +101494,21 @@ entities: - type: Transform pos: 13.5,-17.5 parent: 2 + - uid: 1780 + components: + - type: Transform + pos: -7.5,-14.5 + parent: 2 + - uid: 1786 + components: + - type: Transform + pos: -7.5,-18.5 + parent: 2 + - uid: 1799 + components: + - type: Transform + pos: -7.5,-15.5 + parent: 2 - uid: 1808 components: - type: Transform @@ -101101,6 +101559,11 @@ entities: - type: Transform pos: 17.5,-13.5 parent: 2 + - uid: 2240 + components: + - type: Transform + pos: -7.5,-17.5 + parent: 2 - uid: 2300 components: - type: Transform @@ -101111,6 +101574,11 @@ entities: - type: Transform pos: -9.5,0.5 parent: 2 + - uid: 2331 + components: + - type: Transform + pos: -10.5,-16.5 + parent: 2 - uid: 2344 components: - type: Transform @@ -101131,6 +101599,11 @@ entities: - type: Transform pos: 18.5,-13.5 parent: 2 + - uid: 4151 + components: + - type: Transform + pos: -10.5,-15.5 + parent: 2 - uid: 4157 components: - type: Transform @@ -101151,6 +101624,11 @@ entities: - type: Transform pos: 23.5,-20.5 parent: 2 + - uid: 5507 + components: + - type: Transform + pos: -8.5,-15.5 + parent: 2 - uid: 5707 components: - type: Transform @@ -101456,16 +101934,6 @@ entities: - type: Transform pos: -0.5,-13.5 parent: 2 - - uid: 13341 - components: - - type: Transform - pos: -7.5,-17.5 - parent: 2 - - uid: 13342 - components: - - type: Transform - pos: -7.5,-18.5 - parent: 2 - uid: 13344 components: - type: Transform @@ -101486,11 +101954,6 @@ entities: - type: Transform pos: -2.5,-13.5 parent: 2 - - uid: 13374 - components: - - type: Transform - pos: -9.5,-13.5 - parent: 2 - uid: 13422 components: - type: Transform @@ -102705,6 +103168,16 @@ entities: layers: - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi state: bottom + - uid: 973 + components: + - type: Transform + pos: -11.5,-31.5 + parent: 2 + - uid: 976 + components: + - type: Transform + pos: -10.5,-30.5 + parent: 2 - uid: 1015 components: - type: Transform @@ -102960,15 +103433,6 @@ entities: state: bottom - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi state: right - - uid: 1333 - components: - - type: Transform - pos: -10.5,-32.5 - parent: 2 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: bottom - uid: 1335 components: - type: Transform @@ -104764,16 +105228,6 @@ entities: rot: 1.5707963267948966 rad pos: 33.5,13.5 parent: 2 - - uid: 13403 - components: - - type: Transform - pos: -9.5,-14.5 - parent: 2 - - uid: 13404 - components: - - type: Transform - pos: -9.5,-15.5 - parent: 2 - proto: CP14WindowWooden entities: - uid: 455 @@ -105309,6 +105763,11 @@ entities: - type: Transform pos: -3.5,-7.5 parent: 2 + - uid: 5543 + components: + - type: Transform + pos: -4.5,-11.5 + parent: 2 - uid: 6081 components: - type: Transform @@ -105329,11 +105788,6 @@ entities: - type: Transform pos: 14.5,-16.5 parent: 2 - - uid: 8380 - components: - - type: Transform - pos: -3.5,-11.5 - parent: 2 - uid: 8617 components: - type: Transform @@ -105364,11 +105818,6 @@ entities: - type: Transform pos: 102.5,61.5 parent: 2 - - uid: 12075 - components: - - type: Transform - pos: -8.5,-32.5 - parent: 2 - proto: CP14WoodenBeerMug entities: - uid: 1545 @@ -105516,11 +105965,6 @@ entities: rot: 1.5707963267948966 rad pos: 18.5,13.5 parent: 2 - - uid: 8378 - components: - - type: Transform - pos: -4.5,-11.5 - parent: 2 - uid: 8631 components: - type: Transform @@ -105547,11 +105991,6 @@ entities: rot: 1.5707963267948966 rad pos: 12.5,4.5 parent: 2 - - uid: 2240 - components: - - type: Transform - pos: -10.5,-33.5 - parent: 2 - proto: CP14WoodenCabinetBanker entities: - uid: 1365 @@ -105643,6 +106082,13 @@ entities: - type: Transform pos: 20.5,-40.5 parent: 2 +- proto: CP14WoodenCabinetGuildmaster + entities: + - uid: 8378 + components: + - type: Transform + pos: -5.5,-11.5 + parent: 2 - proto: CP14WoodenChest entities: - uid: 9784 @@ -105734,11 +106180,6 @@ entities: rot: 1.5707963267948966 rad pos: 18.5,14.5 parent: 2 - - uid: 8394 - components: - - type: Transform - pos: -6.5,-11.5 - parent: 2 - uid: 8914 components: - type: Transform @@ -105851,6 +106292,13 @@ entities: - type: Transform pos: 17.5,-14.5 parent: 2 +- proto: CP14WoodenClosetGuildmasterFilled + entities: + - uid: 5544 + components: + - type: Transform + pos: -6.5,-11.5 + parent: 2 - proto: CP14WoodenDoor entities: - uid: 2374 @@ -106338,6 +106786,48 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,-7.5 parent: 2 +- proto: DeskBell + entities: + - uid: 13404 + components: + - type: Transform + pos: -5.0221357,-18.365133 + parent: 2 + - uid: 13406 + components: + - type: Transform + pos: -4.1443224,-32.36918 + parent: 2 + - uid: 13885 + components: + - type: Transform + pos: 11.297916,-28.345606 + parent: 2 + - uid: 13914 + components: + - type: Transform + pos: 15.760235,5.7842155 + parent: 2 + - uid: 13950 + components: + - type: Transform + pos: 28.263111,13.671432 + parent: 2 + - uid: 13951 + components: + - type: Transform + pos: -17.249964,16.594639 + parent: 2 + - uid: 13952 + components: + - type: Transform + pos: -6.193482,1.8160825 + parent: 2 + - uid: 13953 + components: + - type: Transform + pos: -11.280857,-22.228916 + parent: 2 - proto: DrinkBeerGrowler entities: - uid: 12946 @@ -106504,4 +106994,4 @@ entities: parent: 2 - type: WarpPoint location: Dungeon -... \ No newline at end of file +... diff --git a/Resources/Maps/_CP14/comoss_d.yml b/Resources/Maps/_CP14/comoss_d.yml index 3a49c2aad6..19afb99992 100644 --- a/Resources/Maps/_CP14/comoss_d.yml +++ b/Resources/Maps/_CP14/comoss_d.yml @@ -66,7 +66,7 @@ entities: version: 6 -1,-1: ind: -1,-1 - tiles: CQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAAMQAAAAAAMQAAAAAAMgAAAAAAMQAAAAAAMQAAAAAACQAAAAAECQAAAAAJMQAAAAAAMQAAAAAACQAAAAAGCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAAMQAAAAAAMQAAAAAACQAAAAAACQAAAAAACQAAAAALCQAAAAAHCQAAAAANCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAMCQAAAAALCQAAAAANCQAAAAAACQAAAAADCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAANCQAAAAADCQAAAAAMMQAAAAAAMQAAAAAAMQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAHCQAAAAAJCQAAAAAFMQAAAAAAMQAAAAAADQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAADCQAAAAABCQAAAAAFMQAAAAAADQAAAAAADQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAIMQAAAAAAMQAAAAAADQAAAAAACQAAAAADCQAAAAAMCQAAAAALCQAAAAAKAQAAAAAAAQAAAAAAAQAAAAAACQAAAAABAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAEMQAAAAAAMQAAAAAAMQAAAAAACQAAAAAICQAAAAAMCQAAAAAECQAAAAAEAQAAAAAAAQAAAAAAAQAAAAAACQAAAAALMwAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAHCQAAAAAACQAAAAAACQAAAAAGCQAAAAACCQAAAAAGCQAAAAADMwAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAALAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAADCQAAAAAACQAAAAAACQAAAAAICQAAAAABCQAAAAAGCQAAAAAKCQAAAAANCQAAAAADCQAAAAANCQAAAAAMCQAAAAAACQAAAAADCQAAAAAMCQAAAAALCQAAAAANCQAAAAAICQAAAAAACQAAAAAACQAAAAABCQAAAAAJCQAAAAANCQAAAAAFCQAAAAABCQAAAAAMCQAAAAAGCQAAAAAECQAAAAAICQAAAAALCQAAAAAACQAAAAANCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAFCQAAAAANCQAAAAAJCQAAAAAACQAAAAAJCQAAAAAACQAAAAAJCQAAAAABCQAAAAAACQAAAAAGCQAAAAAECQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAICQAAAAANCQAAAAAICQAAAAALCQAAAAACCQAAAAAACQAAAAAKCQAAAAAACQAAAAAKCQAAAAANCQAAAAALCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAJCQAAAAANCQAAAAAGCQAAAAAICQAAAAAFCQAAAAABCQAAAAAACQAAAAAACQAAAAAACQAAAAAKCQAAAAAICQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAABCQAAAAANCQAAAAAICQAAAAAICQAAAAANAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAACCQAAAAAECQAAAAALCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAECQAAAAAH + tiles: CQAAAAAACQAAAAAACQAAAAAACQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMgAAAAAAMQAAAAAAMQAAAAAACQAAAAAECQAAAAAJMQAAAAAAMQAAAAAACQAAAAAGCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAACQAAAAAACQAAAAAACQAAAAALCQAAAAAHCQAAAAANCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAMCQAAAAALCQAAAAANCQAAAAAACQAAAAADMQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAANCQAAAAADCQAAAAAMMQAAAAAAMQAAAAAAMQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAHCQAAAAAJCQAAAAAFMQAAAAAAMQAAAAAADQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAADCQAAAAABCQAAAAAFMQAAAAAADQAAAAAADQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAIMQAAAAAAMQAAAAAADQAAAAAACQAAAAADCQAAAAAMCQAAAAALCQAAAAAKAQAAAAAAAQAAAAAAAQAAAAAACQAAAAABAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAEMQAAAAAAMQAAAAAAMQAAAAAACQAAAAAICQAAAAAMCQAAAAAECQAAAAAEAQAAAAAAAQAAAAAAAQAAAAAACQAAAAALMwAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAAHCQAAAAAACQAAAAAACQAAAAAGCQAAAAACCQAAAAAGCQAAAAADMwAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAALAQAAAAAAAQAAAAAAAQAAAAAACQAAAAAACQAAAAADCQAAAAAACQAAAAAACQAAAAAICQAAAAABCQAAAAAGCQAAAAAKCQAAAAANCQAAAAADCQAAAAANCQAAAAAMCQAAAAAACQAAAAADCQAAAAAMCQAAAAALCQAAAAANCQAAAAAICQAAAAAACQAAAAAACQAAAAABCQAAAAAJCQAAAAANCQAAAAAFCQAAAAABCQAAAAAMCQAAAAAGCQAAAAAECQAAAAAICQAAAAALCQAAAAAACQAAAAANCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAFCQAAAAANCQAAAAAJCQAAAAAACQAAAAAJCQAAAAAACQAAAAAJCQAAAAABCQAAAAAACQAAAAAGCQAAAAAECQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAICQAAAAANCQAAAAAICQAAAAALCQAAAAACCQAAAAAACQAAAAAKCQAAAAAACQAAAAAKCQAAAAANCQAAAAALCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAJCQAAAAANCQAAAAAGCQAAAAAICQAAAAAFCQAAAAABCQAAAAAACQAAAAAACQAAAAAACQAAAAAKCQAAAAAICQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAABCQAAAAANCQAAAAAICQAAAAAICQAAAAANAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAACQAAAAACCQAAAAAECQAAAAALCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAECQAAAAAH version: 6 -1,0: ind: -1,0 @@ -98,7 +98,7 @@ entities: version: 6 -1,-2: ind: -1,-2 - tiles: CQAAAAAACQAAAAAAAwAAAAAAAwAAAAAACQAAAAAACQAAAAACCQAAAAAJCQAAAAAACQAAAAADCQAAAAADCQAAAAAMCQAAAAAJCQAAAAABCQAAAAALCQAAAAAGCQAAAAAICQAAAAAHCQAAAAAMAwAAAAAAAwAAAAAACQAAAAALCQAAAAAGCQAAAAAACQAAAAAJCQAAAAANCQAAAAADCQAAAAAJCQAAAAACCQAAAAAECQAAAAAHCQAAAAALCQAAAAAKCQAAAAAKCQAAAAAHMwAAAAAAAwAAAAAACQAAAAALCQAAAAAHCQAAAAAECQAAAAALCQAAAAAKCQAAAAAICQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAFCQAAAAAJCQAAAAABCQAAAAAFCQAAAAAJCQAAAAAECQAAAAAFCQAAAAAMCQAAAAACCQAAAAAJCQAAAAAACQAAAAAACQAAAAALCQAAAAAACQAAAAAACQAAAAAICQAAAAABCQAAAAAJCQAAAAALCQAAAAAFCQAAAAANCQAAAAAMCQAAAAADCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAFCQAAAAAFCQAAAAACCQAAAAABCQAAAAAFCQAAAAAACQAAAAAECQAAAAAMCQAAAAAHCQAAAAANCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAABCQAAAAAGCQAAAAABCQAAAAABCQAAAAAFCQAAAAALCQAAAAADCQAAAAACCQAAAAALCQAAAAAECQAAAAAACQAAAAAFCQAAAAACCQAAAAAJCQAAAAAGCQAAAAADCQAAAAAACQAAAAAACQAAAAACCQAAAAADCQAAAAANCQAAAAAFCQAAAAACCQAAAAADCQAAAAAKCQAAAAAECQAAAAAACQAAAAALCQAAAAADCQAAAAANCQAAAAADCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAACCQAAAAAACQAAAAAHCQAAAAAMCQAAAAAJCQAAAAAFCQAAAAAFCQAAAAAMCQAAAAAJCQAAAAAICQAAAAAMCQAAAAAFCQAAAAACCQAAAAALCQAAAAAJCQAAAAAACQAAAAAACQAAAAAFCQAAAAAMCQAAAAAHCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAADCQAAAAACCQAAAAAECQAAAAABCQAAAAABCQAAAAANCQAAAAAGCQAAAAAMCQAAAAAACQAAAAADCQAAAAABCQAAAAAECQAAAAANCQAAAAAKCQAAAAAHCQAAAAAFCQAAAAAACQAAAAAICQAAAAAKCQAAAAANCQAAAAAMCQAAAAAICQAAAAAHCQAAAAAKCQAAAAAACQAAAAAFCQAAAAADCQAAAAACCQAAAAADCQAAAAAKCQAAAAAMCQAAAAAFCQAAAAAICQAAAAADCQAAAAAACQAAAAACCQAAAAABHAAAAAAACQAAAAALCQAAAAAMCQAAAAAAHAAAAAAAHAAAAAAACQAAAAALCQAAAAAKCQAAAAABCQAAAAAMCQAAAAANCQAAAAALCQAAAAAMCQAAAAALCQAAAAAMCQAAAAANCQAAAAAKCQAAAAAGCQAAAAAEHQAAAAAAHAAAAAAACQAAAAAFCQAAAAAECQAAAAABCQAAAAAKCQAAAAAGCQAAAAAECQAAAAACMwAAAAAAMwAAAAAACQAAAAACHQAAAAAACQAAAAAJHAAAAAAAHQAAAAAAHAAAAAAACQAAAAAACQAAAAAJCQAAAAAACQAAAAADCQAAAAAMCQAAAAAHCQAAAAANCQAAAAAJMQAAAAAAMQAAAAAAMgAAAAAACQAAAAAMCQAAAAAMHAAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAALCQAAAAAFCQAAAAAECQAAAAANCQAAAAADCQAAAAAHCQAAAAAKMQAAAAAAMQAAAAAAMgAAAAAAMQAAAAAACQAAAAAMCQAAAAABMQAAAAAAMQAAAAAACQAAAAAMCQAAAAAD + tiles: CQAAAAAACQAAAAAAAwAAAAAAAwAAAAAACQAAAAAAMwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAACQAAAAADCQAAAAAMCQAAAAAJCQAAAAABCQAAAAALCQAAAAAGCQAAAAAICQAAAAAHCQAAAAAMAwAAAAAAAwAAAAAACQAAAAALAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAACQAAAAADCQAAAAAJCQAAAAACCQAAAAAECQAAAAAHCQAAAAALCQAAAAAKCQAAAAAKCQAAAAAHMwAAAAAAAwAAAAAACQAAAAALAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAACQAAAAAICQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAFCQAAAAAJCQAAAAABCQAAAAAFCQAAAAAJCQAAAAAECQAAAAAFCQAAAAAMCQAAAAACCQAAAAAJCQAAAAAACQAAAAAACQAAAAALCQAAAAAACQAAAAAACQAAAAAICQAAAAABCQAAAAAJCQAAAAALCQAAAAAFCQAAAAANCQAAAAAMCQAAAAADCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAAFCQAAAAAFCQAAAAACCQAAAAABCQAAAAAFCQAAAAAACQAAAAAECQAAAAAMCQAAAAAHCQAAAAANCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAABCQAAAAAGCQAAAAABCQAAAAABCQAAAAAFCQAAAAALCQAAAAADCQAAAAACCQAAAAALCQAAAAAECQAAAAAACQAAAAAFCQAAAAACCQAAAAAJCQAAAAAGCQAAAAADCQAAAAAACQAAAAAACQAAAAACCQAAAAADCQAAAAANCQAAAAAFCQAAAAACCQAAAAADCQAAAAAKCQAAAAAECQAAAAAACQAAAAALCQAAAAADCQAAAAANCQAAAAADCQAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAACCQAAAAAACQAAAAAHCQAAAAAMCQAAAAAJCQAAAAAFCQAAAAAFCQAAAAAMCQAAAAAJCQAAAAAICQAAAAAMCQAAAAAFCQAAAAACCQAAAAALCQAAAAAJCQAAAAAACQAAAAAACQAAAAAFCQAAAAAMCQAAAAAHCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAADCQAAAAACCQAAAAAECQAAAAABCQAAAAABCQAAAAANCQAAAAAGCQAAAAAMCQAAAAAACQAAAAADCQAAAAABCQAAAAAECQAAAAANCQAAAAAKCQAAAAAHCQAAAAAFCQAAAAAACQAAAAAICQAAAAAKCQAAAAANCQAAAAAMCQAAAAAICQAAAAAHCQAAAAAKCQAAAAAACQAAAAAFCQAAAAADCQAAAAACCQAAAAADCQAAAAAKCQAAAAAMCQAAAAAFCQAAAAAICQAAAAADCQAAAAAACQAAAAACCQAAAAABHAAAAAAACQAAAAALCQAAAAAMCQAAAAAAHAAAAAAAHAAAAAAACQAAAAALCQAAAAAKCQAAAAABCQAAAAAMMQAAAAAAMQAAAAAAMQAAAAAAHQAAAAAACQAAAAAACQAAAAANCQAAAAAKCQAAAAAGCQAAAAAEHQAAAAAAHAAAAAAACQAAAAAFCQAAAAAECQAAAAABCQAAAAAKCQAAAAAGMQAAAAAAMQAAAAAACQAAAAAAMQAAAAAACQAAAAAAHQAAAAAACQAAAAAJHAAAAAAAHQAAAAAAHAAAAAAACQAAAAAACQAAAAAJCQAAAAAACQAAAAADCQAAAAAMCQAAAAAHMQAAAAAAMQAAAAAAMwAAAAAAMQAAAAAAMgAAAAAACQAAAAAMCQAAAAAMHAAAAAAACQAAAAAACQAAAAAACQAAAAAACQAAAAALCQAAAAAFCQAAAAAECQAAAAANCQAAAAADMQAAAAAAMQAAAAAAMwAAAAAAMQAAAAAAMgAAAAAAMQAAAAAACQAAAAAMCQAAAAABMQAAAAAAMQAAAAAACQAAAAAMCQAAAAAD version: 6 0,-2: ind: 0,-2 @@ -5612,11 +5612,6 @@ entities: - type: Transform pos: 4.5,-20.5 parent: 2 - - uid: 654 - components: - - type: Transform - pos: 4.5,-19.5 - parent: 2 - uid: 655 components: - type: Transform @@ -5637,11 +5632,6 @@ entities: - type: Transform pos: 2.5,-0.5 parent: 2 - - uid: 662 - components: - - type: Transform - pos: 4.5,-18.5 - parent: 2 - uid: 663 components: - type: Transform @@ -5829,21 +5819,6 @@ entities: - type: Transform pos: 3.5,-22.5 parent: 2 - - uid: 716 - components: - - type: Transform - pos: 3.5,-21.5 - parent: 2 - - uid: 717 - components: - - type: Transform - pos: 3.5,-20.5 - parent: 2 - - uid: 718 - components: - - type: Transform - pos: 3.5,-19.5 - parent: 2 - uid: 719 components: - type: Transform @@ -5854,11 +5829,6 @@ entities: - type: Transform pos: 2.5,-40.5 parent: 2 - - uid: 722 - components: - - type: Transform - pos: 0.5,-22.5 - parent: 2 - uid: 724 components: - type: Transform @@ -5954,11 +5924,6 @@ entities: - type: Transform pos: 2.5,-34.5 parent: 2 - - uid: 746 - components: - - type: Transform - pos: 2.5,-21.5 - parent: 2 - uid: 748 components: - type: Transform @@ -6044,11 +6009,6 @@ entities: - type: Transform pos: 1.5,-34.5 parent: 2 - - uid: 766 - components: - - type: Transform - pos: 2.5,-22.5 - parent: 2 - uid: 767 components: - type: Transform @@ -6069,11 +6029,6 @@ entities: - type: Transform pos: 0.5,-29.5 parent: 2 - - uid: 774 - components: - - type: Transform - pos: 1.5,-22.5 - parent: 2 - uid: 776 components: - type: Transform @@ -6254,11 +6209,6 @@ entities: - type: Transform pos: -0.5,-25.5 parent: 2 - - uid: 813 - components: - - type: Transform - pos: -0.5,-22.5 - parent: 2 - uid: 815 components: - type: Transform @@ -6584,11 +6534,6 @@ entities: - type: Transform pos: -2.5,-23.5 parent: 2 - - uid: 889 - components: - - type: Transform - pos: -2.5,-22.5 - parent: 2 - uid: 890 components: - type: Transform @@ -6634,11 +6579,6 @@ entities: - type: Transform pos: -18.5,36.5 parent: 2 - - uid: 902 - components: - - type: Transform - pos: -1.5,-22.5 - parent: 2 - uid: 904 components: - type: Transform @@ -12963,11 +12903,6 @@ entities: - type: Transform pos: -12.5,-22.5 parent: 2 - - uid: 2481 - components: - - type: Transform - pos: -12.5,-21.5 - parent: 2 - uid: 2482 components: - type: Transform @@ -12998,16 +12933,6 @@ entities: - type: Transform pos: -3.5,-33.5 parent: 2 - - uid: 2495 - components: - - type: Transform - pos: -12.5,-20.5 - parent: 2 - - uid: 2496 - components: - - type: Transform - pos: -12.5,-19.5 - parent: 2 - uid: 2497 components: - type: Transform @@ -13038,16 +12963,6 @@ entities: - type: Transform pos: 14.5,17.5 parent: 2 - - uid: 2505 - components: - - type: Transform - pos: -11.5,-21.5 - parent: 2 - - uid: 2506 - components: - - type: Transform - pos: -11.5,-20.5 - parent: 2 - uid: 2507 components: - type: Transform @@ -13068,21 +12983,6 @@ entities: - type: Transform pos: -3.5,-32.5 parent: 2 - - uid: 2511 - components: - - type: Transform - pos: -12.5,-18.5 - parent: 2 - - uid: 2512 - components: - - type: Transform - pos: -12.5,-16.5 - parent: 2 - - uid: 2513 - components: - - type: Transform - pos: -12.5,-15.5 - parent: 2 - uid: 2514 components: - type: Transform @@ -13143,11 +13043,6 @@ entities: - type: Transform pos: -3.5,-27.5 parent: 2 - - uid: 2528 - components: - - type: Transform - pos: -12.5,-17.5 - parent: 2 - uid: 2529 components: - type: Transform @@ -13158,11 +13053,6 @@ entities: - type: Transform pos: -13.5,-25.5 parent: 2 - - uid: 2531 - components: - - type: Transform - pos: -3.5,-22.5 - parent: 2 - uid: 2533 components: - type: Transform @@ -13214,41 +13104,6 @@ entities: - type: Transform pos: -13.5,-22.5 parent: 2 - - uid: 2543 - components: - - type: Transform - pos: -13.5,-21.5 - parent: 2 - - uid: 2544 - components: - - type: Transform - pos: -13.5,-20.5 - parent: 2 - - uid: 2545 - components: - - type: Transform - pos: -13.5,-19.5 - parent: 2 - - uid: 2546 - components: - - type: Transform - pos: -13.5,-18.5 - parent: 2 - - uid: 2547 - components: - - type: Transform - pos: -13.5,-17.5 - parent: 2 - - uid: 2556 - components: - - type: Transform - pos: -13.5,-16.5 - parent: 2 - - uid: 2557 - components: - - type: Transform - pos: -13.5,-15.5 - parent: 2 - uid: 2559 components: - type: Transform @@ -13279,12 +13134,6 @@ entities: - type: Transform pos: -5.5,-26.5 parent: 2 - - uid: 2575 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-13.5 - parent: 2 - uid: 2579 components: - type: Transform @@ -13325,22 +13174,6 @@ entities: - type: Transform pos: -6.5,-24.5 parent: 2 - - uid: 2588 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-16.5 - parent: 2 - - uid: 2589 - components: - - type: Transform - pos: -6.5,-28.5 - parent: 2 - - uid: 2594 - components: - - type: Transform - pos: -4.5,-22.5 - parent: 2 - uid: 2597 components: - type: Transform @@ -13411,11 +13244,6 @@ entities: - type: Transform pos: -6.5,-23.5 parent: 2 - - uid: 2611 - components: - - type: Transform - pos: -6.5,-22.5 - parent: 2 - uid: 2612 components: - type: Transform @@ -13441,18 +13269,6 @@ entities: - type: Transform pos: -9.5,-25.5 parent: 2 - - uid: 2618 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-14.5 - parent: 2 - - uid: 2619 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-15.5 - parent: 2 - uid: 2620 components: - type: Transform @@ -13463,11 +13279,6 @@ entities: - type: Transform pos: -5.5,-23.5 parent: 2 - - uid: 2622 - components: - - type: Transform - pos: -5.5,-22.5 - parent: 2 - uid: 2625 components: - type: Transform @@ -13538,11 +13349,6 @@ entities: - type: Transform pos: -20.5,6.5 parent: 2 - - uid: 2655 - components: - - type: Transform - pos: -7.5,-28.5 - parent: 2 - uid: 2658 components: - type: Transform @@ -13558,21 +13364,11 @@ entities: - type: Transform pos: -10.5,-22.5 parent: 2 - - uid: 2663 - components: - - type: Transform - pos: -10.5,-21.5 - parent: 2 - uid: 2664 components: - type: Transform pos: -9.5,-22.5 parent: 2 - - uid: 2665 - components: - - type: Transform - pos: -9.5,-20.5 - parent: 2 - uid: 2667 components: - type: Transform @@ -13623,21 +13419,11 @@ entities: - type: Transform pos: -7.5,-23.5 parent: 2 - - uid: 2678 - components: - - type: Transform - pos: -7.5,-22.5 - parent: 2 - uid: 2679 components: - type: Transform pos: -8.5,-22.5 parent: 2 - - uid: 2680 - components: - - type: Transform - pos: -8.5,-21.5 - parent: 2 - uid: 2681 components: - type: Transform @@ -13648,16 +13434,6 @@ entities: - type: Transform pos: -10.5,-25.5 parent: 2 - - uid: 2683 - components: - - type: Transform - pos: -10.5,-20.5 - parent: 2 - - uid: 2685 - components: - - type: Transform - pos: -9.5,-21.5 - parent: 2 - uid: 2692 components: - type: Transform @@ -13683,16 +13459,6 @@ entities: - type: Transform pos: -7.5,-24.5 parent: 2 - - uid: 2697 - components: - - type: Transform - pos: -7.5,-21.5 - parent: 2 - - uid: 2699 - components: - - type: Transform - pos: -8.5,-20.5 - parent: 2 - uid: 2701 components: - type: Transform @@ -15881,11 +15647,6 @@ entities: - type: Transform pos: 7.5,-11.5 parent: 2 - - uid: 3372 - components: - - type: Transform - pos: 4.5,-12.5 - parent: 2 - uid: 3373 components: - type: Transform @@ -15916,16 +15677,6 @@ entities: - type: Transform pos: 5.5,-5.5 parent: 2 - - uid: 3399 - components: - - type: Transform - pos: 4.5,-13.5 - parent: 2 - - uid: 3400 - components: - - type: Transform - pos: 4.5,-14.5 - parent: 2 - uid: 3408 components: - type: Transform @@ -16324,16 +16075,6 @@ entities: - type: Transform pos: -13.5,-10.5 parent: 2 - - uid: 3564 - components: - - type: Transform - pos: -13.5,-13.5 - parent: 2 - - uid: 3565 - components: - - type: Transform - pos: -13.5,-14.5 - parent: 2 - uid: 3568 components: - type: Transform @@ -17549,11 +17290,6 @@ entities: - type: Transform pos: 38.5,-35.5 parent: 2 - - uid: 4026 - components: - - type: Transform - pos: -12.5,-14.5 - parent: 2 - uid: 4027 components: - type: Transform @@ -17615,11 +17351,6 @@ entities: - type: Transform pos: -11.5,18.5 parent: 2 - - uid: 4050 - components: - - type: Transform - pos: -12.5,-13.5 - parent: 2 - uid: 4051 components: - type: Transform @@ -18119,29 +17850,11 @@ entities: - type: Transform pos: 7.5,6.5 parent: 2 - - uid: 4183 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-18.5 - parent: 2 - uid: 4184 components: - type: Transform pos: 7.5,-1.5 parent: 2 - - uid: 4186 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-19.5 - parent: 2 - - uid: 4187 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-17.5 - parent: 2 - uid: 4192 components: - type: Transform @@ -21487,11 +21200,6 @@ entities: - type: Transform pos: 24.5,-15.5 parent: 2 - - uid: 5094 - components: - - type: Transform - pos: 4.5,-17.5 - parent: 2 - uid: 5095 components: - type: Transform @@ -21522,11 +21230,6 @@ entities: - type: Transform pos: 5.5,-20.5 parent: 2 - - uid: 5101 - components: - - type: Transform - pos: 4.5,-16.5 - parent: 2 - uid: 5102 components: - type: Transform @@ -21547,11 +21250,6 @@ entities: - type: Transform pos: 6.5,-16.5 parent: 2 - - uid: 5107 - components: - - type: Transform - pos: 4.5,-15.5 - parent: 2 - uid: 5108 components: - type: Transform @@ -31781,12 +31479,6 @@ entities: - type: Transform pos: 36.5,20.5 parent: 2 - - uid: 8146 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-28.5 - parent: 2 - uid: 8147 components: - type: Transform @@ -31811,126 +31503,12 @@ entities: rot: 1.5707963267948966 rad pos: -12.5,-27.5 parent: 2 - - uid: 8159 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-30.5 - parent: 2 - - uid: 8160 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-31.5 - parent: 2 - - uid: 8161 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-29.5 - parent: 2 - - uid: 8162 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-28.5 - parent: 2 - - uid: 8163 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-29.5 - parent: 2 - - uid: 8164 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-30.5 - parent: 2 - - uid: 8165 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-31.5 - parent: 2 - - uid: 8166 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-28.5 - parent: 2 - - uid: 8167 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-31.5 - parent: 2 - - uid: 8168 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-30.5 - parent: 2 - - uid: 8169 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-29.5 - parent: 2 - - uid: 8170 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,-29.5 - parent: 2 - - uid: 8171 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,-30.5 - parent: 2 - - uid: 8172 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,-32.5 - parent: 2 - uid: 8173 components: - type: Transform rot: 1.5707963267948966 rad pos: -7.5,-33.5 parent: 2 - - uid: 8174 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,-29.5 - parent: 2 - - uid: 8175 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,-30.5 - parent: 2 - - uid: 8176 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,-31.5 - parent: 2 - - uid: 8177 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,-32.5 - parent: 2 - - uid: 8178 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,-31.5 - parent: 2 - uid: 8179 components: - type: Transform @@ -31985,24 +31563,6 @@ entities: rot: 1.5707963267948966 rad pos: -4.5,-30.5 parent: 2 - - uid: 8188 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,-32.5 - parent: 2 - - uid: 8189 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-32.5 - parent: 2 - - uid: 8190 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-32.5 - parent: 2 - uid: 8191 components: - type: Transform @@ -95943,7 +95503,45 @@ entities: - type: Transform pos: -18.5,-7.5 parent: 2 -- proto: CP14CrystalAmethystsBig +- proto: CP14CrateCoffin + entities: + - uid: 2697 + components: + - type: Transform + pos: -7.5,-30.5 + parent: 2 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 2699 + - 3340 + - 3372 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + - uid: 4050 + components: + - type: Transform + pos: -7.5,-29.5 + parent: 2 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 4127 + - 4154 + - 4175 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null +- proto: CP14CrystalElementalDarknessBig entities: - uid: 526 components: @@ -95962,7 +95560,7 @@ entities: - type: Transform pos: -4.4530544,-12.664821 parent: 2 -- proto: CP14CrystalAmethystsMedium +- proto: CP14CrystalElementalDarknessMedium entities: - uid: 4189 components: @@ -95976,7 +95574,7 @@ entities: rot: 3.141592653589793 rad pos: -70.47718,27.537062 parent: 2 -- proto: CP14CrystalAmethystsSmall +- proto: CP14CrystalElementalDarknessSmall entities: - uid: 676 components: @@ -96005,63 +95603,7 @@ entities: - type: Transform pos: -6.4675236,-14.508899 parent: 2 -- proto: CP14CrystalDiamondsSmall - entities: - - uid: 15225 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -55.453403,-5.6048665 - parent: 2 -- proto: CP14CrystalEmeraldsBig - entities: - - uid: 18698 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 38.46467,38.340416 - parent: 2 -- proto: CP14CrystalEmeraldsMedium - entities: - - uid: 440 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -59.91631,-3.0338006 - parent: 2 -- proto: CP14CrystalLampBlueEmpty - entities: - - uid: 8973 - components: - - type: Transform - parent: 8971 - - type: Physics - canCollide: False - - type: InsideEntityStorage -- proto: CP14CrystalLampOrangeEmpty - entities: - - uid: 8972 - components: - - type: Transform - parent: 8971 - - type: Physics - canCollide: False - - type: InsideEntityStorage -- proto: CP14CrystalRubiesMedium - entities: - - uid: 437 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -54.41131,-14.440628 - parent: 2 - - uid: 18692 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.503544,54.41658 - parent: 2 -- proto: CP14CrystalTopazesBig +- proto: CP14CrystalElementalElectricBig entities: - uid: 9902 components: @@ -96111,7 +95653,7 @@ entities: - type: Transform pos: -35.17431,19.706465 parent: 2 -- proto: CP14CrystalTopazesMedium +- proto: CP14CrystalElementalElectricMedium entities: - uid: 11355 components: @@ -96154,7 +95696,7 @@ entities: rot: -1.5707963267948966 rad pos: -56.54992,-10.055402 parent: 2 -- proto: CP14CrystalTopazesSmall +- proto: CP14CrystalElementalElectricSmall entities: - uid: 11401 components: @@ -96177,6 +95719,62 @@ entities: rot: 3.141592653589793 rad pos: 12.46924,50.596863 parent: 2 +- proto: CP14CrystalElementalFireMedium + entities: + - uid: 437 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -54.41131,-14.440628 + parent: 2 + - uid: 18692 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.503544,54.41658 + parent: 2 +- proto: CP14CrystalElementalHealingBig + entities: + - uid: 18698 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 38.46467,38.340416 + parent: 2 +- proto: CP14CrystalElementalHealingMedium + entities: + - uid: 440 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -59.91631,-3.0338006 + parent: 2 +- proto: CP14CrystalElementalLightSmall + entities: + - uid: 15225 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -55.453403,-5.6048665 + parent: 2 +- proto: CP14CrystalLampBlueEmpty + entities: + - uid: 8973 + components: + - type: Transform + parent: 8971 + - type: Physics + canCollide: False + - type: InsideEntityStorage +- proto: CP14CrystalLampOrangeEmpty + entities: + - uid: 8972 + components: + - type: Transform + parent: 8971 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14CurtainsBlue entities: - uid: 1951 @@ -96206,10 +95804,9 @@ entities: parent: 2 - proto: CP14DemiplaneLinkCrystal entities: - - uid: 4154 + - uid: 8159 components: - type: Transform - rot: -1.5707963267948966 rad pos: -0.5,-10.5 parent: 2 - proto: CP14DirtBlock1 @@ -96299,9 +95896,9 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage -- proto: CP14FenceIronGrilleGateGuildmaster +- proto: CP14FenceIronGrilleGateDemiplaneCrystal entities: - - uid: 659 + - uid: 8160 components: - type: Transform pos: -0.5,-12.5 @@ -96400,6 +95997,12 @@ entities: - type: Transform pos: -1.5,-12.5 parent: 2 + - uid: 8167 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -8.5,-15.5 + parent: 2 - uid: 23474 components: - type: Transform @@ -96420,6 +96023,12 @@ entities: rot: -1.5707963267948966 rad pos: -12.5,-29.5 parent: 2 + - uid: 4026 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -9.5,-31.5 + parent: 2 - uid: 4490 components: - type: Transform @@ -96443,6 +96052,17 @@ entities: rot: 1.5707963267948966 rad pos: -7.5,-38.5 parent: 2 + - uid: 8163 + components: + - type: Transform + pos: -9.5,-15.5 + parent: 2 + - uid: 8343 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -9.5,-18.5 + parent: 2 - proto: CP14FloorWater entities: - uid: 728 @@ -96740,12 +96360,6 @@ entities: rot: -1.5707963267948966 rad pos: -4.5,-18.5 parent: 2 - - uid: 4636 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,-18.5 - parent: 2 - uid: 4656 components: - type: Transform @@ -100120,11 +99734,27 @@ entities: parent: 2 - proto: CP14HeadSkeleton entities: + - uid: 4127 + components: + - type: Transform + parent: 4050 + - type: Physics + canCollide: False + - type: InsideEntityStorage - uid: 18696 components: - type: Transform pos: 36.87656,39.29631 parent: 2 +- proto: CP14HeadZombie + entities: + - uid: 3372 + components: + - type: Transform + parent: 2697 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14Inkwell entities: - uid: 4020 @@ -100790,7 +100420,7 @@ entities: - type: Transform pos: 10.158333,-34.388634 parent: 2 -- proto: CP14OreCopper +- proto: CP14OreCopper1 entities: - uid: 9023 components: @@ -100820,7 +100450,7 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage -- proto: CP14OreIron +- proto: CP14OreIron1 entities: - uid: 9024 components: @@ -101063,6 +100693,24 @@ entities: - type: Transform pos: 36.9571,38.752686 parent: 2 +- proto: CP14RightLegSkeleton + entities: + - uid: 4154 + components: + - type: Transform + parent: 4050 + - type: Physics + canCollide: False + - type: InsideEntityStorage +- proto: CP14RightLegZombie + entities: + - uid: 2699 + components: + - type: Transform + parent: 2697 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14RockBig entities: - uid: 475 @@ -106903,6 +106551,34 @@ entities: fixtures: {} - proto: CP14RoofWooden entities: + - uid: 2547 + components: + - type: Transform + pos: -7.5,-31.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 2619 + components: + - type: Transform + pos: -9.5,-28.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 3399 + components: + - type: Transform + pos: -10.5,-30.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 3400 + components: + - type: Transform + pos: -10.5,-29.5 + parent: 2 + - type: Fixtures + fixtures: {} - uid: 3763 components: - type: Transform @@ -106951,6 +106627,20 @@ entities: parent: 2 - type: Fixtures fixtures: {} + - uid: 3943 + components: + - type: Transform + pos: -10.5,-32.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 3970 + components: + - type: Transform + pos: -10.5,-31.5 + parent: 2 + - type: Fixtures + fixtures: {} - uid: 4972 components: - type: Transform @@ -106967,6 +106657,90 @@ entities: parent: 2 - type: Fixtures fixtures: {} + - uid: 8161 + components: + - type: Transform + pos: -9.5,-31.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8162 + components: + - type: Transform + pos: -9.5,-29.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8164 + components: + - type: Transform + pos: -9.5,-30.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8165 + components: + - type: Transform + pos: -8.5,-32.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8166 + components: + - type: Transform + pos: -8.5,-31.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8175 + components: + - type: Transform + pos: -7.5,-28.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8176 + components: + - type: Transform + pos: -8.5,-28.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8177 + components: + - type: Transform + pos: -7.5,-29.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8178 + components: + - type: Transform + pos: -7.5,-30.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8188 + components: + - type: Transform + pos: -7.5,-32.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8189 + components: + - type: Transform + pos: -8.5,-30.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8190 + components: + - type: Transform + pos: -8.5,-29.5 + parent: 2 + - type: Fixtures + fixtures: {} - uid: 8316 components: - type: Transform @@ -107167,6 +106941,55 @@ entities: parent: 2 - type: Fixtures fixtures: {} + - uid: 8345 + components: + - type: Transform + pos: -6.5,-32.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8347 + components: + - type: Transform + pos: -9.5,-32.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8348 + components: + - type: Transform + pos: -10.5,-28.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8351 + components: + - type: Transform + pos: -6.5,-31.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8352 + components: + - type: Transform + pos: -6.5,-30.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8353 + components: + - type: Transform + pos: -6.5,-29.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8354 + components: + - type: Transform + pos: -6.5,-28.5 + parent: 2 + - type: Fixtures + fixtures: {} - uid: 8389 components: - type: Transform @@ -110511,10 +110334,15 @@ entities: - type: Transform pos: 17.5,26.5 parent: 2 - - uid: 2646 + - uid: 2663 components: - type: Transform - pos: -6.5,-18.5 + pos: -7.5,-17.5 + parent: 2 + - uid: 2665 + components: + - type: Transform + pos: -7.5,-14.5 parent: 2 - uid: 2706 components: @@ -110987,11 +110815,6 @@ entities: rot: 1.5707963267948966 rad pos: 24.5,18.5 parent: 2 - - uid: 1329 - components: - - type: Transform - pos: -8.5,-14.5 - parent: 2 - uid: 1406 components: - type: Transform @@ -111035,6 +110858,11 @@ entities: rot: 1.5707963267948966 rad pos: -20.5,-13.5 parent: 2 + - uid: 3833 + components: + - type: Transform + pos: -7.5,-31.5 + parent: 2 - uid: 4120 components: - type: Transform @@ -111047,6 +110875,16 @@ entities: rot: -1.5707963267948966 rad pos: -11.5,-10.5 parent: 2 + - uid: 4183 + components: + - type: Transform + pos: -9.5,-31.5 + parent: 2 + - uid: 4186 + components: + - type: Transform + pos: -8.5,-31.5 + parent: 2 - uid: 4204 components: - type: Transform @@ -111141,6 +110979,12 @@ entities: rot: -1.5707963267948966 rad pos: -16.5,-8.5 parent: 2 + - uid: 8344 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -10.5,-14.5 + parent: 2 - uid: 8967 components: - type: Transform @@ -111290,11 +111134,27 @@ entities: parent: 2 - proto: CP14TorsoSkeleton entities: + - uid: 4175 + components: + - type: Transform + parent: 4050 + - type: Physics + canCollide: False + - type: InsideEntityStorage - uid: 18685 components: - type: Transform pos: 36.87656,39.215775 parent: 2 +- proto: CP14TorsoZombie + entities: + - uid: 3340 + components: + - type: Transform + parent: 2697 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: CP14VialSmall entities: - uid: 9524 @@ -111853,12 +111713,6 @@ entities: rot: 3.141592653589793 rad pos: -2.5,-20.5 parent: 2 - - uid: 5694 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,-19.5 - parent: 2 - uid: 5699 components: - type: Transform @@ -111939,37 +111793,6 @@ entities: parent: 2 - proto: CP14WallmountGarlandPurple entities: - - uid: 2563 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-17.5 - parent: 2 - - type: Fixtures - fixtures: {} - - uid: 2564 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-15.5 - parent: 2 - - type: Fixtures - fixtures: {} - - uid: 2565 - components: - - type: Transform - pos: -7.5,-15.5 - parent: 2 - - type: Fixtures - fixtures: {} - - uid: 2568 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -7.5,-17.5 - parent: 2 - - type: Fixtures - fixtures: {} - uid: 2623 components: - type: Transform @@ -111992,6 +111815,20 @@ entities: parent: 2 - type: Fixtures fixtures: {} + - uid: 2678 + components: + - type: Transform + pos: -8.5,-18.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 8174 + components: + - type: Transform + pos: -8.5,-15.5 + parent: 2 + - type: Fixtures + fixtures: {} - proto: CP14WallmountLamp entities: - uid: 5037 @@ -112308,10 +112145,10 @@ entities: fixtures: {} - proto: CP14WallmountPaintingSkull entities: - - uid: 3833 + - uid: 8346 components: - type: Transform - pos: -8.5,-14.5 + pos: -10.5,-14.5 parent: 2 - type: Fixtures fixtures: {} @@ -112363,6 +112200,13 @@ entities: parent: 2 - type: Fixtures fixtures: {} + - uid: 8168 + components: + - type: Transform + pos: -11.5,-15.5 + parent: 2 + - type: Fixtures + fixtures: {} - proto: CP14WallSkulls entities: - uid: 3938 @@ -112377,11 +112221,26 @@ entities: - type: Transform pos: -3.5,-7.5 parent: 2 + - uid: 654 + components: + - type: Transform + pos: 4.5,-19.5 + parent: 2 - uid: 658 components: - type: Transform pos: 1.5,-7.5 parent: 2 + - uid: 659 + components: + - type: Transform + pos: 4.5,-18.5 + parent: 2 + - uid: 662 + components: + - type: Transform + pos: 3.5,-21.5 + parent: 2 - uid: 668 components: - type: Transform @@ -112402,16 +112261,41 @@ entities: - type: Transform pos: 11.5,-39.5 parent: 2 + - uid: 716 + components: + - type: Transform + pos: 3.5,-20.5 + parent: 2 + - uid: 717 + components: + - type: Transform + pos: 3.5,-19.5 + parent: 2 + - uid: 718 + components: + - type: Transform + pos: 0.5,-22.5 + parent: 2 - uid: 720 components: - type: Transform pos: 3.5,-14.5 parent: 2 + - uid: 722 + components: + - type: Transform + pos: 2.5,-21.5 + parent: 2 - uid: 723 components: - type: Transform pos: -5.5,-21.5 parent: 2 + - uid: 746 + components: + - type: Transform + pos: 2.5,-22.5 + parent: 2 - uid: 747 components: - type: Transform @@ -112422,11 +112306,21 @@ entities: - type: Transform pos: 3.5,-16.5 parent: 2 + - uid: 766 + components: + - type: Transform + pos: 1.5,-22.5 + parent: 2 - uid: 769 components: - type: Transform pos: 2.5,-18.5 parent: 2 + - uid: 774 + components: + - type: Transform + pos: -0.5,-22.5 + parent: 2 - uid: 775 components: - type: Transform @@ -112437,6 +112331,11 @@ entities: - type: Transform pos: 3.5,-18.5 parent: 2 + - uid: 813 + components: + - type: Transform + pos: -2.5,-22.5 + parent: 2 - uid: 814 components: - type: Transform @@ -112457,6 +112356,11 @@ entities: - type: Transform pos: 13.5,-39.5 parent: 2 + - uid: 889 + components: + - type: Transform + pos: -1.5,-22.5 + parent: 2 - uid: 892 components: - type: Transform @@ -112467,6 +112371,11 @@ entities: - type: Transform pos: -3.5,-21.5 parent: 2 + - uid: 902 + components: + - type: Transform + pos: -13.5,-21.5 + parent: 2 - uid: 903 components: - type: Transform @@ -112717,6 +112626,71 @@ entities: - type: Transform pos: 12.5,-50.5 parent: 2 + - uid: 2495 + components: + - type: Transform + pos: -12.5,-21.5 + parent: 2 + - uid: 2505 + components: + - type: Transform + pos: -11.5,-21.5 + parent: 2 + - uid: 2513 + components: + - type: Transform + pos: -3.5,-22.5 + parent: 2 + - uid: 2516 + components: + - type: Transform + pos: -13.5,-20.5 + parent: 2 + - uid: 2528 + components: + - type: Transform + pos: -13.5,-19.5 + parent: 2 + - uid: 2531 + components: + - type: Transform + pos: -13.5,-18.5 + parent: 2 + - uid: 2543 + components: + - type: Transform + pos: -13.5,-17.5 + parent: 2 + - uid: 2544 + components: + - type: Transform + pos: -13.5,-16.5 + parent: 2 + - uid: 2545 + components: + - type: Transform + pos: -13.5,-15.5 + parent: 2 + - uid: 2546 + components: + - type: Transform + pos: -13.5,-14.5 + parent: 2 + - uid: 2552 + components: + - type: Transform + pos: -7.5,-22.5 + parent: 2 + - uid: 2556 + components: + - type: Transform + pos: -4.5,-22.5 + parent: 2 + - uid: 2557 + components: + - type: Transform + pos: -6.5,-22.5 + parent: 2 - uid: 2558 components: - type: Transform @@ -112727,11 +112701,26 @@ entities: - type: Transform pos: 66.5,32.5 parent: 2 + - uid: 2563 + components: + - type: Transform + pos: -11.5,-13.5 + parent: 2 + - uid: 2565 + components: + - type: Transform + pos: -5.5,-22.5 + parent: 2 - uid: 2566 components: - type: Transform pos: -1.5,-21.5 parent: 2 + - uid: 2575 + components: + - type: Transform + pos: -8.5,-21.5 + parent: 2 - uid: 2576 components: - type: Transform @@ -112747,6 +112736,11 @@ entities: - type: Transform pos: 66.5,33.5 parent: 2 + - uid: 2589 + components: + - type: Transform + pos: -6.5,-21.5 + parent: 2 - uid: 2590 components: - type: Transform @@ -112757,26 +112751,61 @@ entities: - type: Transform pos: 0.5,-21.5 parent: 2 + - uid: 2594 + components: + - type: Transform + pos: -9.5,-21.5 + parent: 2 - uid: 2595 components: - type: Transform pos: -0.5,-21.5 parent: 2 + - uid: 2611 + components: + - type: Transform + pos: -10.5,-21.5 + parent: 2 + - uid: 2618 + components: + - type: Transform + pos: -7.5,-21.5 + parent: 2 + - uid: 2622 + components: + - type: Transform + pos: 4.5,-12.5 + parent: 2 + - uid: 2635 + components: + - type: Transform + pos: 4.5,-13.5 + parent: 2 - uid: 2640 components: - type: Transform pos: 2.5,-20.5 parent: 2 + - uid: 2643 + components: + - type: Transform + pos: 4.5,-14.5 + parent: 2 + - uid: 2644 + components: + - type: Transform + pos: -12.5,-13.5 + parent: 2 + - uid: 2646 + components: + - type: Transform + pos: -13.5,-13.5 + parent: 2 - uid: 2649 components: - type: Transform pos: 66.5,34.5 parent: 2 - - uid: 2654 - components: - - type: Transform - pos: -6.5,-21.5 - parent: 2 - uid: 2656 components: - type: Transform @@ -112797,6 +112826,21 @@ entities: - type: Transform pos: -7.5,-11.5 parent: 2 + - uid: 2680 + components: + - type: Transform + pos: 4.5,-17.5 + parent: 2 + - uid: 2683 + components: + - type: Transform + pos: 4.5,-16.5 + parent: 2 + - uid: 2685 + components: + - type: Transform + pos: 4.5,-15.5 + parent: 2 - uid: 2689 components: - type: Transform @@ -113177,11 +113221,6 @@ entities: - type: Transform pos: 8.5,-38.5 parent: 2 - - uid: 3340 - components: - - type: Transform - pos: -6.5,-20.5 - parent: 2 - uid: 3430 components: - type: Transform @@ -113297,11 +113336,6 @@ entities: - type: Transform pos: 3.5,-15.5 parent: 2 - - uid: 4841 - components: - - type: Transform - pos: -7.5,-20.5 - parent: 2 - uid: 4852 components: - type: Transform @@ -113869,6 +113903,11 @@ entities: - type: Transform pos: 44.5,-19.5 parent: 2 + - uid: 1329 + components: + - type: Transform + pos: -12.5,-20.5 + parent: 2 - uid: 1396 components: - type: Transform @@ -113929,35 +113968,55 @@ entities: - type: Transform pos: 52.5,-19.5 parent: 2 - - uid: 2516 + - uid: 2481 components: - type: Transform - pos: -7.5,-14.5 + pos: -11.5,-20.5 parent: 2 - - uid: 2552 + - uid: 2496 components: - type: Transform - pos: -7.5,-19.5 + pos: -12.5,-19.5 + parent: 2 + - uid: 2506 + components: + - type: Transform + pos: -12.5,-17.5 + parent: 2 + - uid: 2511 + components: + - type: Transform + pos: -12.5,-16.5 + parent: 2 + - uid: 2512 + components: + - type: Transform + pos: -12.5,-18.5 + parent: 2 + - uid: 2564 + components: + - type: Transform + pos: -11.5,-14.5 + parent: 2 + - uid: 2588 + components: + - type: Transform + pos: -10.5,-20.5 parent: 2 - uid: 2614 components: - type: Transform - pos: -10.5,-17.5 + pos: -8.5,-20.5 parent: 2 - - uid: 2635 + - uid: 2654 components: - type: Transform - pos: -8.5,-19.5 + pos: -12.5,-15.5 parent: 2 - - uid: 2643 + - uid: 2655 components: - type: Transform - pos: -10.5,-19.5 - parent: 2 - - uid: 2644 - components: - - type: Transform - pos: -9.5,-19.5 + pos: -12.5,-14.5 parent: 2 - uid: 2705 components: @@ -113984,21 +114043,11 @@ entities: - type: Transform pos: 19.5,-16.5 parent: 2 - - uid: 3943 - components: - - type: Transform - pos: -10.5,-15.5 - parent: 2 - uid: 3958 components: - type: Transform pos: 20.5,-16.5 parent: 2 - - uid: 3970 - components: - - type: Transform - pos: -10.5,-16.5 - parent: 2 - uid: 3984 components: - type: Transform @@ -114019,11 +114068,6 @@ entities: - type: Transform pos: -7.5,-13.5 parent: 2 - - uid: 4127 - components: - - type: Transform - pos: -6.5,-19.5 - parent: 2 - uid: 4155 components: - type: Transform @@ -114044,11 +114088,6 @@ entities: - type: Transform pos: -2.5,-12.5 parent: 2 - - uid: 4175 - components: - - type: Transform - pos: -10.5,-14.5 - parent: 2 - uid: 4266 components: - type: Transform @@ -114119,11 +114158,6 @@ entities: - type: Transform pos: -2.5,7.5 parent: 2 - - uid: 4672 - components: - - type: Transform - pos: -7.5,-18.5 - parent: 2 - uid: 4680 components: - type: Transform @@ -114134,11 +114168,6 @@ entities: - type: Transform pos: 1.5,4.5 parent: 2 - - uid: 4714 - components: - - type: Transform - pos: -10.5,-18.5 - parent: 2 - uid: 4722 components: - type: Transform @@ -114259,6 +114288,36 @@ entities: - type: Transform pos: 16.5,-15.5 parent: 2 + - uid: 8169 + components: + - type: Transform + pos: -8.5,-14.5 + parent: 2 + - uid: 8170 + components: + - type: Transform + pos: -7.5,-20.5 + parent: 2 + - uid: 8171 + components: + - type: Transform + pos: -6.5,-20.5 + parent: 2 + - uid: 8172 + components: + - type: Transform + pos: -9.5,-20.5 + parent: 2 + - uid: 8349 + components: + - type: Transform + pos: -8.5,-17.5 + parent: 2 + - uid: 8350 + components: + - type: Transform + pos: -8.5,-16.5 + parent: 2 - uid: 8865 components: - type: Transform @@ -124614,11 +124673,21 @@ entities: - type: Transform pos: -15.5,-7.5 parent: 2 + - uid: 2553 + components: + - type: Transform + pos: -10.5,-32.5 + parent: 2 - uid: 2554 components: - type: Transform pos: -15.5,-6.5 parent: 2 + - uid: 2568 + components: + - type: Transform + pos: -10.5,-28.5 + parent: 2 - uid: 2577 components: - type: Transform @@ -124994,6 +125063,11 @@ entities: - type: Transform pos: 7.5,-6.5 parent: 2 + - uid: 4187 + components: + - type: Transform + pos: -9.5,-28.5 + parent: 2 - uid: 4190 components: - type: Transform @@ -125124,6 +125198,11 @@ entities: - type: Transform pos: -8.5,2.5 parent: 2 + - uid: 4636 + components: + - type: Transform + pos: -8.5,-28.5 + parent: 2 - uid: 4637 components: - type: Transform @@ -125159,6 +125238,11 @@ entities: - type: Transform pos: -12.5,-10.5 parent: 2 + - uid: 4660 + components: + - type: Transform + pos: -6.5,-28.5 + parent: 2 - uid: 4670 components: - type: Transform @@ -125169,11 +125253,21 @@ entities: - type: Transform pos: -5.5,-5.5 parent: 2 + - uid: 4672 + components: + - type: Transform + pos: -9.5,-32.5 + parent: 2 - uid: 4678 components: - type: Transform pos: -4.5,-6.5 parent: 2 + - uid: 4714 + components: + - type: Transform + pos: -8.5,-32.5 + parent: 2 - uid: 4716 components: - type: Transform @@ -125184,6 +125278,11 @@ entities: - type: Transform pos: -6.5,-9.5 parent: 2 + - uid: 4841 + components: + - type: Transform + pos: -7.5,-32.5 + parent: 2 - uid: 4881 components: - type: Transform @@ -125209,6 +125308,21 @@ entities: - type: Transform pos: 23.5,15.5 parent: 2 + - uid: 5094 + components: + - type: Transform + pos: -6.5,-32.5 + parent: 2 + - uid: 5101 + components: + - type: Transform + pos: -7.5,-28.5 + parent: 2 + - uid: 5107 + components: + - type: Transform + pos: -6.5,-29.5 + parent: 2 - uid: 5138 components: - type: Transform @@ -125283,6 +125397,11 @@ entities: layers: - sprite: _CP14/Structures/Wallpaper/wallpaper_yellow.rsi state: left + - uid: 5694 + components: + - type: Transform + pos: -6.5,-31.5 + parent: 2 - uid: 5712 components: - type: Transform @@ -125503,6 +125622,11 @@ entities: layers: - sprite: _CP14/Structures/Wallpaper/wallpaper_yellow.rsi state: right + - uid: 8146 + components: + - type: Transform + pos: -6.5,-30.5 + parent: 2 - uid: 8148 components: - type: Transform @@ -125573,12 +125697,6 @@ entities: rot: -1.5707963267948966 rad pos: -3.3085613,-17.70248 parent: 2 - - uid: 2553 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.0641885,-18.72572 - parent: 2 - uid: 2555 components: - type: Transform @@ -125800,6 +125918,13 @@ entities: - type: Transform pos: 81.5,30.5 parent: 2 +- proto: CP14WoodenCabinetAlchemist + entities: + - uid: 3564 + components: + - type: Transform + pos: -10.5,-29.5 + parent: 2 - proto: CP14WoodenCabinetBanker entities: - uid: 5135 @@ -125892,6 +126017,11 @@ entities: parent: 2 - proto: CP14WoodenClosetAlchemyFilled entities: + - uid: 3565 + components: + - type: Transform + pos: -9.5,-29.5 + parent: 2 - uid: 13267 components: - type: Transform @@ -126068,11 +126198,6 @@ entities: - type: Transform pos: -2.5,-16.5 parent: 2 - - uid: 4660 - components: - - type: Transform - pos: -0.5,-13.5 - parent: 2 - uid: 4781 components: - type: Transform @@ -126093,4 +126218,4 @@ entities: - type: Transform pos: 0.5,-11.5 parent: 2 -... \ No newline at end of file +... diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml index 7bc3ed4ac5..93cb0c8c00 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml @@ -80,6 +80,7 @@ - id: CP14StampDenied - id: CP14StampApproved - id: CP14StampCommandant + - id: CP14PaperFolderBlue - type: entity parent: CP14SafeVault @@ -167,4 +168,17 @@ - id: CP14EnergyCrystalSmall - id: CP14CrystalLampBlueEmpty - id: CP14StampGuardCommander - - id: CP14BookImperialLawsHandBook \ No newline at end of file + - id: CP14BookImperialLawsHandBook + +- type: entity + parent: CP14WoodenCloset + id: CP14WoodenClosetGuildmasterFilled + suffix: Guildmaster, Filled + components: + - type: StorageFill + contents: + - id: CP14StampGuildmaster + - id: HandLabeler #TODO custom cp14 labeler + - id: CP14StampDenied + - id: CP14StampApproved + - id: CP14PaperFolderBlue \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml b/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml index 06dd451e46..1db7a171fa 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/dresser.yml @@ -94,4 +94,18 @@ - id: CP14ClothingShirtGuardsChainmailShirtB prob: 0.7 - id: CP14ClothingCloakGuardCommander - prob: 1 \ No newline at end of file + prob: 1 + +- type: entity + parent: CP14WoodenCabinet + id: CP14WoodenCabinetGuildmaster + suffix: Guildmaster, Filled + components: + - type: StorageFill + contents: + - id: CP14ClothingCloakGuildmasterCape + prob: 1 + - id: CP14ClothingShirtGuildmasterVest + prob: 0.6 + - id: CP14ClothingShirtGuildmasterVest2 + prob: 0.6 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/bank.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/bank.yml index 3f65902585..20f965aeb4 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/bank.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/bank.yml @@ -1,12 +1,11 @@ - type: entity parent: - CP14ClothingCloakBase - - ClothingSlotBase - id: CP14ClothingCloakCommandantJacket - name: commandant's jacket - description: the colors white and gold tell you that you're looking at a higher power. + id: CP14ClothingCloakCommandantJacket #TODO: Rename from Jacket to Cape + name: commandant's cape + description: The colors white and gold tell you that you're looking at a higher power. components: - type: Sprite - sprite: _CP14/Clothing/Cloak/Roles/Bank/commandant_jacket.rsi + sprite: _CP14/Clothing/Cloak/Roles/Bank/commandant_cape.rsi - type: Clothing - sprite: _CP14/Clothing/Cloak/Roles/Bank/commandant_jacket.rsi \ No newline at end of file + sprite: _CP14/Clothing/Cloak/Roles/Bank/commandant_cape.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/guildmaster.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/guildmaster.yml new file mode 100644 index 0000000000..4bead421c5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Cloak/Roles/guildmaster.yml @@ -0,0 +1,11 @@ +- type: entity + parent: + - CP14ClothingCloakBase + id: CP14ClothingCloakGuildmasterCape + name: guildmaster cape + description: The colors green and gold tell you that you're looking at a higher power. + components: + - type: Sprite + sprite: _CP14/Clothing/Cloak/Roles/Mercenary/guildmaster_cape.rsi + - type: Clothing + sprite: _CP14/Clothing/Cloak/Roles/Mercenary/guildmaster_cape.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/Roles/banker.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/Roles/banker.yml new file mode 100644 index 0000000000..107467bf77 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/Roles/banker.yml @@ -0,0 +1,22 @@ +- type: entity + parent: + - ClothingSlotBase + - CP14ClothingOuterClothingBase + id: CP14ClothingOuterClothingBankerWaistCoat + name: "banker's waistcoat" + description: Stylish waistcoat made of expensive leather. A special uniform for bank employees that makes customers feel like beggars. + components: + - type: Sprite + sprite: _CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi + - type: Clothing + sprite: _CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi + +- type: entity + parent: CP14ClothingOuterClothingBankerWaistCoat + id: CP14ClothingOuterClothingBankerWaistCoatOpen + name: "open banker's waistcoat" + components: + - type: Sprite + sprite: _CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi + - type: Clothing + sprite: _CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/general.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/general.yml index 2c482787f1..880b45ad9d 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/general.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/general.yml @@ -147,25 +147,6 @@ - type: Clothing sprite: _CP14/Clothing/Shirt/Roles/General/white_collar.rsi -- type: entity - parent: CP14ClothingShirtBase - id: CP14ClothingShirtCottonWhiteGreenVest - name: cotton white green vest shirt - components: - - type: Sprite - sprite: _CP14/Clothing/Shirt/Roles/General/white_green_vest.rsi - - type: Clothing - sprite: _CP14/Clothing/Shirt/Roles/General/white_green_vest.rsi - -- type: entity - parent: CP14ClothingShirtCottonWhiteGreenVest - id: CP14ClothingShirtCottonWhiteGreenVest2 - components: - - type: Sprite - sprite: _CP14/Clothing/Shirt/Roles/General/white_green_vest2.rsi - - type: Clothing - sprite: _CP14/Clothing/Shirt/Roles/General/white_green_vest2.rsi - - type: entity parent: CP14ClothingShirtBase id: CP14ClothingShirtCottonYellow diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/guildmaster.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/guildmaster.yml new file mode 100644 index 0000000000..81c2e9893c --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Shirt/Roles/guildmaster.yml @@ -0,0 +1,18 @@ +- type: entity + parent: CP14ClothingShirtBase + id: CP14ClothingShirtGuildmasterVest + name: cotton white green vest shirt + components: + - type: Sprite + sprite: _CP14/Clothing/Shirt/Roles/Mercenary/guildmaster_vest.rsi + - type: Clothing + sprite: _CP14/Clothing/Shirt/Roles/Mercenary/guildmaster_vest.rsi + +- type: entity + parent: CP14ClothingShirtGuildmasterVest + id: CP14ClothingShirtGuildmasterVest2 + components: + - type: Sprite + sprite: _CP14/Clothing/Shirt/Roles/Mercenary/guildmaster_vest2.rsi + - type: Clothing + sprite: _CP14/Clothing/Shirt/Roles/Mercenary/guildmaster_vest2.rsi \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml index 13bcf2713b..64ea6930eb 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/jobs.yml @@ -96,8 +96,7 @@ - type: Sprite layers: - state: green - - state: adventurer #TODO - color: red + - state: guildmaster # Artisans diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml index 9cbbd0374d..313ebc756f 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml @@ -337,15 +337,24 @@ - map: [ "enum.HumanoidVisualLayers.LArm" ] - map: [ "enum.HumanoidVisualLayers.RLeg" ] - map: [ "enum.HumanoidVisualLayers.LLeg" ] - - map: [ "shirt" ] - - map: [ "pants" ] + - shader: StencilClear + sprite: _CP14/Mobs/Species/Human/parts.rsi + state: l_leg + - shader: StencilMask + map: [ "enum.HumanoidVisualLayers.StencilMask" ] + sprite: Mobs/Customization/masking_helpers.rsi + state: unisex_full + visible: false - map: [ "enum.HumanoidVisualLayers.LFoot" ] - map: [ "enum.HumanoidVisualLayers.RFoot" ] + - map: [ "shoes" ] + - map: [ "shirt" ] + - map: [ "pants" ] - map: [ "enum.HumanoidVisualLayers.LHand" ] - map: [ "enum.HumanoidVisualLayers.RHand" ] - map: [ "gloves" ] - - map: [ "shoes" ] - map: [ "ears" ] + - map: [ "outerClothing" ] - map: [ "cloak" ] - map: [ "eyes" ] - map: [ "belt1" ] diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml index 58951ba2ed..9cd4986618 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml @@ -132,17 +132,18 @@ sprite: Mobs/Customization/masking_helpers.rsi state: unisex_full visible: false - - map: [ "shirt" ] - - map: [ "pants" ] - map: [ "enum.HumanoidVisualLayers.LFoot" ] - map: [ "enum.HumanoidVisualLayers.RFoot" ] + - map: [ "shoes" ] + - map: [ "shirt" ] + - map: [ "pants" ] - map: [ "enum.HumanoidVisualLayers.LHand" ] - map: [ "enum.HumanoidVisualLayers.RHand" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] # Bark Before clothing - map: [ "enum.HumanoidVisualLayers.HeadTop" ] # Bark Before clothing - map: [ "gloves" ] - - map: [ "shoes" ] - map: [ "ears" ] + - map: [ "outerClothing" ] - map: [ "cloak" ] - map: [ "eyes" ] - map: [ "belt1" ] diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/stamps.yml b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/stamps.yml index f3ac073999..fa3062c94b 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/stamps.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/stamps.yml @@ -69,4 +69,17 @@ stampedColor: "#436a92" stampState: "guard_on_paper" - type: Sprite - state: guard \ No newline at end of file + state: guard + +- type: entity + id: CP14StampGuildmaster + parent: CP14StampBase + name: guildmaster stamp + suffix: DO NOT MAP + components: + - type: Stamp + stampedName: cp14-stamp-guildmaster + stampedColor: "#115c41" + stampState: "guildmaster_on_paper" + - type: Sprite + state: guildmaster \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Keys/guildmaster.yml b/Resources/Prototypes/_CP14/Entities/Objects/Keys/guildmaster.yml new file mode 100644 index 0000000000..2d040c6671 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Keys/guildmaster.yml @@ -0,0 +1,15 @@ +- type: entity + parent: CP14BaseKey + id: CP14KeyGuildmaster + suffix: Guildmaster + components: + - type: CP14Key + autoGenerateShape: Guildmaster + +- type: entity + parent: CP14BaseKey + id: CP14KeyDemiplaneCrystal + suffix: Demiplane Crystal + components: + - type: CP14Key + autoGenerateShape: DemiplaneCrystal \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml b/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml index 9d7c0ccd22..9536cd6ea2 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml @@ -124,3 +124,13 @@ - id: CP14KeyGuard - id: CP14KeyGuardCommander #- id: CP14KeyGuardWeaponStorage + +- type: entity + parent: CP14BaseKeyRing + id: CP14KeyRingGuildmaster + suffix: Guildmaster + components: + - type: StorageFill + contents: + - id: CP14KeyGuildmaster + - id: CP14KeyDemiplaneCrystal diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Keys/personalHouse.yml b/Resources/Prototypes/_CP14/Entities/Objects/Keys/personalHouse.yml index 7338fbff78..1331ab2fd1 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Keys/personalHouse.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Keys/personalHouse.yml @@ -89,4 +89,52 @@ suffix: PersonalHouse10 components: - type: CP14Key - autoGenerateShape: PersonalHouse10 \ No newline at end of file + autoGenerateShape: PersonalHouse10 + +- type: entity + parent: CP14BaseKey + id: CP14KeyPersonalHouse11 + suffix: PersonalHouse11 + components: + - type: CP14Key + autoGenerateShape: PersonalHouse11 + +- type: entity + parent: CP14BaseKey + id: CP14KeyPersonalHouse12 + suffix: PersonalHouse12 + components: + - type: CP14Key + autoGenerateShape: PersonalHouse12 + +- type: entity + parent: CP14BaseKey + id: CP14KeyPersonalHouse13 + suffix: PersonalHouse13 + components: + - type: CP14Key + autoGenerateShape: PersonalHouse13 + +- type: entity + parent: CP14BaseKey + id: CP14KeyPersonalHouse14 + suffix: PersonalHouse14 + components: + - type: CP14Key + autoGenerateShape: PersonalHouse14 + +- type: entity + parent: CP14BaseKey + id: CP14KeyPersonalHouse15 + suffix: PersonalHouse15 + components: + - type: CP14Key + autoGenerateShape: PersonalHouse15 + +- type: entity + parent: CP14BaseKey + id: CP14KeyPersonalHouse16 + suffix: PersonalHouse16 + components: + - type: CP14Key + autoGenerateShape: PersonalHouse16 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/alchemist.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/alchemist.yml index b8de4b1485..3ee04785f3 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/alchemist.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/alchemist.yml @@ -32,4 +32,21 @@ - CP14WoodenDoorTavernAlchemy2 - CP14WoodenDoorMirrored id: CP14WoodenDoorTavernAlchemyMirrored2 - suffix: Alchemy 2, Mirrored \ No newline at end of file + suffix: Alchemy 2, Mirrored + +- type: entity + parent: CP14WoodenDoor + id: CP14WoodenDoorTavernAlchemy3 + suffix: Alchemy 3 + components: + - type: CP14Lock + autoGenerateShape: Alchemy3 + - type: Lock + locked: true + +- type: entity + parent: + - CP14WoodenDoorTavernAlchemy3 + - CP14WoodenDoorMirrored + id: CP14WoodenDoorTavernAlchemyMirrored3 + suffix: Alchemy 3, Mirrored \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/blacksmith.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/blacksmith.yml index 76afe1a49c..01ab67b6a2 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/blacksmith.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/blacksmith.yml @@ -30,4 +30,21 @@ - CP14IronDoorBlacksmith2 - CP14IronDoorMirrored id: CP14IronDoorMirroredBlacksmith2 - suffix: Blacksmith 2, Mirrored \ No newline at end of file + suffix: Blacksmith 2, Mirrored + +- type: entity + parent: CP14IronDoor + id: CP14IronDoorBlacksmith3 + suffix: Blacksmith 3 + components: + - type: CP14Lock + autoGenerateShape: Blacksmith3 + - type: Lock + locked: true + +- type: entity + parent: + - CP14IronDoorBlacksmith3 + - CP14IronDoorMirrored + id: CP14IronDoorMirroredBlacksmith3 + suffix: Blacksmith 3, Mirrored \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/guildmaster.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/guildmaster.yml index 5331928a7a..5008e3e49d 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/guildmaster.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/guildmaster.yml @@ -17,5 +17,15 @@ components: - type: CP14Lock autoGenerateShape: Guildmaster + - type: Lock + locked: true + +- type: entity + parent: CP14FenceIronGrilleGate + id: CP14FenceIronGrilleGateDemiplaneCrystal + suffix: DemiplaneCrystal + components: + - type: CP14Lock + autoGenerateShape: DemiplaneCrystal - type: Lock locked: true \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/personalHouse.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/personalHouse.yml index f2f386cf19..0b78322bef 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/personalHouse.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/Locked/personalHouse.yml @@ -147,5 +147,15 @@ components: - type: CP14Lock autoGenerateShape: PersonalHouse15 + - type: Lock + locked: true + +- type: entity + parent: CP14WoodenDoor + id: CP14WoodenDoorPersonalHouse16 + suffix: PersonalHouse16 + components: + - type: CP14Lock + autoGenerateShape: PersonalHouse16 - type: Lock locked: true \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/GameRules/roundstart.yml b/Resources/Prototypes/_CP14/GameRules/roundstart.yml index fe1b2518e0..d94fba9056 100644 --- a/Resources/Prototypes/_CP14/GameRules/roundstart.yml +++ b/Resources/Prototypes/_CP14/GameRules/roundstart.yml @@ -17,9 +17,20 @@ CP14Bank: - CP14BankEarningObjectiveGroup - type: CP14PersonalObjectivesRule - departmentObjectives: - CP14Mercenary: + roleObjectives: + CP14Guildmaster: + - CP14GuildmasterNoDemiplaneObjectiveGroup + CP14Adventurer: - CP14PersonalCurrencyCollectObjectiveGroup + CP14Alchemist: + - CP14PersonalCurrencyCollectObjectiveGroup + CP14Apprentice: + - CP14PersonalCurrencyCollectObjectiveGroup + CP14Blacksmith: + - CP14PersonalCurrencyCollectObjectiveGroup + CP14Innkeeper: + - CP14PersonalCurrencyCollectObjectiveGroup + - type: entity id: CP14SociopathsRule diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/bank.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/bank.yml index 7332c0b369..e9d733c18f 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Jobs/bank.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/bank.yml @@ -13,29 +13,25 @@ equipment: head: CP14ClothingHeadBowler -- type: loadoutGroup - id: CP14CommandantHead - name: cp14-loadout-commandant-head - loadouts: - - CP14ClothingHeadBowlerGolden - -- type: loadout - id: CP14ClothingHeadBowlerGolden - equipment: - head: CP14ClothingHeadBowlerGolden - -# Cloak +# OuterClothing - type: loadoutGroup - id: CP14CommandantCloak - name: cp14-loadout-commandant-cloak + id: CP14BankOuterClothing + name: cp14-loadout-banker-outer + minLimit: 0 loadouts: - - CP14ClothingCloakCommandantJacket + - CP14ClothingOuterClothingBankerWaistCoat + - CP14ClothingOuterClothingBankerWaistCoatOpen - type: loadout - id: CP14ClothingCloakCommandantJacket + id: CP14ClothingOuterClothingBankerWaistCoat equipment: - cloak: CP14ClothingCloakCommandantJacket + outerClothing: CP14ClothingOuterClothingBankerWaistCoat + +- type: loadout + id: CP14ClothingOuterClothingBankerWaistCoatOpen + equipment: + outerClothing: CP14ClothingOuterClothingBankerWaistCoatOpen # Shirt diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/commandant.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/commandant.yml new file mode 100644 index 0000000000..7250e6312a --- /dev/null +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/commandant.yml @@ -0,0 +1,26 @@ + +# Head + +- type: loadoutGroup + id: CP14CommandantHead + name: cp14-loadout-commandant-head + loadouts: + - CP14ClothingHeadBowlerGolden + +- type: loadout + id: CP14ClothingHeadBowlerGolden + equipment: + head: CP14ClothingHeadBowlerGolden + +# Cloak + +- type: loadoutGroup + id: CP14CommandantCloak + name: cp14-loadout-commandant-cloak + loadouts: + - CP14ClothingCloakCommandantJacket + +- type: loadout + id: CP14ClothingCloakCommandantJacket + equipment: + cloak: CP14ClothingCloakCommandantJacket \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml index 057f24b197..a225fad3a4 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml @@ -275,8 +275,6 @@ - CP14ClothingShirtCottonWhiteBrownVest2 - CP14ClothingShirtCottonWhiteBrownVest3 - CP14ClothingShirtCottonWhiteCollar - - CP14ClothingShirtCottonWhiteGreenVest - - CP14ClothingShirtCottonWhiteGreenVest2 - CP14ClothingShirtCottonYellow - CP14ClothingShirtCottonYellowCollar @@ -350,16 +348,6 @@ equipment: shirt: CP14ClothingShirtCottonWhiteCollar -- type: loadout - id: CP14ClothingShirtCottonWhiteGreenVest - equipment: - shirt: CP14ClothingShirtCottonWhiteGreenVest - -- type: loadout - id: CP14ClothingShirtCottonWhiteGreenVest2 - equipment: - shirt: CP14ClothingShirtCottonWhiteGreenVest2 - - type: loadout id: CP14ClothingShirtCottonYellow equipment: diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/guildmaster.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/guildmaster.yml new file mode 100644 index 0000000000..3df029e356 --- /dev/null +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/guildmaster.yml @@ -0,0 +1,50 @@ + +# Head + +# Cloak + +- type: loadoutGroup + id: CP14GuildmasterCloak + name: cp14-loadout-guildmaster-cloak + loadouts: + - CP14ClothingCloakGuildmasterCape + +- type: loadout + id: CP14ClothingCloakGuildmasterCape + equipment: + cloak: CP14ClothingCloakGuildmasterCape + +# Shirt + +- type: loadoutGroup + id: CP14GuildmasterShirt + name: cp14-loadout-guildmaster-shirt + loadouts: + - CP14ClothingShirtGuildmasterVest + - CP14ClothingShirtGuildmasterVest2 + +- type: loadout + id: CP14ClothingShirtGuildmasterVest + equipment: + shirt: CP14ClothingShirtGuildmasterVest + +- type: loadout + id: CP14ClothingShirtGuildmasterVest2 + equipment: + shirt: CP14ClothingShirtGuildmasterVest2 + +# Pants + +- type: loadoutGroup + id: CP14GuildmasterPants + name: cp14-loadout-guildmaster-pants + loadouts: + - CP14ClothingPantsAristocratic + +# Shoes + +- type: loadoutGroup + id: CP14GuildmasterShoes + name: cp14-loadout-guildmaster-shoes + loadouts: + - CP14ShoesAristocraticBlack \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml b/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml index 6bb66891cf..ea09f61a3c 100644 --- a/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/_CP14/Loadouts/role_loadouts.yml @@ -108,17 +108,31 @@ - CP14CommandantHead - CP14GeneralEyes - CP14CommandantCloak + - CP14BankOuterClothing - CP14BankShirt - CP14BankPants - CP14BankShoes - CP14GeneralBack - CP14GeneralTrinkets +- type: roleLoadout + id: JobCP14Guildmaster + groups: + - CP14GeneralSpells + - CP14GeneralEyes + - CP14GuildmasterCloak + - CP14GuildmasterShirt + - CP14GuildmasterPants + - CP14GuildmasterShoes + - CP14GeneralBack + - CP14GeneralTrinkets + - type: roleLoadout id: JobCP14Banker groups: - CP14GeneralSpells - CP14BankHead + - CP14BankOuterClothing - CP14GeneralEyes - CP14BankShirt - CP14BankPants diff --git a/Resources/Prototypes/_CP14/LockCategories/lockTypes.yml b/Resources/Prototypes/_CP14/LockCategories/lockTypes.yml index 12dca97475..0d2afed63e 100644 --- a/Resources/Prototypes/_CP14/LockCategories/lockTypes.yml +++ b/Resources/Prototypes/_CP14/LockCategories/lockTypes.yml @@ -67,37 +67,56 @@ complexity: 3 name: cp14-lock-shape-tavern-dorm5 -# Mercenary +# Artisans - type: CP14LockType id: Alchemy1 group: Alchemist - complexity: 3 + complexity: 4 name: cp14-lock-shape-alchemist1 - type: CP14LockType id: Alchemy2 group: Alchemist - complexity: 3 + complexity: 4 name: cp14-lock-shape-alchemist2 + +- type: CP14LockType + id: Alchemy3 + group: Alchemist + complexity: 4 + name: cp14-lock-shape-alchemist3 - type: CP14LockType id: Blacksmith1 group: Blacksmith - complexity: 3 + complexity: 4 name: cp14-lock-shape-blacksmith1 - type: CP14LockType id: Blacksmith2 group: Blacksmith - complexity: 3 + complexity: 4 name: cp14-lock-shape-blacksmith2 +- type: CP14LockType + id: Blacksmith3 + group: Blacksmith + complexity: 4 + name: cp14-lock-shape-blacksmith3 + +# Mercenary + - type: CP14LockType id: Guildmaster complexity: 5 name: cp14-lock-shape-guildmaster +- type: CP14LockType + id: DemiplaneCrystal + complexity: 5 + name: cp14-lock-shape-demiplane-crystal + # Personal house - type: CP14LockType @@ -190,6 +209,12 @@ complexity: 3 name: cp14-lock-shape-personalhouse15 +- type: CP14LockType + id: PersonalHouse16 + group: PersonalHouse + complexity: 3 + name: cp14-lock-shape-personalhouse16 + # Guard - type: CP14LockType diff --git a/Resources/Prototypes/_CP14/Maps/arenas.yml b/Resources/Prototypes/_CP14/Maps/arenas.yml index 74cdcae745..3d644a037e 100644 --- a/Resources/Prototypes/_CP14/Maps/arenas.yml +++ b/Resources/Prototypes/_CP14/Maps/arenas.yml @@ -28,13 +28,18 @@ mapNameTemplate: "Comoss island" - type: StationJobs availableJobs: - CP14Apprentice: [ 5, 5 ] + #Mercenary + CP14Guildmaster: [1, 1] CP14Adventurer: [ -1, -1 ] + #Artisans + CP14Apprentice: [ 5, 5 ] CP14Alchemist: [ 2, 2 ] CP14Blacksmith: [ 2, 2 ] CP14Innkeeper: [ 3, 4 ] + #Bank CP14Commandant: [1, 1] CP14Banker: [3, 4] + #Guard CP14Guard: [8, 8] CP14GuardCommander: [1, 1] - type: CP14StationZLevels diff --git a/Resources/Prototypes/_CP14/Objectives/empire_orders.yml b/Resources/Prototypes/_CP14/Objectives/empire_orders.yml index 7e86c393ce..cf059cf82f 100644 --- a/Resources/Prototypes/_CP14/Objectives/empire_orders.yml +++ b/Resources/Prototypes/_CP14/Objectives/empire_orders.yml @@ -18,7 +18,7 @@ minCollectionSize: 5 maxCollectionSize: 10 objectiveText: cp14-objective-town-send-title - descriptionText: cp14-objective-town-send-desc + objectiveDescription: cp14-objective-town-send-desc - type: Objective - type: entity @@ -87,4 +87,25 @@ id: CP14BankEarningObjectiveGroup weights: CP14TownBankEarningObjectiveMedium: 0.6 - CP14TownBankEarningObjectiveBig: 0.3 \ No newline at end of file + CP14TownBankEarningObjectiveBig: 0.3 + +# No Demiplane death objective +- type: entity + parent: CP14BaseTownObjective + id: CP14GuildmasterNoDemiplaneDeathObjective + components: + - type: CP14StatisticRangeCondition + statistic: DemiplaneDeaths + range: + min: 0 + max: 3 #TODO Adaptive to player count + objectiveText: cp14-objective-no-demiplane-death-title + objectiveDescription: cp14-objective-no-demiplane-death-desc + objectiveSprite: + sprite: /Textures/_CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi + state: tool + +- type: weightedRandom + id: CP14GuildmasterNoDemiplaneObjectiveGroup + weights: + CP14GuildmasterNoDemiplaneDeathObjective: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml b/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml index 95d9f7c1c5..f8ae92d123 100644 --- a/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml +++ b/Resources/Prototypes/_CP14/Objectives/personal_objectives.yml @@ -36,4 +36,4 @@ - type: weightedRandom id: CP14PersonalCurrencyCollectObjectiveGroup weights: - CP14PersonalCurrencyCollectObjective: 1 + CP14PersonalCurrencyCollectObjective: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml index 03d1af10f6..8a73dfbaf7 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Mercenary/guildmaster.yml @@ -28,4 +28,4 @@ - CP14EnergyCrystalSmall equipment: belt1: CP14WalletFilledTest - keys: CP14KeyRingInnkeeper \ No newline at end of file + keys: CP14KeyRingGuildmaster \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/stat_trackers.yml b/Resources/Prototypes/_CP14/stat_trackers.yml new file mode 100644 index 0000000000..10204af15c --- /dev/null +++ b/Resources/Prototypes/_CP14/stat_trackers.yml @@ -0,0 +1,7 @@ +- type: statisticTracker + id: DemiplaneOpen + text: cp14-tracker-demiplane-open + +- type: statisticTracker + id: DemiplaneDeaths + text: cp14-tracker-demiplane-deaths \ No newline at end of file diff --git a/Resources/Textures/_CP14/Clothing/Cloak/Roles/Bank/commandant_cape.rsi/equipped-CLOAK.png b/Resources/Textures/_CP14/Clothing/Cloak/Roles/Bank/commandant_cape.rsi/equipped-CLOAK.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc1d871ee41daba986e24142eed3aa6ac002016 GIT binary patch literal 1347 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 diff --git a/Resources/Textures/_CP14/Clothing/Cloak/Roles/Mercenary/guildmaster_cape.rsi/equipped-CLOAK.png b/Resources/Textures/_CP14/Clothing/Cloak/Roles/Mercenary/guildmaster_cape.rsi/equipped-CLOAK.png new file mode 100644 index 0000000000000000000000000000000000000000..0dacbaca1b7ef45a4c0ee20780538fae6263165f GIT binary patch literal 1179 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 P00000NkvXXu0mjfEDM~j literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/inhand-left.png b/Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..23f509e5b6de80ffddde89d9a65d1a14e2b6dfc6 GIT binary patch literal 482 zcmV<80UiE{P)Px$oJmAMRCt{2+P_Z1P!tC6a}5(Uaj~$Jbd}T*TugTcmnMA>cp77(51@;2;sK14 zs|jwVX%|vQ%6gnI6#wKF&LORSzl4E=9_V+tw>P<$2mk;800000>M9C-9>)Po*FBIf zs3pq_>i62>b;Sc1#{oy7FW#x=*LNdblSmegUPzZ!qcQ|Ex)p^!&(fuI+2+gv zqd`Zdu6O{mbV(X>!1eS^x+D=P{R1?*<+)BXo&rRA-O{M5@)Yn~N4hNCKPE-cGQ+ZWp!M88XJ~<)+t(2QWN27T*=pBp$%| zX}9!#-yN+=WeDuLH@MHx!~=MGnM;@a)i@5gX~WLS<`dy3SCiqF4>mRsW-h(9^{)bm zLccTwqR?lade#B7w)ma3;&%^;h{$st&hmopE-&aTzO}x-@c|_B1&szBTAd$ir4N;^ zuhmL$7pv20lbfST=M!ojfXzIR<;7?BJ=dXRzNmCeuU5-6n;ZUak+eDMYaOZt0Qhr0 Y06aX3pcq%_g8%>k07*qoM6N<$f>7+v_5c6? literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/inhand-right.png b/Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..aac7f5c90bdfd208f67af8b237c5a1f6d1bd455f GIT binary patch literal 470 zcmV;{0V)28P)Px$kV!;ARCt{2+A&MRKoke?7wMD;E{#P<$l6dxGf8*XO2H4{BrfeIaaQyjxD*7z zT^H9v-5kn(&^K2om7X>iS78HkWp|!apix_6I^IlM9l++@KR)bi{TfyV zP&VvUHat~S4j}2ajUSqLo_?6TTv6HlyB;Un0w`M%YGq<;jF}4`6U0*>@V&x3tYZr3 zAPyiuc$9S8{5`#7BBHDFFHPMtr=?OHb#_-@N+Px%en~_@RCt{2n!S$GKoo^f*c2#XMp_dudkKIwQfH&4cLU+o!e35cU5W@ zNx#>Ia5~CkvVGx)T87`tBP4#I@7_GcXwbsq)%`r(Sw-7`(V&HXuYIenxxU1+=Mzk3 zzY7zl;;szKlYzN1AkOUK7|r$Ntu`W3E@yd>eZ_~LB(41}wB`WdX7W*u!`a0#fZ{Vi zWn$ioRiSObD!59d+I$%#hDBY_8Uk_y6yFG?wby~t1eMGDzJ~33^5)8wguRR4X`c1Hf(@x0k)}h8QjOcz`?2 zZ4Tam%KpG8a{?^ty#vEA43m}duuIXmwFjxga|L;>ux5ho_yBGSCTxiCTtR22C&qD& zp9WP06IBqe63L6vR#@Ko`7$sTqRYz{PXGY)v2Tjcv3cFIIJ9lZVAf^d?>QaTuAKow8tc8|OA)qjkzaP!pg8#~FDL-&gTiPx$oJmAMRCt{2+P_Z1P!tC6a}5(Uaj~$Jbd}T*TugTcmnMA>cp77(51@;2;sK14 zs|jwVX%|vQ%6gnI6#wKF&LORSzl4E=9_V+tw>P<$2mk;800000>M9C-9>)Po*FBIf zs3pq_>i62>b;Sc1#{oy7FW#x=*LNdblSmegUPzZ!qcQ|Ex)p^!&(fuI+2+gv zqd`Zdu6O{mbV(X>!1eS^x+D=P{R1?*<+)BXo&rRA-O{M5@)Yn~N4hNCKPE-cGQ+ZWp!M88XJ~<)+t(2QWN27T*=pBp$%| zX}9!#-yN+=WeDuLH@MHx!~=MGnM;@a)i@5gX~WLS<`dy3SCiqF4>mRsW-h(9^{)bm zLccTwqR?lade#B7w)ma3;&%^;h{$st&hmopE-&aTzO}x-@c|_B1&szBTAd$ir4N;^ zuhmL$7pv20lbfST=M!ojfXzIR<;7?BJ=dXRzNmCeuU5-6n;ZUak+eDMYaOZt0Qhr0 Y06aX3pcq%_g8%>k07*qoM6N<$f>7+v_5c6? literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi/inhand-right.png b/Resources/Textures/_CP14/Clothing/OuterClothing/Roles/Bank/vest_banker_open.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..aac7f5c90bdfd208f67af8b237c5a1f6d1bd455f GIT binary patch literal 470 zcmV;{0V)28P)Px$kV!;ARCt{2+A&MRKoke?7wMD;E{#P<$l6dxGf8*XO2H4{BrfeIaaQyjxD*7z zT^H9v-5kn(&^K2om7X>iS78HkWp|!apix_6I^IlM9l++@KR)bi{TfyV zP&VvUHat~S4j}2ajUSqLo_?6TTv6HlyB;Un0w`M%YGq<;jF}4`6U0*>@V&x3tYZr3 zAPyiuc$9S8{5`#7BBHDFFHPMtr=?OHb#_-@N+!Bf{Kae1_~!;lyo6Cok$T&P_k5Fh}6(B zmgPvLM2Q?nEL;>zjnuAJvAr9T&u0fG_OqKB!TU{4p5Oa_?|=V3KfmNXKp+qZ1OkEJ z2Su7y$QXkpjc(cAX|QU!g7TXeQ|qYN980Si+`g5Ps6GI*4X;o=Yu$XI#Nvr00HED! zLhI<}JxWZ5wd~3I15@8k+tmO7sPFDGWjTs!r3S5|JDQ+ob4-cJNN4Uq>l#?O`Kx(P z5Cg3GRyPhy z3c^X3AbqWCpxtW18p|ZrN)7Qu5;R!rkMB!v+GpH?(KuROucpqga051KrvkI@si+}9eFF&K*lI_pjc%;`>SMYwX zV-IAU9p}I7;)=Y;KI(^j!|$RWPb6*WPs9_+kwFvsaLIDl43ICJLu9y#^IvwM#AI7p z@nzlinS>+5O~@C{xpvSCv-BtNqdzkPKI(_k*hMsYM^ZiorgaU+44_ddZfR0#X@OCF zPf>8_yMNW0)OVW$W*RWAY__0vbXy8uy{_8QkTZd)v0Apixw0AV8x2s?nV5e9@EK-dTa!VVy8 zgaKg(@ZI9&r)wB(2?PRxzykN5Y578l0Wi0ztCgC0AmOyh7fQ?;2Y~s;k}s6l_D+NK z2Y&}l&F0MOe4)hDZ0^+FRcbcJ@`V!X4-VM&PJ^l0oOw+HG&kY?;J_wKCXf+x6CXnz zpB4k}KzLpW()pjsz4>;lX@2+muRnOSeL)&@V#JEpHIP;_;4#6o0lodQDQFd^BPqbw z=LO~gX(-E4+rcOrgm$aRwME9YF%lVWVt?>%bUhp#LrFaXFfv40j$&i1rFA_UHx{ie<};2yEiVfAY0-Bfj}S-2m}IwK=2GEh+#2 z01b3fPE-H?|NsC0|NsC0|Nj6z=pu#y000SaNLh0L01m?d0Dlg{0mpBsWB>pGY)M2x zR9HvtmPw9;FbqWOq+kaf-{1DXnDOgvG zh6k`Fsh=um1A|ClpApK9fjm5TSGBv!t8Gi-<0047(dh`GQ00DDSM?wIu&K&6g00FQ`L_t(oh3%BFPr^_T z#=jaToCpw?vh%1A7=S@`qlte2#E!;Q7mSIciOQm@VXT40xR_wTQ5VGoLh~rA2?Gg^ zny{S%w6j54f9{(L_UV*xEKyEhe`hQ|>e^UiS1W6hlsn!}) z(aKO_%=J9i4dm23wl-4IPrVyUq6~=$)mnp;s0<~>z;y#$Hzope-GCBfP@*!bwFVKn z7RrIJ0_VjN~1X z(*gh>o=BqIYJVc07}=DljN_vsa%$ev&BD|K(kw*lYpZCtnDfTto9^#z;^9$uXv{td z4C_d<5J6C7VGppd5B`1$fnj~30WYua9eXpdzh43i`$Vn*2rBSm45aZb(CEHPXDJZx z^nR@X@AO7V-Eb)t36iN_s0YSk%LCU9#1ly?SSG7lYhcrECTr7AMfe2Mcz)6rkuRP= zCab#IhzPUH0^x6Hr~9g*V%vYb-J+s7?RI8)g1KjRDiS0)v;qL=4L)ICn{N-yHikVs dJUl%91YZ-PuCe2tr1Ss)002ovPDHLkV1gPv-U$Ez delta 325 zcmeyye3fZ}WIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$h2fKQ04 zsfNhwpFa;=yrCw;_y7O@KwJ3_|Nj?+XsaoR%q%qB*yi&4O7{QlGC<`wj~&ngQhX&r ze!)PM2*BWa;LZu43}=ByWHAFnJ>OxVs>6)O^H-z*MQ3@sIEGmGznyTJ?}!42>-rPU zxqtuPm(9t{y6ux@czYfzlbn#qU-tDIiiHh2YSPyUFovKi{Tmi{>F?6Bn>V+) zFpp>9hPB0?)n=^v#TUq*$JB8m`AT#51;u}XMY3I=wbyU>y#B&(cB{ksB4>TP_5q#A N;OXk;vd$@?2>>c2i$(wd diff --git a/Resources/Textures/_CP14/Clothing/Shirt/Roles/Bank/banker.rsi/inhand-left.png b/Resources/Textures/_CP14/Clothing/Shirt/Roles/Bank/banker.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9a85a3cbaec25a71f04e564ea67b12109c7df9 GIT binary patch literal 482 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z=Xkm}hE&XX zd&|&+DNu&(!+E#aOt)>axW0On2#DW~Wj;QKSv^{6R`7Chx4MPcws=# z=ARY^4_y6g+7YPm@Zx`0_51nz`^)cFALo6~FCYj3f1RhjU6HnXc}YsX2fNvA+tizV zFOu$FH=nU`N6HerdG>)%7Yl#9`{_^TG+_n5>rSOlyXu*&LcEt1xhL!1e8jqAvEeG! z;F9f=+(hbDD@p$J+{3Ux)bUbBS6bOJR*9ptGM+V6FuHAQJGVt)mgQ$D3BF&8W^zAb zpBb$>#S7y1 zPwx9OG1WTinV{3co9|Yp7Bf3?aUQKXV03lTN)5)E)nI za|CZOt&_iV;$x`(CJR=eU-#af!Su{IbTwBlWBlCsc}jCnD#dFk&ppXjRi+D!5@S*K z?ZNB~4xc#}>M!_R(|D92bYB3Uji=DXjVty~^FFix?~iY43=du&jqd)gq;%;W^J=?} VJ;y9lmI5PP)Px$qDe$SRCt{2+A(XwP!t8=Yw6@xa5UJd7(+z|af!RD;ArN8lP>)QE!C-=9PB8x zOK~cqyNhHi%|)eMS@2?R5LhIS*J5n)4+|xwN-bA(C=wGUv-+9&XvI$ln0ojLbLSuVNlRt1h|b z!U-~qFU*BQt-9p@cYr7)$sRYor3#TfZjvY@na?v1V7it`sP;UC3X@Rn(R3{{pFdam9=5X#H2xMMxDeulPx3Gi4$a z85HD61i_F#1>Qj4gouzPKp{^=i8%G|2BZmy42AzSw*DoH+TVT{LfjLj)$EssBhpqu zngGgkB1n-Z;#>B1(x_^Wj}5AIAq&z3C^@f0ebcJkTl(E{gDh2N!~j(cktDtoG!>B=&IcA!59L3T7~oIrl$fAOcwQbZ&yfXI}*Pzisx z9|by}7@Ipggtd!1Ri96f=Ay3A0H@82)^aN>ITmRm#w1|2%f+llJ$%718r|+&eyP8^ zkH4piK9MKV3h246u~79R0kSYA0T1PyvG2DA&AOFK*+*}!VbiBMu%c#*=AY3YXzfOQ zdm0=zy&(U|A71R-yd7_RxSoGPE;_vZVg<<0pOXoiCu0@HB!I|MyRfPZ$7?TQ*ZyO; z*4D+|UA8>#;K;*!XcXNpZ^$v@L@OcJwDtfC86QC+fj`vrh5F zxs!16;&npgKPPv#v(S!nn6lMFg#e`|C!kQ?An0~EC{Nd{p`9Jr%hqw*4^VScTBgC0*Dqnw=4G%~?8d7HPvOC$EMD+Bu>#6gO5_iGyovEm z0pk&p@Im(b96KK4EnV5pa3Lsk;+n^Y3`06*u4NdA{Qz^`1F%@L(ALuqn`7jBI%Aan zmG-5qFh2{2zdL!`Ge@cb!T}!n?%KBw9A~)X~vEd?XWwhBg>Tyuct+|QJu^yagCfnX~#v3 zjx=r41m*0x6A}_IrPGH+ZOv#34B|)rOlhKEAf`v2iJ#Ch3z{R@xZ0e8NO%y#*6Uc5 znU1F`Gw}KMJ)C^+#Gl0fg&vlIoj#rtCjRQ{#`*danujYEFu%{E+6nYb;>b?dhgy>r zwZ5D7qzSNVVyFtlZ=kdSsVS+u(& zmkUisG~e)II2PltVL^~u%6(5Lj9F7{xDp6LCZq_64h;#?4Uu@{74ixc5e=UBy@+Z- z7UT%{bLfugFj|x>O#a1`Y)lGBHYNom8gTe~DWM4fUF9!4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json b/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json index eb98bb94a3..7436e63dd1 100644 --- a/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Bureaucracy/paper.rsi/meta.json @@ -36,6 +36,9 @@ { "name": "guard_on_paper" }, + { + "name": "guildmaster_on_paper" + }, { "name": "denied_on_paper" }, diff --git a/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/approved.png b/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/approved.png index 7492afe77e2200c8685d3db45eba4a961b2c47dc..93d686a7da93e9617b18f1410698656fe1cbef43 100644 GIT binary patch delta 256 zcmV+b0ssE50;vL!F@NJpL_t(oh3%6u3IZ_@MW3RLxF8l=1zbB9D=San0X%`=HLSgc z;5jTjf|Y3J7TcIY7k9C-h=oKHu}Flqnb!=NNoM|J5)cGI5dKWX_h77)iNb(H=j_td zJ5SBG_;l1KY&FqY!D5B+6;bs$6oml*IxF7Rr3pxM&iV2vetEtWBswooK&+Gj*c?v0 zTI+Yk=?%n6nenj0=5Tu6LZWk`FksMa1MY9ZYXlbC{V#a^fT7&IPcak6oGzQKh;K31;({Ou0>B-s=}R-AZbh?fdxS<_No;{EOv$1%-0M%vorJ0?1CT&g79W)zKO9?CJFan>bY)1|kFx=&IR1^}FOd3UZ%Kz~+fHc1M=CP~Q(U7dhf zDFd+j*>h{H-<1#7=EFgU?cedbg{;s-VL-pz1~9IF!RrYucKTOv+JL3sZQF^jwlV?h z^gyfm`QR^47cT)$?^Ro1dK2|DzMJKkv13h_%T~m*m}_%E5Cj3>9|M|6I@h6k{Qv*} M07*qoM6N<$g1Vl3F8}}l diff --git a/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/denied.png b/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/denied.png index 34d04efd2e8c6430c89804f1202ee91380996e58..2aa837f8eb6e15d2eb0e654f0bbabbde67440022 100644 GIT binary patch delta 253 zcmVlR{N5cnR`@er_|1*aBNRMr22(<_*chgHQd+n9j;@xq|j{qpCx zyORK`ennu`O4aUfl7zYCnbx021hvy{n_LhCK>&CFxeQ4&m8%yW00000NkvXXu0mjf D2RU<9 delta 265 zcmV+k0rvi;0+9MJyb_17YzGm22X6HA5SP%q35dN87YG9$Y z&ohOwj$>6NzmpVLXzgE~m)xl_jjMTDy(Ww3rv&Ah0-$mA)qlA&0meFZn-YNCro>p+ zoq$4X5Ab$4@zVx>EQ8qOi-&vmAD?X(jCJIhVm6%s_}E=Y8bKgb{}-Y<5SUFTq2ktd zCg8n1Gae0p`RlJsl7OgrZNWckee-@@Rm>ybjQ%{faC6&ZlM8|%2ms#@y+=BE!A{u# P0000YL87ucPjtQRxCbgx9M!6;`O5U8tiP5bD#6P3RjU_ zW^C|B{kovflZ>E=DX9rSP*LM5)aq}}4$|}R*}ug+AYlGoK6S_EKjwdB7HBGeuD{e6 zUEuxR=KooPmj`s&d?jc8e`3+F!~`T~e<5bx!#{t^H6C##?cr(basp}pzuvymDJV)o zn=64qjCTsdrlQ7$iv$ioes3=+cmFr%^UG%$f3M${BJkjl&sX_<6Q>J!79GeoS7d98 zeJ^2G^RqF!?w;@@8Hb{Wij$UnpC3F)-uch(&;304&tjE!yU0MiJdvA0t-*i6p8YIa QfuY0T>FVdQ&MBb@014-Z-T(jq literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/meta.json b/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/meta.json index 6ca962b778..c9d2392ffd 100644 --- a/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Bureaucracy/stamp.rsi/meta.json @@ -18,6 +18,9 @@ }, { "name": "guard" + }, + { + "name": "guildmaster" } ] } From a6262a471df4a4bb854d810730cd95f8865649b3 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 2 Feb 2025 03:29:55 +0300 Subject: [PATCH 05/27] Resprites + Satchels (#834) * magic essence experiment * demiplane key resprite * some resprites * guard commander cape * vat and cauldron resprite * flint resprite * satchels! --- .../_CP14/Entities/Clothing/Back/satchels.yml | 28 +++++++ .../Objects/Specific/Thaumaturgy/essence.yml | 76 ++++++++++++++++++ .../Entities/Objects/Tools/demiplane_keys.yml | 2 +- .../_CP14/Entities/Objects/Tools/flint.yml | 2 +- .../_CP14/Loadouts/Jobs/general.yml | 13 ++- .../equipped-BACKPACK-goblin.png | Bin 0 -> 739 bytes .../leather_satchel.rsi/equipped-BACKPACK.png | Bin 0 -> 1145 bytes .../flipped-equipped-BACKPACK-goblin.png | Bin 0 -> 686 bytes .../flipped-equipped-BACKPACK.png | Bin 0 -> 1123 bytes .../Back/Satchel/leather_satchel.rsi/icon.png | Bin 0 -> 677 bytes .../leather_satchel.rsi/inhand-left.png | Bin 0 -> 793 bytes .../leather_satchel.rsi/inhand-right.png | Bin 0 -> 774 bytes .../Satchel/leather_satchel.rsi/meta.json | 38 +++++++++ .../equipped-CLOAK.png | Bin 1505 -> 1483 bytes .../Guard/guard_commander_cloak.rsi/icon.png | Bin 691 -> 678 bytes .../Guard/guard_commander_cloak.rsi/meta.json | 2 +- .../Specific/Alchemy/cauldron.rsi/icon.png | Bin 649 -> 633 bytes .../Alchemy/cauldron.rsi/inhand-left.png | Bin 1188 -> 1363 bytes .../Alchemy/cauldron.rsi/inhand-right.png | Bin 1188 -> 1363 bytes .../Specific/Alchemy/cauldron.rsi/meta.json | 4 +- .../cauldron.rsi/wielded-inhand-left.png | Bin 1188 -> 1363 bytes .../cauldron.rsi/wielded-inhand-right.png | Bin 1188 -> 1363 bytes .../Blacksmith/melting_molds.rsi/blank.png | Bin 500 -> 0 bytes .../Blacksmith/melting_molds.rsi/dagger.png | Bin 217 -> 0 bytes .../Blacksmith/melting_molds.rsi/meta.json | 38 --------- .../Blacksmith/melting_molds.rsi/nails.png | Bin 250 -> 0 bytes .../Blacksmith/melting_molds.rsi/pickaxe.png | Bin 256 -> 0 bytes .../Blacksmith/melting_molds.rsi/shovel.png | Bin 324 -> 0 bytes .../Blacksmith/melting_molds.rsi/sickle.png | Bin 411 -> 0 bytes .../Blacksmith/melting_molds.rsi/sword.png | Bin 274 -> 0 bytes .../melting_molds.rsi/throwable_spear.png | Bin 210 -> 0 bytes .../melting_molds.rsi/two_handed_sword.png | Bin 236 -> 0 bytes .../Thaumaturgy/essence.rsi/meta.json | 26 ++++++ .../Thaumaturgy/essence.rsi/small.png | Bin 0 -> 3929 bytes .../_CP14/Objects/Tools/flint.rsi/icon.png | Bin 414 -> 292 bytes .../Objects/Tools/flint.rsi/inhand-left.png | Bin 0 -> 226 bytes .../Objects/Tools/flint.rsi/inhand-right.png | Bin 0 -> 225 bytes .../_CP14/Objects/Tools/flint.rsi/meta.json | 10 ++- .../Dungeon/demiplan_rift_core.rsi/core.png | Bin 252 -> 543 bytes .../Specific/Alchemy/alchemy_vat.rsi/full.png | Bin 792 -> 811 bytes .../Specific/Alchemy/alchemy_vat.rsi/liq1.png | Bin 166 -> 191 bytes .../Specific/Alchemy/alchemy_vat.rsi/liq2.png | Bin 230 -> 240 bytes .../Specific/Alchemy/alchemy_vat.rsi/liq3.png | Bin 272 -> 304 bytes .../Specific/Alchemy/alchemy_vat.rsi/liq4.png | Bin 263 -> 268 bytes .../Specific/Alchemy/alchemy_vat.rsi/liq5.png | Bin 264 -> 295 bytes .../Specific/Alchemy/alchemy_vat.rsi/liq6.png | Bin 273 -> 348 bytes .../Alchemy/alchemy_vat.rsi/meta.json | 2 +- .../Thaumaturgy/Spreader.rsi/crystal.png | Bin 298 -> 0 bytes .../Thaumaturgy/Spreader.rsi/spreader.png | Bin 682 -> 0 bytes .../demiplane_analyzer.rsi/analyzer.png | Bin 0 -> 674 bytes .../demiplane_analyzer.rsi/crystal.png | Bin 0 -> 554 bytes .../meta.json | 4 +- 52 files changed, 191 insertions(+), 54 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Entities/Clothing/Back/satchels.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/essence.yml create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/equipped-BACKPACK-goblin.png create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/equipped-BACKPACK.png create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/flipped-equipped-BACKPACK-goblin.png create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/flipped-equipped-BACKPACK.png create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/icon.png create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/meta.json delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/blank.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/dagger.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/meta.json delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/nails.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/pickaxe.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/shovel.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sickle.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sword.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/throwable_spear.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/two_handed_sword.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/essence.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/essence.rsi/small.png create mode 100644 Resources/Textures/_CP14/Objects/Tools/flint.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Objects/Tools/flint.rsi/inhand-right.png delete mode 100644 Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/Spreader.rsi/crystal.png delete mode 100644 Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/Spreader.rsi/spreader.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/analyzer.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/crystal.png rename Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/{Spreader.rsi => demiplane_analyzer.rsi}/meta.json (67%) diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Back/satchels.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Back/satchels.yml new file mode 100644 index 0000000000..65156f801c --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Back/satchels.yml @@ -0,0 +1,28 @@ +- type: entity + abstract: true + parent: CP14ClothingBackpackBase + id: CP14ClothingSatchelBase + categories: [ ForkFiltered ] + components: + - type: Storage + grid: + - 0,0,1,3 + - 3,0,6,3 + - 8,0,9,3 + +- type: entity + parent: CP14ClothingSatchelBase + id: CP14ClothingSatchelLeather + name: leather satchel + description: You wear this on your back and put items into it. + components: + - type: Sprite + sprite: _CP14/Clothing/Back/Satchel/leather_satchel.rsi + state: icon + - type: Foldable + canFoldInsideContainer: true + unfoldVerbText: fold-flip-verb + foldVerbText: fold-flip-verb + - type: FoldableClothing + foldedEquippedPrefix: flipped + foldedHeldPrefix: flipped \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/essence.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/essence.yml new file mode 100644 index 0000000000..10ef00effc --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/essence.yml @@ -0,0 +1,76 @@ +- type: entity + abstract: true + id: CP14BaseEssence + categories: [ ForkFiltered ] + name: magic essence + description: Particles of magical energy polarised into a particular type of magic. Will be gone soon, so try to collect them as soon as possible! + components: + - type: Clickable + - type: Sprite + noRot: true + drawdepth: Mobs + sprite: _CP14/Objects/Specific/Thaumaturgy/essence.rsi + layers: + - state: small + shader: unshaded + - type: TimedDespawn + lifetime: 60 + - type: CanMoveInAir + - type: RandomWalk + minSpeed: 0.5 + maxSpeed: 1 + - type: Physics + bodyType: Dynamic + bodyStatus: InAir + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.25,0.25" + density: 20 + mask: + #- ItemMask # CP14 swap ItemMask to Impassable only + - Impassable + restitution: 0.3 # fite me + friction: 0.2 + +- type: entity + parent: CP14BaseEssence + id: CP14EssenceFire + name: fire essence + components: + - type: Sprite + color: "#d9741c" + +- type: entity + parent: CP14BaseEssence + id: CP14EssenceEarth + name: earth essence + components: + - type: Sprite + color: "#70533f" + +- type: entity + parent: CP14BaseEssence + id: CP14EssenceWater + name: water essence + components: + - type: Sprite + color: "#1c94d9" + +- type: entity + parent: CP14BaseEssence + id: CP14EssenceLight + name: light essence + components: + - type: Sprite + color: "#ba97b8" + +- type: entity + parent: CP14BaseEssence + id: CP14EssenceDarkness + name: darkness essence + components: + - type: Sprite + color: "#391c57" \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Tools/demiplane_keys.yml b/Resources/Prototypes/_CP14/Entities/Objects/Tools/demiplane_keys.yml index c80761a540..fb0c48608c 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Tools/demiplane_keys.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Tools/demiplane_keys.yml @@ -7,7 +7,7 @@ description: The core that connects the real world to the demiplane. Use it to open a temporary passage to the other world. components: - type: Item - size: Tiny + size: Normal - type: Sprite sprite: /Textures/_CP14/Structures/Dungeon/demiplan_rift_core.rsi layers: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Tools/flint.yml b/Resources/Prototypes/_CP14/Entities/Objects/Tools/flint.yml index 8d73e48a59..d413349ae4 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Tools/flint.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Tools/flint.yml @@ -2,7 +2,7 @@ parent: BaseItem id: CP14Lighter name: flint and steel - description: "Setting things on fire. Absolutely, 100% not from minecraft." # TODO: remove minecraft sprite and desc + description: Setting things on fire categories: [ ForkFiltered ] components: - type: Item diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml index a225fad3a4..cfad94a37a 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml @@ -390,12 +390,18 @@ name: cp14-loadout-general-back loadouts: - CP14ClothingBackpackLeather + - CP14ClothingSatchelLeather - type: loadout id: CP14ClothingBackpackLeather equipment: back: CP14ClothingBackpackLeather +- type: loadout + id: CP14ClothingSatchelLeather + equipment: + back: CP14ClothingSatchelLeather + # Trinkets - type: loadoutGroup @@ -415,7 +421,6 @@ - CP14ModularIronPickaxe - CP14Lighter - CP14Torch - - CP14DemiplaneKeyT1 - CP14FluteInstrument - CP14LyraInstrument - CP14ClothingBeltQuiver @@ -486,12 +491,6 @@ back: - CP14Torch -- type: loadout - id: CP14DemiplaneKeyT1 - storage: - back: - - CP14DemiplaneKeyT1 - - type: loadout id: CP14LyraInstrument storage: diff --git a/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/equipped-BACKPACK-goblin.png b/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/equipped-BACKPACK-goblin.png new file mode 100644 index 0000000000000000000000000000000000000000..670db2682e5cbae64069125fc718d752fa9fbd0b GIT binary patch literal 739 zcmV<90v!E`P)Px%ok>JNRCt{2+Rtm+U>FDRZ^|e_M>Gem2Fkz@NGSs`pu)hzE+St11G?S3?XrJi zf5I5O>~Gk*i^y)Hy9|forA(St4?@&P%mOH!-wu_%&41b!63mjWn~%#uO`d@Slm zxRqLJmm3)tvgrgWxs0bGcrHLCmtom-0wcphOYL%Aa~$mNx$XqlNmp_imX}i)jOTdw=`8Tc-_1o7c(i*u%;^k# zENc6LI7(cRWVRR}n@&J8Ow^m5P$$2z*oQ=c$HD%d?F;k3?f|t?ku3sihKY7h52fwz z(^9+K;x6>~*)go2-vOMh{GaUtSaAirM~Be5C%EX3p-zSyGx=qrz~kop6qkK_Q?p%w z%l;2YJ6(tZkBk1;b%N`r872VWTGws;-gW`5brpk$iQ54-(VwnlYr7=}`Lss}A%qY@ z2qA?0gBsOB*eL+;@nmRQ1^!;|zAIn;_%+~6ehah%Hl^*C(Gmz_(7$y;SWCe6Tj6yG zYtkFR&;6iLEg;ml)nO*ks1{JkWtbw#%uP`}FM&q2fVY~(_*fK}484YPJoYzUVB*yr z^=5}FtIlJ1D!|-J!b>tK%M@zt*&L9drB9j(w z&QBowf|yAM2Xo<8FK>qlBb2qA=QtzSV$ V{G9hKXi)$F002ovPDHLkV1lPfR_Oo$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/equipped-BACKPACK.png b/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000000000000000000000000000000000..905533424e7338c05f1a0aee24fc7c067b500927 GIT binary patch literal 1145 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 LNkvXXu0mjf$}%{= literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/inhand-left.png b/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..f905171fd0af864ad19ae6a744884fcde393509c GIT binary patch literal 793 zcmV+!1LpjRP)Px%(@8`@RCt{2no&#JP!z}il_A0)Z5~>UFriO%Wk$yN9#^A!D$+hk9$&wzkQsE^>ZPX_B6M@Bf~APm*&0 zhG7_nVHhSk72ObeUK7-I9ow3kZ8A1jmPJK3`W9ek0C&YZI&H)A zgB$0PdK#GkO+V}(%Z?}MTy*f!02&pwoqt%OdD> zA={wZW1f*%xkAZhhhB4RYiu#(eHGmh3+f!qQUNdKpW~u+3C|C(dvGp5GtSJ3oB3=%mBq+xK- z61crR2aF;;y@;VV_OJ1UA#H&^j*HLs3NJ$UbHTu&orR^ zxkx1DFvy|+&=XNCg0{!y(XH z5{GUhQ5!N0MxhLY>r2y7;00000NkvXXu0mjf()ekH literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/inhand-right.png b/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..57aae1140a6113c9b5e7b161a10f58644852d26c GIT binary patch literal 774 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 a75)Ht*YXre)h6r)?A zF49dM1cxq84(iasA?@I#f`gDn=~7%OajTYo1R-=1TU!!AFT8gWbJT{I(kkara$ab? z4-p*94-Vds=Y5_(&-1>|L5B_<{&yrdMwiB}8p-4cx9{ALK7YNuX9Nf2wtc-K%<;+5 zNojiOiBTvlGWX)Cqkl((;o*x0KqM^lXyO!OQ|}O)tB2akLua^uc8iDakE3e)qKd_N z+Zacj1hj&ynqcGgiW&UJ_it?zK096wd3X3F@BdD4{tA6Fyn;81+9CyzhWiZkOKuO&r zySz;>8bhy^&GRkMcGwEAirDS$r%_)gNQ|M;YfL_W&}Mh~@=d_%g*f;$Q* z7U!j4NH%u6`%%`G%=Jd~BY;_ZpTE~!1NLnbX_OD^=zld~TV}@$=rtj+wq%%drA*Kg zyd|WmRnV1R=~vd49D{?)KG5Rvl?%pTq>JmbH5&Ey^alE5a^oRN>K+r%Ub*(`>KR&z zXHw+GLkHG#<00ailvj7&1Z0=D$_HG&)<7s&*$$&SIR^aX)i9l-+{l4YXN~inV#?fJI$@%+Uzv9=m`%H z=yUfU@Fbv77c{ksIk%R-rYe;N4_gWpQ`$MDLdfFo40Y+e_y_SF8z7W$_gZece}50thP2~CV!$FsP7EoL-Sxqc)f1j zv-ABRxt>nHvkW(kCPU@tD+TB~gZTZs!98(V>?e6~IaE&KsjOqW(@SQ(Ubncq9_NaO zZE{!FYxc=+o`$2BUiXfdpn)A~$qG(mfHi}l9pPrTRSU_?O z^qoNr+b-;j`S9surr$%hVqM6t1L=+I&^*9fz|Ckv({3bhmLk>l{Qz$^PvR`YjjRm0 z4zxSH_=Vj9;P=c0!08?X@Vf70`rV8s08FOe07%F9^?zghZ#w``Gix~JF|O+;qVf7*Yye4f%N!*LIL*C*8x$qQWg&-evzfSkwsZmPgD9Qo=D^&$`r2A hXfzs)Mx*%;_yb>??;g)9)SmzV002ovPDHLkV1lrLDlPy3 delta 611 zcmV-p0-XK%1c?QZF@HlzL_t(&f$f*QYui8=ho3f0yrkCPTVge{A>bAd3FL!7hpy=d zcrcVg@m31`TMDIH=MG&8g;MBH2u%X*VC+I6vr)U82H65*ncxn|oh7-7iB6E^p2@zu z_w@U{cki797K_DVu~;k?izO#Fik`69YEQHJKD>Wd`11;zP=5*E-r6Jx1^^7hFfpd@ zc|fs7j3-jUH)=H;r>xu4CT_2;>b~Enr$8}Aj3#Kd+S83%Eg|yo=s0uy{_c+cJq$zo zo@Z<#cW|@So^Ee#0_WLQ!ljg%F+vCc8u#w%Hd7O~@&?8^JUZ6GqtW?loK42Me`&b{ zfb!Pq_SoOunSZO1JQx`Wf&q?GMoLLE3KOE^sP@rh%+hj68;RFNUT)?IsyFtgQu++T zkRTZFzC7eAp8F3TB{C*Ng>~2Ej$74jK`_YN<9~h6LrOo<_U-G(Tv~E%Ayu$K zR4)Gebhs-0W)GDM!DKp8j^Q&T-eK33%il5(CISS*#O|lOKyp5(Wq05Y}!gb;WLuzMZu$#dK zhVCNmS6DAfKiSyD`UzUv6&46=v=jUdRDFj4jJ{)9UqxJJS7d2b9ZO z+(}HO6TH0oxxqgFc57;1qUMWA>|Ic?RCVY2Y*xq1gMZ^t!*lBO23{TLo_V3A zb>!DK$I>3$yC12nKVN=*6I%LW#78BzC;8|HfG1D)-Sk$s8Cu5s(B881j)FLQ|1d<) z1hFE(KWe$r`Ft4mH@EiPLMZp?#?F4=(a2yt$%jMtw(ee#i8FngO=9u-g*CDqHi-( zOl>p2Q+U65xu}sJMl8=2OI0^y|7@E8fJ*rm0N}HoN@%&)M<)P)llpG}M&Zos5E(^r z(TxoTjCN;*LKc7Pe~tCws(ph6rJ1JXu3dKfolw7p4q|KC8YKy0O8Wfeq6Ha(ZfN89wds@}hl+?SP&$#G1B-ypcoR$e~_upyv!HIzmh9 z@LpTA+8rg+j~8x4-PmCMs|nMzE;yytZ6;!PPAmtUzCB(kma5Dg%|6H*xrvu>K_s<^ zCB?|7{yrrhgHON|K9MlJJ);G7KGt z@WboI2Fqkt-T56DEzW-Ui0?T=I0GB~{@FqqUloZNz#9!=EaIqFP2z^&jtGJbPY?t_ z5ClOG1VIo4K@bE%5ClOG1VIo4K@bE%5CkC=CI73bQqpG8b55_mxgAMwBhh?&P2Z-R@rtGq&E;IX%mLuP$FU;D%*~VRM9?_k~YgCrz6$7DkW`} zMNUV`BJ5EXTmj(fO61o!r%HTz^8qzCy;!QUsGqY2$?1r+E%W0&>AIn+ByEzC(@8?u zZxVA8ZdEC1v&eEfQqKXM!*lkk`+wMdApUz6Nt;K{9#8!8G6*fLLrd#;^emCKnan7V z;()z}d+z>Qm84CQZFdfb($pQLc~+&Q%`(a9NWY3uDQU9|ayn8Spi$x2Zn1)N z*=9jR(ne+5vmiABR7%<`i=2-1%Q%&iHp?KVGneaVm6A4#E~hisH$W;SZ7mj6PDjZr qNtKc|B&S0V1VIo4K@bFS$@v#~ZL@t|9IZA00000zIe?eY8vf0H*SJ(L|}8XXO;{a9NAU@j5Ug&E(n zEWCgBO49!0>^QAQ9nnVXv|;&7kSR zj4wnLbg7ww<;MOcuZroyOwS)^gb+A8dp_`c>B{v)a|qkX z16YMrJAXiK-*v~qq-_HLZrr>D0C@iFY3#VU3&pmo|MK-)+x>dQ_sYj1nRJG#8US*+v28tm-EmM^S$_={u{BAUYRtOR6KU(RM@EDcq z2Q=&ed*Uz}&1SG0UcY&}>p06A$H>8haDM$(aj#6c6(uc#u$^k~0fhv}?JIkyJ#iQS zf@DOIL6PobOc_K`bP3`ULxCx400#7g5KUobuLIJ(}fv7>$xem zpnuMXm`p~y?e<+^y83sc7lonZAiQn6c`K>Aj}9`*i;wosoe~kP_`M!{K;!oT-8{`Q z@LOmP#7>D|;0Ymw5JCtcgb+dqA%qY@2qA16I8ENKI@7MeuT27hP;XWem92g0Q9q-5T2rKFAP))GnD$e%b# zNgDvE0%6j3H)z+4i^HU(O+U-&WSW5GrI$lf`MhsR(q<6kbW&+Wbb|>=8=Z1GS)T!! zw;&UeHoE0>vLw^&hSf$aYaEldjU)C%a6L}a251E@`s@0nDu+>(6II_j)D`2%tb7H@ zmSIBDMz@?!mWp1Pw;+>}HiICilW77>O4A%qY@2qDBIe*x>0 Vog0BMG*SQn002ovPDHLkV1jd_EeHSr diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/inhand-right.png index 049d3fdfe0b2c5f16dc4d651cdd87bd2447056cb..1b2bd097772e6fd73effc1860689dd457be5be1f 100644 GIT binary patch delta 1332 zcmV-41}!gb;WLuzMZu$#dK zhVCNmS6DAfKiSyD`UzUv6&46=v=jUdRDFj4jJ{)9UqxJJS7d2b9ZO z+(}HO6TH0oxxqgFc57;1qUMWA>|Ic?RCVY2Y*xq1gMZ^t!*lBO23{TLo_V3A zb>!DK$I>3$yC12nKVN=*6I%LW#78BzC;8|HfG1D)-Sk$s8Cu5s(B881j)FLQ|1d<) z1hFE(KWe$r`Ft4mH@EiPLMZp?#?F4=(a2yt$%jMtw(ee#i8FngO=9u-g*CDqHi-( zOl>p2Q+U65xu}sJMl8=2OI0^y|7@E8fJ*rm0N}HoN@%&)M<)P)llpG}M&Zos5E(^r z(TxoTjCN;*LKc7Pe~tCws(ph6rJ1JXu3dKfolw7p4q|KC8YKy0O8Wfeq6Ha(ZfN89wds@}hl+?SP&$#G1B-ypcoR$e~_upyv!HIzmh9 z@LpTA+8rg+j~8x4-PmCMs|nMzE;yytZ6;!PPAmtUzCB(kma5Dg%|6H*xrvu>K_s<^ zCB?|7{yrrhgHON|K9MlJJ);G7KGt z@WboI2Fqkt-T56DEzW-Ui0?T=I0GB~{@FqqUloZNz#9!=EaIqFP2z^&jtGJbPY?t_ z5ClOG1VIo4K@bE%5ClOG1VIo4K@bE%5CkC=CI73bQqpG8b55_mxgAMwBhh?&P2Z-R@rtGq&E;IX%mLuP$FU;D%*~VRM9?_k~YgCrz6$7DkW`} zMNUV`BJ5EXTmj(fO61o!r%HTz^8qzCy;!QUsGqY2$?1r+E%W0&>AIn+ByEzC(@8?u zZxVA8ZdEC1v&eEfQqKXM!*lkk`+wMdApUz6Nt;K{9#8!8G6*fLLrd#;^emCKnan7V z;()z}d+z>Qm84CQZFdfb($pQLc~+&Q%`(a9NWY3uDQU9|ayn8Spi$x2Zn1)N z*=9jR(ne+5vmiABR7%<`i=2-1%Q%&iHp?KVGneaVm6A4#E~hisH$W;SZ7mj6PDjZr qNtKc|B&S0V1VIo4K@bFS$@v#~ZL@t|9IZA00000zIe?eY8vf0H*SJ(L|}8XXO;{a9NAU@j5Ug&E(n zEWCgBO49!0>^QAQ9nnVXv|;&7kSR zj4wnLbg7ww<;MOcuZroyOwS)^gb+A8dp_`c>B{v)a|qkX z16YMrJAXiK-*v~qq-_HLZrr>D0C@iFY3#VU3&pmo|MK-)+x>dQ_sYj1nRJG#8US*+v28tm-EmM^S$_={u{BAUYRtOR6KU(RM@EDcq z2Q=&ed*Uz}&1SG0UcY&}>p06A$H>8haDM$(aj#6c6(uc#u$^k~0fhv}?JIkyJ#iQS zf@DOIL6PobOc_K`bP3`ULxCx400#7g5KUobuLIJ(}fv7>$xem zpnuMXm`p~y?e<+^y83sc7lonZAiQn6c`K>Aj}9`*i;wosoe~kP_`M!{K;!oT-8{`Q z@LOmP#7>D|;0Ymw5JCtcgb+dqA%qY@2qA16I8ENKI@7MeuT27hP;XWem92g0Q9q-5T2rKFAP))GnD$e%b# zNgDvE0%6j3H)z+4i^HU(O+U-&WSW5GrI$lf`MhsR(q<6kbW&+Wbb|>=8=Z1GS)T!! zw;&UeHoE0>vLw^&hSf$aYaEldjU)C%a6L}a251E@`s@0nDu+>(6II_j)D`2%tb7H@ zmSIBDMz@?!mWp1Pw;+>}HiICilW77>O4A%qY@2qDBIe*x>0 Vog0BMG*SQn002ovPDHLkV1jd_EeHSr diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/meta.json index a034ae464a..194b4f885c 100644 --- a/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, - "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd (Github)", + "license": "All right reserved", + "copyright": "Created by TheShuEd (Github) & resprite omsoyk (discord)", "size": { "x": 48, "y": 48 diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/wielded-inhand-left.png index 049d3fdfe0b2c5f16dc4d651cdd87bd2447056cb..1b2bd097772e6fd73effc1860689dd457be5be1f 100644 GIT binary patch delta 1332 zcmV-41}!gb;WLuzMZu$#dK zhVCNmS6DAfKiSyD`UzUv6&46=v=jUdRDFj4jJ{)9UqxJJS7d2b9ZO z+(}HO6TH0oxxqgFc57;1qUMWA>|Ic?RCVY2Y*xq1gMZ^t!*lBO23{TLo_V3A zb>!DK$I>3$yC12nKVN=*6I%LW#78BzC;8|HfG1D)-Sk$s8Cu5s(B881j)FLQ|1d<) z1hFE(KWe$r`Ft4mH@EiPLMZp?#?F4=(a2yt$%jMtw(ee#i8FngO=9u-g*CDqHi-( zOl>p2Q+U65xu}sJMl8=2OI0^y|7@E8fJ*rm0N}HoN@%&)M<)P)llpG}M&Zos5E(^r z(TxoTjCN;*LKc7Pe~tCws(ph6rJ1JXu3dKfolw7p4q|KC8YKy0O8Wfeq6Ha(ZfN89wds@}hl+?SP&$#G1B-ypcoR$e~_upyv!HIzmh9 z@LpTA+8rg+j~8x4-PmCMs|nMzE;yytZ6;!PPAmtUzCB(kma5Dg%|6H*xrvu>K_s<^ zCB?|7{yrrhgHON|K9MlJJ);G7KGt z@WboI2Fqkt-T56DEzW-Ui0?T=I0GB~{@FqqUloZNz#9!=EaIqFP2z^&jtGJbPY?t_ z5ClOG1VIo4K@bE%5ClOG1VIo4K@bE%5CkC=CI73bQqpG8b55_mxgAMwBhh?&P2Z-R@rtGq&E;IX%mLuP$FU;D%*~VRM9?_k~YgCrz6$7DkW`} zMNUV`BJ5EXTmj(fO61o!r%HTz^8qzCy;!QUsGqY2$?1r+E%W0&>AIn+ByEzC(@8?u zZxVA8ZdEC1v&eEfQqKXM!*lkk`+wMdApUz6Nt;K{9#8!8G6*fLLrd#;^emCKnan7V z;()z}d+z>Qm84CQZFdfb($pQLc~+&Q%`(a9NWY3uDQU9|ayn8Spi$x2Zn1)N z*=9jR(ne+5vmiABR7%<`i=2-1%Q%&iHp?KVGneaVm6A4#E~hisH$W;SZ7mj6PDjZr qNtKc|B&S0V1VIo4K@bFS$@v#~ZL@t|9IZA00000zIe?eY8vf0H*SJ(L|}8XXO;{a9NAU@j5Ug&E(n zEWCgBO49!0>^QAQ9nnVXv|;&7kSR zj4wnLbg7ww<;MOcuZroyOwS)^gb+A8dp_`c>B{v)a|qkX z16YMrJAXiK-*v~qq-_HLZrr>D0C@iFY3#VU3&pmo|MK-)+x>dQ_sYj1nRJG#8US*+v28tm-EmM^S$_={u{BAUYRtOR6KU(RM@EDcq z2Q=&ed*Uz}&1SG0UcY&}>p06A$H>8haDM$(aj#6c6(uc#u$^k~0fhv}?JIkyJ#iQS zf@DOIL6PobOc_K`bP3`ULxCx400#7g5KUobuLIJ(}fv7>$xem zpnuMXm`p~y?e<+^y83sc7lonZAiQn6c`K>Aj}9`*i;wosoe~kP_`M!{K;!oT-8{`Q z@LOmP#7>D|;0Ymw5JCtcgb+dqA%qY@2qA16I8ENKI@7MeuT27hP;XWem92g0Q9q-5T2rKFAP))GnD$e%b# zNgDvE0%6j3H)z+4i^HU(O+U-&WSW5GrI$lf`MhsR(q<6kbW&+Wbb|>=8=Z1GS)T!! zw;&UeHoE0>vLw^&hSf$aYaEldjU)C%a6L}a251E@`s@0nDu+>(6II_j)D`2%tb7H@ zmSIBDMz@?!mWp1Pw;+>}HiICilW77>O4A%qY@2qDBIe*x>0 Vog0BMG*SQn002ovPDHLkV1jd_EeHSr diff --git a/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/Specific/Alchemy/cauldron.rsi/wielded-inhand-right.png index 049d3fdfe0b2c5f16dc4d651cdd87bd2447056cb..1b2bd097772e6fd73effc1860689dd457be5be1f 100644 GIT binary patch delta 1332 zcmV-41}!gb;WLuzMZu$#dK zhVCNmS6DAfKiSyD`UzUv6&46=v=jUdRDFj4jJ{)9UqxJJS7d2b9ZO z+(}HO6TH0oxxqgFc57;1qUMWA>|Ic?RCVY2Y*xq1gMZ^t!*lBO23{TLo_V3A zb>!DK$I>3$yC12nKVN=*6I%LW#78BzC;8|HfG1D)-Sk$s8Cu5s(B881j)FLQ|1d<) z1hFE(KWe$r`Ft4mH@EiPLMZp?#?F4=(a2yt$%jMtw(ee#i8FngO=9u-g*CDqHi-( zOl>p2Q+U65xu}sJMl8=2OI0^y|7@E8fJ*rm0N}HoN@%&)M<)P)llpG}M&Zos5E(^r z(TxoTjCN;*LKc7Pe~tCws(ph6rJ1JXu3dKfolw7p4q|KC8YKy0O8Wfeq6Ha(ZfN89wds@}hl+?SP&$#G1B-ypcoR$e~_upyv!HIzmh9 z@LpTA+8rg+j~8x4-PmCMs|nMzE;yytZ6;!PPAmtUzCB(kma5Dg%|6H*xrvu>K_s<^ zCB?|7{yrrhgHON|K9MlJJ);G7KGt z@WboI2Fqkt-T56DEzW-Ui0?T=I0GB~{@FqqUloZNz#9!=EaIqFP2z^&jtGJbPY?t_ z5ClOG1VIo4K@bE%5ClOG1VIo4K@bE%5CkC=CI73bQqpG8b55_mxgAMwBhh?&P2Z-R@rtGq&E;IX%mLuP$FU;D%*~VRM9?_k~YgCrz6$7DkW`} zMNUV`BJ5EXTmj(fO61o!r%HTz^8qzCy;!QUsGqY2$?1r+E%W0&>AIn+ByEzC(@8?u zZxVA8ZdEC1v&eEfQqKXM!*lkk`+wMdApUz6Nt;K{9#8!8G6*fLLrd#;^emCKnan7V z;()z}d+z>Qm84CQZFdfb($pQLc~+&Q%`(a9NWY3uDQU9|ayn8Spi$x2Zn1)N z*=9jR(ne+5vmiABR7%<`i=2-1%Q%&iHp?KVGneaVm6A4#E~hisH$W;SZ7mj6PDjZr qNtKc|B&S0V1VIo4K@bFS$@v#~ZL@t|9IZA00000zIe?eY8vf0H*SJ(L|}8XXO;{a9NAU@j5Ug&E(n zEWCgBO49!0>^QAQ9nnVXv|;&7kSR zj4wnLbg7ww<;MOcuZroyOwS)^gb+A8dp_`c>B{v)a|qkX z16YMrJAXiK-*v~qq-_HLZrr>D0C@iFY3#VU3&pmo|MK-)+x>dQ_sYj1nRJG#8US*+v28tm-EmM^S$_={u{BAUYRtOR6KU(RM@EDcq z2Q=&ed*Uz}&1SG0UcY&}>p06A$H>8haDM$(aj#6c6(uc#u$^k~0fhv}?JIkyJ#iQS zf@DOIL6PobOc_K`bP3`ULxCx400#7g5KUobuLIJ(}fv7>$xem zpnuMXm`p~y?e<+^y83sc7lonZAiQn6c`K>Aj}9`*i;wosoe~kP_`M!{K;!oT-8{`Q z@LOmP#7>D|;0Ymw5JCtcgb+dqA%qY@2qA16I8ENKI@7MeuT27hP;XWem92g0Q9q-5T2rKFAP))GnD$e%b# zNgDvE0%6j3H)z+4i^HU(O+U-&WSW5GrI$lf`MhsR(q<6kbW&+Wbb|>=8=Z1GS)T!! zw;&UeHoE0>vLw^&hSf$aYaEldjU)C%a6L}a251E@`s@0nDu+>(6II_j)D`2%tb7H@ zmSIBDMz@?!mWp1Pw;+>}HiICilW77>O4A%qY@2qDBIe*x>0 Vog0BMG*SQn002ovPDHLkV1jd_EeHSr diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/blank.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/blank.png deleted file mode 100644 index 7ee468b5b2fdf9da8e96f7d4cee4e9564250feb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmVPx$u1Q2eR9J=WRxxVBKoHyngC!)P%A|B-aJtlafgx>P;78;YencRx3F!jy2U4X- z7lRr#HbR9ll8_Asr7)+gclUg!#33m(AjGY1cZSv6N&qcd{4vgS4<_SLbxNYU`xlW* z3{J+Qs^8;rCky}pV6)DwiB--#%0v+?K*?2srl2C7Fc3v_Xrdyg#IEN)h)zDQUW zIU_tKNGl*t0fvLGWR*zo5}Yuo1&V@Fo~!M^K_Y;*Fc!2~X9sKA1<6-T04=VHtQJeL zu;dZkEhh}>dz>~DU?Q@~!)vJn=QI$f&5qem!2~FkScL2O^>u29r+|u}#!^Sp1T1*9 zST^^71m$#WE^JnvaEV+L(C^tBPVLi~4r3VZ$1w%-z;D884#eqR?J-a@+W0{SqX*~& zq|?p@$6l#cfHD@IfVM=sv27(leTZ}h!vq+ZOh+u$VkVr<=Ei|j7CF02a6KQUvpI{i z4n#=_kI(OLdvj$h+5`_zZxAIVi;KTx*O!B8aN*W#ue;Y-YToy!0000c$Ro@IaJ`_yQ@fUR93-aa_<+(37N&d<-W1*l0n#!N&H#RcLt!b@0 z#giCoE!jC$on=Nxpv#GZB3*T^HCn~TrPs7PaX+X5aR8GO1B1ui4uu|p9hpGqF?hQA KxvXbw7}OI0KbP6}W07g^wLc4Rgi*WW3D8EkB9ZM!7hH72P`DyVC) uv7M>$U1eh>akheg;ohKbLh*2~7YD*jbPO diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/pickaxe.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/pickaxe.png deleted file mode 100644 index 311a7e82d7c6f3a0eb40bee109b383c0f2e7b76e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}yF6VSLn2y} z6C_v{Cy4YkF|zd>(YR%+_|V?0@Ol%g%gg0A7^g{TMaW*5lIXnA+2h&@P36z=4eiW_ z6`xo&b%yZv2HxUntvkgdzwb{&_tmo&O~$i07&kTNh0gq4&&I~q_A519GC|SF(_;c} z*wmf>uTPoyGk@j6PxphIpW5$KbPRRBaF_8#pMt80hhIy}fp&d+iC1Yd3%6}N!uTXW zLPA`@GUPx#{z*hZR9J=WlPeCwKoms}1c5++gj80Pu!1I7!X8jaBnkgg!T`7ny(j74$F4Z7XY)( z5rFxi13;tI1mJeLqVm1*T04wJ(<+O|i>IqS0EwkK^lG@LvVwnkAj-d?9QnebIIt(RLgm*E5YTtc2=vowrylKg9!d W0<6idiV7G20000E{041 diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sickle.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sickle.png deleted file mode 100644 index 807bf0a7b47fd3347738aa85ff9ac55fee76f0cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 411 zcmV;M0c8G(P)Px$RY^oaR9J=Wlr3(hvx zb+l$&Bv9qaptAez%itN25OO*hdr9105}XyaaZMHZJe@|I2#2!+Rh~#LSm&@=4Z0Bt zApu}I85_G`70|<*w(F~-09UJNk82iKXrieSRZI`zCcnxP83{4?zZX@Wu;C=8-!tuV z3EY?#vZ6-Qc2+^-qPD(YFO2(~r$Bw@MALT2iu&6Lpnd9zu@yiV2ZP%7yt`wkTOGc` zX4PNoL%Uxu@bL6z%y9~E6I`aTe0=?Y?Tq_`TLsh*s!;7jnZ^Dw(S~+ph%t%wM^%DUs98vgClvx~HYaeFh*P@=H@# zx1HBu(qjg1-l_lP_x(u#fgS&za4K&sy1{T#u|Z~iZ{RJL(+`B)*`3{gMkWw2j3_1(p~A#9)eDaI{d zYy$!A7aUY~FJ;)=6S6bVfXnTmh5`%2ZSln~{{Qq} Q4D=U+r>mdKI;Vst0BF-|bpQYW diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/throwable_spear.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/throwable_spear.png deleted file mode 100644 index ee65b805dc2b3d69e1a99d4ab4150e7dd84269e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J)SO(ArY;~ z2@^pik)U+#(=JK(70dV}4TKh-2y%Y< zzg^#60tD9CS2hLnZ+ta@@t}Z1-}z%2xm{N$vYMo({L4OdLZBx&>8c{LSdz%W8j)*X zTeM!eG2TqrqOfS1Rf<8BfFP?I_o6@pF1Ldk3se~x9Qi7k=L84k1Kq{o>FVdQ&MBb@ E0I7UOr~m)} diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/two_handed_sword.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/two_handed_sword.png deleted file mode 100644 index 38a818c8fa751585857288b1ac1aafb4d9227be6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}%RF5iLn2y} z6C_v{Cy4YkF|ze+F(~=o((?btkyviAgd4}5xVvAc$tXtghsrqg9Br*T#dAFW&Ow3Y z8e9dDe;%IZ7pY60V&)ui-EU3V#HS2FI%x?B2Qn>B@-0|)RK>DEOicJGLsV4Hb;d6n zB-S(Qn1%#!2}MQlFjt&rgbC|Mgg*NhAMEz*|0<*J|5u;7vvJz%lENbm5jI?I2Q?&E bzpydfpOBfy&e)+0bTNactDnm{r-UW|q{UZL diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/essence.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/essence.rsi/meta.json new file mode 100644 index 0000000000..4ea98bd5e8 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/essence.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Created by TheShuEd (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "small", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/essence.rsi/small.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/essence.rsi/small.png new file mode 100644 index 0000000000000000000000000000000000000000..90bdd474914968477ad73508403f15d1d0a8dfce GIT binary patch literal 3929 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 L=29in?csj`%SU#7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Tools/flint.rsi/icon.png b/Resources/Textures/_CP14/Objects/Tools/flint.rsi/icon.png index f3b04643fa9a1010cabea9dfb6e9ea51df31780e..485c0acaa0920d7d3869b546e5be8812b8a02d46 100644 GIT binary patch delta 252 zcmVs`dfp@U+E_wwI zBG}t4LGiz_5G*2*Tw$#eL{K-ZcJr#;WoEv|G9U24ta delta 375 zcmV--0f_#j0-ghqFnJZ6}1I0Gq&69^BhGHfA2u2)A>~&q--3GMjQkI z27>_>iv`x}HF=)L?RFcjRtvk`4)^Xb2wW}~?Du=V z-EJ@G$B($K%W&iIn6oV7Ua!ZF<8Y(VkcvXNgmD~WKA)p3O8|iH`)D?swM8fk$nzZM z^BJ~nqucGG-|vH{egeu_2_d*FOPo$87{=FouGi~(IsgEcWwB*hFZ-M{8ja@dd;)uk VbV7ZzG+zJ!002ovPDHLkV1nY>tK|Ry diff --git a/Resources/Textures/_CP14/Objects/Tools/flint.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Tools/flint.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc802ab71bc759aa8356fe6f95dab30897c9100 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|=6Jd|hE&XX zd-EV~lY;>3g`*KXA`Z;aY!{W@F!|m4=(Ol=g$diPgM3#e#EO2tS6f%7wtG1zBT!?* z{mW&4=V(_?RyIk0cx980!q(rpJgK4UlUJsOp8tI}Q8pE%3aIYrt#$L0h4;rk&RxBO z@A;G(#=`|(vOhy|k}`JJeRQpwz3YNWTz96=++VkT7U@ho^Y^Iuk1wm485-mdKI;Vst05r;3s{jB1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Objects/Tools/flint.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Tools/flint.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..428f172fb1dc389f9f782e7bc25ea6c7043b4876 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|W_!9ghE&XX zd-FVRlYt0(f(ak9pYxM_&j|HQ6qg`IjX^N7ZQyF13#{(&XGq?6;R**DoetYK=Q?~Sf2g%SG=gCnVJ1vmV~r`+Vw?f2NwXWWS6Ok zwD5gM#q+cYfQ_@CjDAg;J`P2;_{@$5!0T6?08Gz)0H8_)@kiX~se-ZJA8|AO`JGhm z3RzQs#LY9`bAOU*KZ!t`DiNfpq^Wb{ab_HZY8=L1twiQuNLjuK4vM0ZCVQ#_aCmY| zA`mBcv=6|`#u(GPKa6z%ZF^oSx6~b|Y{=bs_qsf&e?C$F=&@1!TI~9fMM_{bvxN6a zEo~3GZ^T>Otw!go`zz8#O$(IbbNYd+Dcr{E@{kC`*>cORNsS*QFQK+QuNNL_-0{~XmuF!kVQ8&dQ$>`(bXadfJ7k9Qhpu4kcc*f8Ce*R?j9t+g1cy}Zx>#d v$2gK`wfW-zg-~-$gqmZPf6F#DHuslHZ+@*Kq65v-00000NkvXXu0mjfOYZe! delta 212 zcmV;_04x8W1pEPzFn<8HNkl1!y{{;z% zIPHQD$2|bE={!hc6dK+IpD!o!%=dj0hKSRqUTaxYnkHV;#7(P+(=_o~7L_*jx_2Lj zF+%spHRe1{AkRF>coHqpyM&(#2;n6RUIDx&2w$Gzy9f{zZWxAP`~**rfIpk$Rdy-> O0000XGPuoBceU3P!5q1s@B!@O&RS`6%;!qG(df?U% zwf}$v;+IuD^dGe9$DtBZi&~K!5F`bmDtsMm;vC|jkeho*XEkf@I+#-R&?iOOcz5Q# znH|rrfqx7mt-<3*Ps617uirkV@;Q-~uu{1<#zI~{PLNgr5r0Psr=|*H1gHh+gv1`I zh&k!j*7roZT5Uy)I~`w)4-bDrB}DqOP+bj|9y${7IKpwL)m9`S^+pqWtxdrz22pZS zd{f{VkRl#j|035`bp$AkbWDs2X zsYsK=1edaJUX+=#?Swj&e-m!^2xZ#|Gtr5SwRLUU{*;jFjKf%{u7l137ODV7 zMFL#C@N}SpB=X(87V10Oq6Q`aAa7;ic4b2{AR%eQ@PD^J6*Y18g5f9w^v)l&_p!9N zj8bu0+w-{~6?BB1jt|#6M}22o^om|Egi*Gg@NV&rSV)cL<&zfxu5m4r*{D4 zMs@0)$(_)&Ow8Hy=mkT3{xWJv)yjRzA=QWuyL&C^f9voEfYE!Ox3VxT6aAns=3}kc zw9Ma&Mt^%m4!Faps3;kSb*mtVRZyM;3a3S`vAM|4)lA^c@c;)j(B?S21u>l|iW`89^UG=6VrUG`mN5mxykVOD_YhH4Y zRtS%nh#7}~@~T|6osiPRFDtrhS`-v5C(h+2#lCZBzYCZ_NJ6;ds2D!SiGAZ zxDLR#?~;S)Q1_o49!|kseIIsrJBp+llVCGG?S0|xyZ1h404`s;=xq0iSU<`Oi}6?( zQV8<^jGh*(K7L{)l2UdQ5JGr`)E1c%`l7tB7+*MlPM5i|we1Bq>$OxHKrl3%YEwd` znQ7f-N}NbeD1U@`Uc7o^flc7AqlOa>P(NxgFqpH1RG!M#wk4q=1MSrV7Q9)nbp#$K z1_pDwGC~L~p{kJeP3#98S{3tc89)|5$|?W{(IHaGzQL0cQc8V;D`vJ>nvE44;M&zI zeTAD6cW&PT&=SScY^=9nKZL$gNi!Zje9#m4?!Ehf{SDcV zBF)GJ0bAQUEde0}Vg8Jk0GuK!Q6bEygy!bUx^MKf{W^aB^0k#W7X(CyUy)L_1yo0) z*#xjAjDLlpPUgB%&99^>kpu&pA!W5K&>GN|08%1mxT>?hvFRPFz$&kT1Ga!!A~TeX z3Kz(Psc_{{bF~1pUI?ayPsAtW1G>N_e5bOONqr65gR0hw%;Y|hPtsR0FwO(6DyT@7 z)+OPpiVJM69vtTZHNX@x6Db+rHuzTSJ4snbGHg`^Gh7wvC0t;&`jmiA;!i|;D>mUy z0f33|sd(sAdf&UrbULuse^lA~{4vGzJ_Txmt0LV_#%AnP)-n_0Q{I15DI+yFY3tjX lPT=F@^;V!;!vE2)_zg@apMq(Uwrl_Z002ovPDHLkV1i}qVvGO) diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq1.png b/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq1.png index 4ac6b8c58f26d37fb2a7a9c9ebb641ba18cfbb3c..71ae8da9d0c771755c31cf8ae0427df47f2b7331 100644 GIT binary patch delta 150 zcmV;H0BQfG0lxu|F@JeUL_t(oh3(PJ3Bxc9hT*px#68sGcy?`}72JcB4V05h$tej9 zy?hS{3_?H1AR;1v_PAPTW?5?mp!ZH|?Q*ZfMnt-MPW$)F-!k0YbH=w3ks~5AGtKO? z%+bE5&o&|wpezdjv97#(2jEpJ&rCqGEQc93s>+GNBBLZNKYY<_VOPH zf~X%55fS;>wYz9$Y^?zRA_Bel?OV%6Cf%LWyPxwT&)uD~s*%Z&Ns=_PC(Mx$RSodT eLlF@XIpqfO5ope#pjTZ00000SdT~gW=SyIYGG+gFB8vZf{)>;4n zGs9Yo=QPzd%nT9f_Kci;8woFC5rOxK@cFl1X%wzxn002ovPDHLkV1oTk BSlR#p delta 189 zcmV;u07C!p0pD4kY36NW(qUAGle|@myiwU2~^TU zQPotc{EY#ebI$!E5vk8qwTehRHB?orst%!BDKCv|rBqd&Zss~0eh&de1OPBI z5D{+6($AO~a?Zn@ncA0`@V3r5gPDi@vhM)Un_1Tt%nUOF05-%J-)2lX{(I9#el%P6 rmJ|#{>sOmb#M1KSTz|2UJyjsO5vMb~wQYi=SUCL;ETh}fL7y;9>M zVjmG_=7orv88a_TF|*A%x3kB@bxWLxkV|Q?+U^+R(-;7Nh+r_J1OS*+TaD8ODw8Vu zz6XGXXfCB03?U%Kh#{p#-f5WG-i^V`TC3M`wqAeO$l5Yip}K(8%-*`Ezf9c^z0dk9 h-_LOz$8nrra06d^3_>0Xro{jN002ovPDHLkV1hs1Xj=dP diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq4.png b/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq4.png index e435564e4ffcb40c2e17ddb944209bd19193c74a..c93b1c9fe1a74fa30d9698fc8ae8f51f7564efdf 100644 GIT binary patch delta 227 zcmV<90382^0*nHXF@MHML_t(oh3%2S4Z|P|MSr^lBd|p>JDI{B!99c#oRg7@AZk)o z>cQ`Xf|K_kKoA5sAR<*&-D_2Yi1cT|Qi__?3-?;zBKp0r#l6%sin8Yxw%2<9X8gzd zt3HE>T7=DBj_{|mbtz>k9sLSFZ|{#>&sl_sfSHj}f{0*QmR#Z7wrv1_mq=R!X!Fbr z5t$zLadry;kWvBw0A d5ClQ+R~((oW+-@c7cu|<002ovPDHLkV1hESWa|I` delta 222 zcmV<403rX30*3;SF@M2HL_t(oh3%5d5rZ%cL^o-|CC~-bZmN(<*c@;P%1Iu>m`})L zCI`I}gM{~40tkX2xPge6nb}f`IU-^|3(Ps2hqi%BDJzL>?d#xeXiHDZ-@DjS%Kgc- zhi^xHgosoL@4Y4AANx&n&by(#RkZy_0?)kyNvJAPN+5}G99O%2^E?9pUSxd+Q2SLC zBtITNrQP+}Khayo+4+x8L;xVA1OOO@VO3XE0I0W}rs>kzmj!x4E<^HiU=RdB5Cnh6 Y8(Yka)`Ao5bpQYW07*qoM6N<$f^6|&y#N3J diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq5.png b/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq5.png index a3acd94dcaeb7cb384a6277457a2b18f4ee9b98f..2f9541767aa8f1e4edd7f146d53c33fa8b134967 100644 GIT binary patch delta 254 zcmV}1(*i`4N7?Fj%d#x1Nt9BxtZS{9Qg>SI@3$L5JW|U05)rA^jZ5pm{#ghCecx9fF6%MIRmUQ- z>Utck07*qoM6N<$ Ef}TQir2qf` delta 223 zcmV<503iRT0*C^TF@M5IL_t(oh3%6)4udcZgG^M zsw(-DkWhep&rbvhg5cj^W)Ts2=Ugul5oQ)5lG}ySftjmZ#ojxo#X6}65p~7-%r?Z# z$AVb7tyw4ALt9a~hB_R8h-#JIv@PqpZkn*6dah@0F{QM*e^`wp=6QAl=TeYM0RRlc zP}l7@cF(WS>G!I)ReL||{r@i;1eTnPjK(=;Kagk@Py?-c|=5Cp+b Z`2d178ZlaIS;+tZ002ovPDHLkV1gL@X9)lR diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq6.png b/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_vat.rsi/liq6.png index ad0b606b9dd06ba6a8949aa277736c8358270dfa..08aa64f5783c0f6a2a8c05f63dd51d0cce059b59 100644 GIT binary patch delta 309 zcmV-50m}Z70^9Cj|Q5|t29v2cEt4SyaoA%&$#?re)Zl{}#w z+if6UA|f8;)DeF7HUqO#=Yny@xS| zMZEXLJZmig;28p+OIkImYm)c+bN!^Kj9Y8}Ov!uCosZ*Kto3zIr}KpC<;w4_W~NpY z0Os4=JnoNb{x0qx#dMwkplC=Ioo_R1ek-gfilQir@^APBn0ueFyY5iH00000NkvXX Hu0mjfI0ub| delta 233 zcmVOW1CFhu*`CUw%s4 jhWPx#yoloNm(n~`i^Tj00`Lt05-F} zalfu@`1W#pId$lJR(-4n(BVQh5VC2*gQzsVik@k~@^Dq5@8Ou$ZE&1c004OwrtQoJ z$P0xyt+1L8+TgrUR^fo=r|(UPMGhL`47V4%y#Nj=;tyN&o-=07*qoM6N<$f)U_;=>Px# diff --git a/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/Spreader.rsi/spreader.png b/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/Spreader.rsi/spreader.png deleted file mode 100644 index 8690e6da04f5d5402f2364ff2015173151ef5bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 682 zcmV;b0#*HqP)Px%WJyFpR9J=WmA_9DVHn3hJ?T~q)Pt(}hS_Y`8R`gJ~GbLI*15%mHm$7@)D&?bLH9ccG#7PD`BL&-C2g^E~hO zeSYLXAP@)y0)ap<0CVMxF;~tQgXEB|O3c49G)VB5{MY|0z$|xuX3+&uRo#8RJK?Wd zFkJg?*+;p!A*mXYs&SNy8@+t4RKVDqW#i%jsicfNwTnEpODZXM9d7zwser2Lrc^m$ zJsfobq^9Rl8ahftCpA3}z$ z*H9Wdhp`1H6m4@mTbHM=jj?f^>WjDwIven)@`KsQTL6?QCln`#xD#G>L1zf7svF+F zvd!>gn&T4h5&u6td8|6LMMtRTjJFC@=Rw8h2cV=Qcy=Ir*UVzfjSv|k4xrV)V zJe8CQKlE5Ja{1V*P(N&kFp}BoDxuQQQBRwf{M6GXN<;4(D-Z|-0zof+1Ey*IU^tTm QJpcdz07*qoM6N<$g4$j{1ONa4 diff --git a/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/analyzer.png b/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/analyzer.png new file mode 100644 index 0000000000000000000000000000000000000000..0f94b007e40a9767153277e61d10f02fc00c4d3f GIT binary patch literal 674 zcmV;T0$u%yP)Px%TuDShR9J=Wl)Xz^Q5c7xTPiLtO+nI-LWM$81wXJ$C#fK@1&2C!sB|hFHGe>L zGmsF(E`kUtf{Mio2CqT`1#yTeF``un+!|v(D!CHKPziWD*n2c>n#3k_I?r@C@7M3X z?|lzQBoc{4B9TaHV8#_RW?Vs|mK-sA>V$TBjJ#p_m!ikrT570_Tk zL5t+^%nd65$LC$dQUzkE0>|fF0C?tx6)lp#98J9hth<~>E~6JE&Si9hN38^pTFGVf zBB8mA&brH4RTruf5ZKBy<#8}Q(JAiYKeUqP>4{FJJPra|`D#*Ew*^Y`AS<&g+`rRM zbbs~BO*Z`t#8L&6=0RYiV(zLskVtE+g?i|7s|s9ffTOXWwvKMvI=XQ*_KQvEbF0c) zsE0&aE1&c_0)C&r#csprRoLAQv%4L}=T)%SZNhH;2Xzr(uGG$9Se*Uivsmml7Uz3e zobSbAx8Wb375+Pi;iA}bRD7`>-g|5SI2!wD>1+bP`2GPcd&(QvK4BU*0X`ZagZ zB6;@DRss0>ZL@5RiXBkjJq2L@Y*n;;%r^ue-T{Cy-;l7I#m(4qRNR7t;0B@PSLlhP zn6sWpvJ~A@mZE#YPfsL`#ra-gx7clL`WI>!5K9%9eBr^_ZWU`-YRA29m1mEdM2s3u z<7~H96i{&luit+vnqe$eK+B%~;iqL!#W?;JE0IVf5=kk30!R)NVTaGTo&W#<07*qo IM6N<$g2(nW3;+NC literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/crystal.png b/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..b8d7354cdc82e140ce8e72c595b03c22cf4292a9 GIT binary patch literal 554 zcmV+_0@eMAP)Px$MIRH!4Ou*a$pz=#+E_cM0|ncuBep zFGU0%>e8{x3n^MDs9n4XUCe_rG<=(oubbj!NK@xXD4q_omuZpDvjq`6A9xS%_xZlx z@8@}*FT9}9Xf*#jqhmQy&-dr*ZNB#MH4g`#*DO)9!01>`e9vqEU}s7-OVlJ#-8?$@ zfL2!#J5$1ZG_Ne7EReqWR4mU<{t_=6S!QNGC`%{_n77{w>+25yR`Sa<#I7*)#Kd>4 z6M)Z0bBw%8D_w`7(tKvi0-*nH9{}U;Ujfi4!USVp>`ckY55~N_cr$cn{RUZqO3~|q z8>G!aQlTV`B23xH(&{SW&bf$OayhwHmCT=zK7o7T$D(Xx$$zr}*gHHR6-rXr-v!`S zM}qO~X=fe4+FUrZzVr;7Z!es9_j`PpUnXd~*y1#=h*cgLqy<)UOZYE0({tg@iFmiS z+u8Z*?uu+Vb%AOE?jUe{3a9aVe5682b_$=Qu2*^pt<42v@9;nX^fuoo;69G8m)40l zMWG0JZ0Vy{766=GErI|@g_0~4*8m)eczcv*ABUxfTRQP~bhKR+evi+&l6aF^^S?%< sD66SM}cBdxB#r2qf` literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/Spreader.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/meta.json similarity index 67% rename from Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/Spreader.rsi/meta.json rename to Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/meta.json index 573988accd..52b5c7d622 100644 --- a/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/Spreader.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Specific/Thaumaturgy/demiplane_analyzer.rsi/meta.json @@ -1,14 +1,14 @@ { "version": 1, "license": "All right reserved", - "copyright": "Created by Jaraten (discord/github) ", + "copyright": "Created by TheShuEd (github) ", "size": { "x": 32, "y": 48 }, "states": [ { - "name": "spreader" + "name": "analyzer" }, { "name": "crystal" From b2a20da722d68ba9e3fc73c6ed763b842cdf42bf Mon Sep 17 00:00:00 2001 From: Ed Date: Sun, 2 Feb 2025 13:07:50 +0300 Subject: [PATCH 06/27] some sprite patch --- .../Back/Satchel/leather_satchel.rsi/icon.png | Bin 677 -> 680 bytes .../commandant_cape.rsi/equipped-CLOAK.png | Bin 1347 -> 1348 bytes .../equipped-CLOAK.png | Bin 1483 -> 1690 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Back/Satchel/leather_satchel.rsi/icon.png index dd3c472cd02efe17c99a214347c4bb9d7e2b7e96..bbec63fdeb959352e5884867a8ae5edb51d66f4b 100644 GIT binary patch delta 643 zcmV-}0(||Y1*ip(Fn<69XF*Lt006O%3;baP0006wNklBjE6vuz+Aj<@V z2*fzVXfU#eI7^!h?GietQ-^$}eu1w23>~v}N*8B}Yf5Td$Hc_Q#2f-+#fv(`PdT4u z+09g_e;|}~X=9f6G?{AbG;Gnd_aebe%_v}`|wrNy@ zBf3$lk|BIPBJeYc^3PNj+1tQ-a$g9fS}?h z(>P|RB8DpB>gJxSn|rQ%A@$R9>Zj*i_rkQ^rWhFq)_)${%(?^>Khf=zPI&kJBfZ-$ z0B0Z0`11KvW_QQ|l(~_LX|`KdqZ%Yd$65FmWI9l=?bJHI>{0Vec&9yqtPVt`s2k(-&Wd`4KV&n912hz~7=LM?1h~Vj*)7 zqZ9PMnJG#yiPZdYHd|@A$;t_gfB8$vOTJ~xmVbgj1_&=}Pfg*10000EWmrjOO-%qQ d00008000000002eQ-B$E%REAy_x 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 Hu0mjf9&XCG From 445fd1e1b9745711029ca605a727aca3cb98139b Mon Sep 17 00:00:00 2001 From: Ed Date: Sun, 2 Feb 2025 13:23:57 +0300 Subject: [PATCH 07/27] Update CP14ModularCraftPartPrototype.cs --- .../ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs b/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs index d35e9895df..8d91214999 100644 --- a/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs +++ b/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs @@ -20,7 +20,7 @@ public sealed partial class CP14ModularCraftPartPrototype : IPrototype public EntProtoId? SourcePart; [DataField] - public float DestroyProb = 0.25f; + public float DestroyProb = 0.0f; [DataField(serverOnly: true)] public List Modifiers = new(); From 3437830a78552e3736c792df4d517324d118a31f Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 2 Feb 2025 15:24:34 +0300 Subject: [PATCH 08/27] admin demiplanes catcher (#835) --- .../CP14DemiplanSystem.Generation.cs | 42 ++++++++++++++----- .../CP14DemiplaneAdminSystem.cs | 30 +++++++++++++ .../CP14DemiplaneRiftCatcherComponent.cs | 9 ++++ 3 files changed, 71 insertions(+), 10 deletions(-) create mode 100644 Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneAdminSystem.cs create mode 100644 Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneRiftCatcherComponent.cs diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs index 0ad31f8a04..2f13363d4e 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs @@ -110,11 +110,11 @@ public sealed partial class CP14DemiplaneSystem /// /// Generates a new random demiplane based on the specified parameters /// - public void SpawnRandomDemiplane(ProtoId location, List> modifiers, out Entity demiplan, out MapId mapId) + public void SpawnRandomDemiplane(ProtoId location, List> modifiers, out Entity? demiplane, out MapId mapId) { var mapUid = _mapSystem.CreateMap(out mapId, runMapInit: false); var demiComp = EntityManager.EnsureComponent(mapUid); - demiplan = (mapUid, demiComp); + demiplane = (mapUid, demiComp); var cancelToken = new CancellationTokenSource(); var job = new CP14SpawnRandomDemiplaneJob( @@ -139,27 +139,43 @@ public sealed partial class CP14DemiplaneSystem private void GeneratorUsedInHand(Entity generator, ref UseInHandEvent args) { - if (generator.Comp.Location is null) - return; - + //block the opening of demiplanes after the end of a round if (_gameTicker.RunLevel != GameRunLevel.InRound) { _popup.PopupEntity(Loc.GetString("cp14-demiplan-cannot-open-end-round"), generator, args.User); return; } - //We cant open demiplan in another demiplan or if parent is not Map + //We cant open demiplane in another demiplane or if parent is not Map if (HasComp(Transform(generator).MapUid) || !HasComp(_transform.GetParentUid(args.User))) { _popup.PopupEntity(Loc.GetString("cp14-demiplan-cannot-open", ("name", MetaData(generator).EntityName)), generator, args.User); return; } - SpawnRandomDemiplane(generator.Comp.Location.Value, generator.Comp.SelectedModifiers, out var demiplane, out var mapId); + if (generator.Comp.Location is null) + return; + + //an attempt to open demiplanes can be intercepted by other systems that substitute a map instead of generating the planned demiplane. + Entity? demiplane = null; + var ev = new CP14DemiplaneGenerationCatchAttemptEvent(); + RaiseLocalEvent(ev); + + if (ev.Demiplane is null) + { + SpawnRandomDemiplane(generator.Comp.Location.Value, generator.Comp.SelectedModifiers, out demiplane, out var mapId); + } + else + { + demiplane = ev.Demiplane; + } _statistic.TrackAdd(generator.Comp.Statistic, 1); + if (demiplane is null) + return; + //Admin log needed - EnsureComp(demiplane); + EnsureComp(demiplane.Value); //Ура, щиткод и магические переменные! var tempRift = EntityManager.Spawn("CP14DemiplaneTimedRadiusPassway"); @@ -169,8 +185,8 @@ public sealed partial class CP14DemiplaneSystem var connection = EnsureComp(tempRift); var connection2 = EnsureComp(tempRift2); - AddDemiplanRandomExitPoint(demiplane, (tempRift, connection)); - AddDemiplanRandomExitPoint(demiplane, (tempRift2, connection2)); + AddDemiplanRandomExitPoint(demiplane.Value, (tempRift, connection)); + AddDemiplanRandomExitPoint(demiplane.Value, (tempRift2, connection2)); #if !DEBUG QueueDel(generator); //wtf its crash debug build! @@ -370,3 +386,9 @@ public sealed partial class CP14DemiplaneSystem throw new InvalidOperationException($"Invalid weighted pick in CP14DemiplanSystem.Generation!"); } } + +public sealed class CP14DemiplaneGenerationCatchAttemptEvent : EntityEventArgs +{ + public bool Handled = false; + public Entity? Demiplane; +} diff --git a/Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneAdminSystem.cs b/Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneAdminSystem.cs new file mode 100644 index 0000000000..be7349fd39 --- /dev/null +++ b/Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneAdminSystem.cs @@ -0,0 +1,30 @@ +using Content.Server._CP14.Demiplane; +using Content.Shared._CP14.Demiplane.Components; +using Robust.Shared.Map.Components; + +namespace Content.Server._CP14.DemiplaneAdmin; + +public sealed partial class CP14DemiplaneAdminSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAdminDemiplaneCatch); + } + + private void OnAdminDemiplaneCatch(CP14DemiplaneGenerationCatchAttemptEvent ev) + { + if (ev.Handled) + return; + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var catcher, out var map, out var demiplane)) + { + ev.Demiplane = (uid, demiplane); + ev.Handled = true; + RemCompDeferred(uid, catcher); + return; + } + } +} diff --git a/Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneRiftCatcherComponent.cs b/Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneRiftCatcherComponent.cs new file mode 100644 index 0000000000..5939f4525e --- /dev/null +++ b/Content.Server/_CP14/DemiplaneAdmin/CP14DemiplaneRiftCatcherComponent.cs @@ -0,0 +1,9 @@ +namespace Content.Server._CP14.DemiplaneAdmin; + +/// +/// This demiplane can be added to a map by the admins, which will redirect the next opened demiplane key to that map +/// +[RegisterComponent] +public sealed partial class CP14DemiplaneRiftCatcherComponent : Component +{ +} From c0275238ac2e860f89ccf21a358fa5e38b28bed6 Mon Sep 17 00:00:00 2001 From: Ed Date: Sun, 2 Feb 2025 15:30:34 +0300 Subject: [PATCH 09/27] Update CP14DemiplaneGeneratorDataComponent.cs --- .../Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs b/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs index ba768ea9df..87bea077ba 100644 --- a/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs +++ b/Content.Server/_CP14/Demiplane/Components/CP14DemiplaneGeneratorDataComponent.cs @@ -23,7 +23,7 @@ public sealed partial class CP14DemiplaneGeneratorDataComponent : Component public Dictionary TiersContent = new(); [DataField(required: true)] - public Dictionary, float> Limits; + public Dictionary, float> Limits = new(); [DataField] public ProtoId Statistic = "DemiplaneOpen"; From 4aea4b853c933f432652e3746ca064652e7bb8bc Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 3 Feb 2025 17:09:09 +0300 Subject: [PATCH 10/27] Minor procedural fixes pack (#837) * demiplanE * Update EntityTest.cs * Update DungeonSystem.Rooms.cs * Update EntityTest.cs --- Content.IntegrationTests/Tests/EntityTest.cs | 8 +-- .../Procedural/DungeonSystem.Rooms.cs | 66 +++++++++---------- .../CP14DemiplanSystem.Connections.cs | 58 ++++++++-------- .../CP14DemiplanSystem.Generation.cs | 4 +- .../_CP14/Demiplane/CP14DemiplaneSystem.cs | 6 +- .../CP14DemiplaneTravelingSystem.cs | 4 +- 6 files changed, 69 insertions(+), 77 deletions(-) diff --git a/Content.IntegrationTests/Tests/EntityTest.cs b/Content.IntegrationTests/Tests/EntityTest.cs index 44cf1be93e..019a292772 100644 --- a/Content.IntegrationTests/Tests/EntityTest.cs +++ b/Content.IntegrationTests/Tests/EntityTest.cs @@ -39,7 +39,7 @@ namespace Content.IntegrationTests.Tests .Where(p => !p.Abstract) .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. - .Where(p => !p.Components.ContainsKey("RoomFill")) // CP14 Boilerplate - TODO: Remove it after wizden fix + .Where(p => !p.Components.ContainsKey("RoomFill")) .Select(p => p.ID) .ToList(); @@ -102,7 +102,7 @@ namespace Content.IntegrationTests.Tests .Where(p => !p.Abstract) .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. - .Where(p => !p.Components.ContainsKey("RoomFill")) // CP14 Boilerplate - TODO: Remove it after wizden fix + .Where(p => !p.Components.ContainsKey("RoomFill")) .Select(p => p.ID) .ToList(); foreach (var protoId in protoIds) @@ -163,7 +163,6 @@ namespace Content.IntegrationTests.Tests .Where(p => !p.Abstract) .Where(p => !pair.IsTestPrototype(p)) .Where(p => !p.Components.ContainsKey("MapGrid")) // This will smash stuff otherwise. - .Where(p => !p.Components.ContainsKey("RoomFill")) // CP14 Boilerplate - TODO: Remove it after wizden fix .Select(p => p.ID) .ToList(); @@ -238,7 +237,6 @@ namespace Content.IntegrationTests.Tests var excluded = new[] { "MapGrid", - "RoomFill", // CP14 Boilerplate - TODO: Remove it after wizden fix "StationEvent", "TimedDespawn", @@ -345,7 +343,7 @@ namespace Content.IntegrationTests.Tests "DebugExceptionInitialize", "DebugExceptionStartup", "GridFill", - "RoomFill", // CP14 Boilerplate - TODO: Remove it after wizden fix + "RoomFill", "Map", // We aren't testing a map entity in this test "MapGrid", "Broadphase", diff --git a/Content.Server/Procedural/DungeonSystem.Rooms.cs b/Content.Server/Procedural/DungeonSystem.Rooms.cs index c9e3f72136..f83cce66fd 100644 --- a/Content.Server/Procedural/DungeonSystem.Rooms.cs +++ b/Content.Server/Procedural/DungeonSystem.Rooms.cs @@ -130,31 +130,31 @@ public sealed partial class DungeonSystem var finalRoomRotation = roomTransform.Rotation(); - if (clearExisting) - { - var point1 = Vector2.Transform(-room.Size / 2, roomTransform); - var point2 = Vector2.Transform(room.Size / 2, roomTransform); - - var gridBounds = GetRotatedBox(point1, point2, finalRoomRotation); - - entitySet.Clear(); - // Polygon skin moment - gridBounds = gridBounds.Enlarged(-0.05f); - _lookup.GetLocalEntitiesIntersecting(gridUid, gridBounds, entitySet, LookupFlags.Uncontained); - - foreach (var templateEnt in entitySet) - { - Del(templateEnt); - } - - if (TryComp(gridUid, out DecalGridComponent? decalGrid)) - { - foreach (var decal in _decals.GetDecalsIntersecting(gridUid, gridBounds, decalGrid)) - { - _decals.RemoveDecal(gridUid, decal.Index, decalGrid); - } - } - } + //if (clearExisting) //CP14 disable default clearExisting + //{ + // var point1 = Vector2.Transform(-room.Size / 2, roomTransform); + // var point2 = Vector2.Transform(room.Size / 2, roomTransform); +// + // var gridBounds = GetRotatedBox(point1, point2, finalRoomRotation); +// + // entitySet.Clear(); + // // Polygon skin moment + // gridBounds = gridBounds.Enlarged(-0.05f); + // _lookup.GetLocalEntitiesIntersecting(gridUid, gridBounds, entitySet, LookupFlags.Uncontained); +// + // foreach (var templateEnt in entitySet) + // { + // Del(templateEnt); + // } +// + // if (TryComp(gridUid, out DecalGridComponent? decalGrid)) + // { + // foreach (var decal in _decals.GetDecalsIntersecting(gridUid, gridBounds, decalGrid)) + // { + // _decals.RemoveDecal(gridUid, decal.Index, decalGrid); + // } + // } + //} var roomCenter = (room.Offset + room.Size / 2f) * grid.TileSize; var tileOffset = -roomCenter + grid.TileSizeHalfVector; @@ -183,14 +183,14 @@ public sealed partial class DungeonSystem _tiles.Add((rounded, tileRef.Tile)); //CP14 clearExisting variant - //if (clearExisting) - //{ - // var anchored = _maps.GetAnchoredEntities((gridUid, grid), rounded); - // foreach (var ent in anchored) - // { - // QueueDel(ent); - // } - //} + if (clearExisting) + { + var anchored = _maps.GetAnchoredEntities((gridUid, grid), rounded); + foreach (var ent in anchored) + { + QueueDel(ent); + } + } //CP14 clearExisting variant end } } diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Connections.cs b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Connections.cs index 418a168517..aee960b47d 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Connections.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Connections.cs @@ -14,20 +14,20 @@ public sealed partial class CP14DemiplaneSystem private void OnRiftInit(Entity rift, ref MapInitEvent args) { var map = Transform(rift).MapUid; - if (TryComp(map, out var demiplan)) // In demiplan + if (TryComp(map, out var demiplane)) // In demiplane { if (rift.Comp.TryAutoLinkToMap) rift.Comp.Demiplane = map.Value; if (rift.Comp.ActiveTeleport) - AddDemiplanRandomEntryPoint((map.Value, demiplan), rift); + AddDemiplaneRandomEntryPoint((map.Value, demiplane), rift); } - else if (rift.Comp.Demiplane is not null) //We out of demiplan + else if (rift.Comp.Demiplane is not null) //We out of demiplane { if (TryComp(rift.Comp.Demiplane, out var riftDemiplane)) { if (rift.Comp.ActiveTeleport) - AddDemiplanRandomExitPoint((rift.Comp.Demiplane.Value, riftDemiplane), rift); + AddDemiplaneRandomExitPoint((rift.Comp.Demiplane.Value, riftDemiplane), rift); } } } @@ -40,35 +40,32 @@ public sealed partial class CP14DemiplaneSystem if (!TryComp(rift.Comp.Demiplane, out var riftDemiplane)) return; - RemoveDemiplanRandomEntryPoint((rift.Comp.Demiplane.Value, riftDemiplane), rift); + RemoveDemiplaneRandomEntryPoint((rift.Comp.Demiplane.Value, riftDemiplane), rift); RemoveDemiplanRandomExitPoint((rift.Comp.Demiplane.Value, riftDemiplane), rift); } /// - ///Add a position in the real world where you can get out of this demiplan + ///Add a position in the real world where you can get out of this demiplane /// - private void AddDemiplanRandomExitPoint(Entity demiplan, + private void AddDemiplaneRandomExitPoint(Entity demiplane, Entity exitPoint) { - if (demiplan.Comp.ExitPoints.Contains(exitPoint)) - return; - - demiplan.Comp.ExitPoints.Add(exitPoint); - exitPoint.Comp.Demiplane = demiplan; + demiplane.Comp.ExitPoints.Add(exitPoint); + exitPoint.Comp.Demiplane = demiplane; } /// - /// Removing the demiplan exit point, one of which the player can exit to + /// Removing the demiplane exit point, one of which the player can exit to /// - private void RemoveDemiplanRandomExitPoint(Entity? demiplan, + private void RemoveDemiplanRandomExitPoint(Entity? demiplane, EntityUid exitPoint) { if (!TryComp(exitPoint, out var riftComp)) return; - if (demiplan is not null && demiplan.Value.Comp.ExitPoints.Contains(exitPoint)) + if (demiplane is not null && demiplane.Value.Comp.ExitPoints.Contains(exitPoint)) { - demiplan.Value.Comp.ExitPoints.Remove(exitPoint); + demiplane.Value.Comp.ExitPoints.Remove(exitPoint); riftComp.Demiplane = null; } @@ -77,27 +74,24 @@ public sealed partial class CP14DemiplaneSystem } /// - /// Add a position within the demiplan that can be entered into the demiplan + /// Add a position within the demiplane that can be entered into the demiplane /// - private void AddDemiplanRandomEntryPoint(Entity demiplan, + private void AddDemiplaneRandomEntryPoint(Entity demiplane, Entity entryPoint) { - if (demiplan.Comp.EntryPoints.Contains(entryPoint)) - return; - - demiplan.Comp.EntryPoints.Add(entryPoint); - entryPoint.Comp.Demiplane = demiplan; + demiplane.Comp.EntryPoints.Add(entryPoint); + entryPoint.Comp.Demiplane = demiplane; } - private void RemoveDemiplanRandomEntryPoint(Entity? demiplan, + private void RemoveDemiplaneRandomEntryPoint(Entity? demiplane, EntityUid entryPoint) { if (!TryComp(entryPoint, out var riftComp)) return; - if (demiplan is not null && demiplan.Value.Comp.EntryPoints.Contains(entryPoint)) + if (demiplane is not null && demiplane.Value.Comp.EntryPoints.Contains(entryPoint)) { - demiplan.Value.Comp.EntryPoints.Remove(entryPoint); + demiplane.Value.Comp.EntryPoints.Remove(entryPoint); riftComp.Demiplane = null; } @@ -105,26 +99,26 @@ public sealed partial class CP14DemiplaneSystem QueueDel(entryPoint); } - public bool TryGetDemiplanEntryPoint(Entity demiplan, out EntityUid? entryPoint) + public bool TryGetDemiplaneEntryPoint(Entity demiplane, out EntityUid? entryPoint) { entryPoint = null; - if (demiplan.Comp.EntryPoints.Count == 0) + if (demiplane.Comp.EntryPoints.Count == 0) return false; - entryPoint = _random.Pick(demiplan.Comp.EntryPoints); + entryPoint = _random.Pick(demiplane.Comp.EntryPoints); return true; } - public bool TryGetDemiplanExitPoint(Entity demiplan, + public bool TryGetDemiplaneExitPoint(Entity demiplane, out EntityUid? exitPoint) { exitPoint = null; - if (demiplan.Comp.ExitPoints.Count == 0) + if (demiplane.Comp.ExitPoints.Count == 0) return false; - exitPoint = _random.Pick(demiplan.Comp.ExitPoints); + exitPoint = _random.Pick(demiplane.Comp.ExitPoints); return true; } } diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs index 2f13363d4e..93ab253cae 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplanSystem.Generation.cs @@ -185,8 +185,8 @@ public sealed partial class CP14DemiplaneSystem var connection = EnsureComp(tempRift); var connection2 = EnsureComp(tempRift2); - AddDemiplanRandomExitPoint(demiplane.Value, (tempRift, connection)); - AddDemiplanRandomExitPoint(demiplane.Value, (tempRift2, connection2)); + AddDemiplaneRandomExitPoint(demiplane.Value, (tempRift, connection)); + AddDemiplaneRandomExitPoint(demiplane.Value, (tempRift2, connection2)); #if !DEBUG QueueDel(generator); //wtf its crash debug build! diff --git a/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs b/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs index 7acf2b40ef..e196500033 100644 --- a/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs +++ b/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.cs @@ -58,7 +58,7 @@ public sealed partial class CP14DemiplaneSystem : CP14SharedDemiplaneSystem if (entity is null) return false; - if (!TryGetDemiplanEntryPoint(demiplane, out var entryPoint) || entryPoint is null) + if (!TryGetDemiplaneEntryPoint(demiplane, out var entryPoint) || entryPoint is null) { Log.Error($"{entity} cant get in demiplane {demiplane}: no active entry points!"); return false; @@ -86,7 +86,7 @@ public sealed partial class CP14DemiplaneSystem : CP14SharedDemiplaneSystem if (Transform(entity.Value).MapUid != demiplane.Owner) return false; - if (!TryGetDemiplanExitPoint(demiplane, out var connection) || connection is null) + if (!TryGetDemiplaneExitPoint(demiplane, out var connection) || connection is null) { Log.Error($"{entity} cant get out of demiplane {demiplane}: no active connections!"); return false; @@ -119,7 +119,7 @@ public sealed partial class CP14DemiplaneSystem : CP14SharedDemiplaneSystem foreach (var entry in demiplane.Comp.EntryPoints) { - RemoveDemiplanRandomEntryPoint(demiplane, entry); + RemoveDemiplaneRandomEntryPoint(demiplane, entry); } } } diff --git a/Content.Server/_CP14/DemiplaneTraveling/CP14DemiplaneTravelingSystem.cs b/Content.Server/_CP14/DemiplaneTraveling/CP14DemiplaneTravelingSystem.cs index a5e7ad0f58..0fbdc19e80 100644 --- a/Content.Server/_CP14/DemiplaneTraveling/CP14DemiplaneTravelingSystem.cs +++ b/Content.Server/_CP14/DemiplaneTraveling/CP14DemiplaneTravelingSystem.cs @@ -70,7 +70,7 @@ public sealed partial class CP14DemiplaneTravelingSystem : EntitySystem var map = Transform(uid).MapUid; if (TryComp(map, out var demiplan)) { - if (!_demiplan.TryGetDemiplanExitPoint((map.Value, demiplan), out _)) + if (!_demiplan.TryGetDemiplaneExitPoint((map.Value, demiplan), out _)) break; foreach (var ent in teleportedEnts) //We in demiplan, tp OUT @@ -87,7 +87,7 @@ public sealed partial class CP14DemiplaneTravelingSystem : EntitySystem if (rift.Demiplane is not null && TryComp(rift.Demiplane.Value, out var riftDemiplane)) { - if (!_demiplan.TryGetDemiplanEntryPoint((rift.Demiplane.Value, riftDemiplane), out _)) + if (!_demiplan.TryGetDemiplaneEntryPoint((rift.Demiplane.Value, riftDemiplane), out _)) break; foreach (var ent in teleportedEnts) //We out demiplan, tp IN From 478b927e2b64128634ecfbcffd17370816a2c5c7 Mon Sep 17 00:00:00 2001 From: Ed Date: Mon, 3 Feb 2025 17:32:47 +0300 Subject: [PATCH 11/27] copper prices fix --- Resources/Prototypes/_CP14/Catalog/Cargo/Store/buy.yml | 4 ++-- Resources/Prototypes/_CP14/Catalog/Cargo/Store/sell.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/buy.yml index ebf8b97c36..3342956e4c 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/buy.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/buy.yml @@ -140,8 +140,8 @@ sprite: _CP14/Objects/Materials/copper_bar.rsi state: bar_3 price: - min: 40 - max: 60 + min: 200 + max: 300 services: - !type:CP14BuyItemsService product: diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/sell.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/sell.yml index e3ee736205..06402dce02 100644 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/sell.yml +++ b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/sell.yml @@ -6,8 +6,8 @@ sprite: _CP14/Objects/Materials/copper_bar.rsi state: bar_3 price: - min: 20 - max: 30 + min: 100 + max: 150 service: !type:CP14SellStackService stackId: CP14CopperBar count: 10 From 344d99dabb74a7f598f0e78f96bbdd6ad8844b31 Mon Sep 17 00:00:00 2001 From: Ed Date: Mon, 3 Feb 2025 17:36:56 +0300 Subject: [PATCH 12/27] hunger damage experiment --- Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml | 5 +++++ Resources/Prototypes/_CP14/Entities/Mobs/Species/dwarf.yml | 4 ++++ Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml | 4 ++++ Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml | 4 ++++ Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml | 4 ++++ Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml | 4 ++++ .../Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml | 4 ++++ 7 files changed, 29 insertions(+) diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml index 313ebc756f..e496d90e0d 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml @@ -234,6 +234,11 @@ weightlessFriction: 2 weightlessModifier: 0.6 - type: CP14DamageableByMap + - type: Hunger + starvationDamage: + types: + Cold: 0.25 + Bloodloss: 0.25 - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/dwarf.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/dwarf.yml index 108f5ca807..06349c5930 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/dwarf.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/dwarf.yml @@ -7,6 +7,10 @@ - type: HumanoidAppearance species: CP14Dwarf - type: Hunger + starvationDamage: + types: + Cold: 0.25 + Bloodloss: 0.25 - type: Icon sprite: _CP14/Mobs/Species/Dwarf/parts.rsi state: full diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml index 532ee368cd..fa9a8ac705 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/elf.yml @@ -7,6 +7,10 @@ - type: HumanoidAppearance species: CP14Elf - type: Hunger + starvationDamage: + types: + Cold: 0.25 + Bloodloss: 0.25 - type: Icon sprite: _CP14/Mobs/Species/Elf/parts.rsi state: full diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml index 7e297b3540..719d5dc742 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml @@ -7,6 +7,10 @@ - type: HumanoidAppearance species: CP14Goblin - type: Hunger + starvationDamage: + types: + Cold: 0.25 + Bloodloss: 0.25 - type: Icon sprite: _CP14/Mobs/Species/Goblin/parts.rsi state: full diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml index 699add7587..b0dfe08ca4 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/human.yml @@ -7,6 +7,10 @@ - type: HumanoidAppearance species: CP14Human - type: Hunger + starvationDamage: + types: + Cold: 0.25 + Bloodloss: 0.25 - type: Icon sprite: _CP14/Mobs/Species/Human/parts.rsi state: full diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml index 9cd4986618..a50f2a4f0e 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/silva.yml @@ -56,6 +56,10 @@ - type: HumanoidAppearance species: CP14Silva - type: Hunger + starvationDamage: + types: + Cold: 0.25 + Bloodloss: 0.25 - type: Icon sprite: _CP14/Mobs/Species/Elf/parts.rsi #TODO state: full diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml index 2c7c1d6ab2..0466bca324 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/tiefling.yml @@ -7,6 +7,10 @@ - type: HumanoidAppearance species: CP14Tiefling - type: Hunger + starvationDamage: + types: + Cold: 0.25 + Bloodloss: 0.25 - type: Icon sprite: _CP14/Mobs/Species/Tiefling/parts.rsi state: full From 543d45ee0401872b65f8f87847f69d220534cc78 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 4 Feb 2025 17:57:05 +0300 Subject: [PATCH 13/27] Normal quartz returns (#838) * return of normal quartz * Update furnace.yml --- .../Structures/Flora/Crystal/elemental.yml | 110 ++++++++++++++++++ .../Structures/Flora/Crystal/shards.yml | 1 - .../Demiplane/Modifiers/Reward/crystals.yml | 38 +++++- .../_CP14/Recipes/Workbench/furnace.yml | 18 +-- Resources/migration.yml | 4 +- 5 files changed, 154 insertions(+), 17 deletions(-) diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml index 0afd27abc7..359513c2b3 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/elemental.yml @@ -1,3 +1,113 @@ +# Normal + +- type: entity + id: CP14CrystalSmall + suffix: Normal, Small + parent: CP14CrystalSmallBase + components: + - type: Sprite + sprite: _CP14/Structures/Flora/Crystal/crystal_small.rsi + layers: + - state: small1 + map: ["random"] + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 40 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + CP14CrystalShardBase: + min: 0 + max: 1 + - !type:TriggerBehavior + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PointLight + enabled: false + +- type: entity + id: CP14CrystalMedium + suffix: Normal, Medium + parent: CP14CrystalMediumBase + components: + - type: Sprite + sprite: _CP14/Structures/Flora/Crystal/crystal_medium.rsi + layers: + - state: medium1 + map: ["random"] + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 40 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + CP14CrystalShardBase: + min: 1 + max: 2 + - !type:TriggerBehavior + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PointLight + enabled: false + +- type: entity + id: CP14CrystalBig + suffix: Normal, Big + parent: CP14CrystalBigBase + components: + - type: Sprite + sprite: _CP14/Structures/Flora/Crystal/crystal_big.rsi + layers: + - state: big1 + map: ["random"] + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 40 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: GlassBreak + - !type:SpawnEntitiesBehavior + spawn: + CP14CrystalShardBase: + min: 2 + max: 3 + - !type:TriggerBehavior + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: PointLight + enabled: false + # Water - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/shards.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/shards.yml index d26e7eb6ff..d95e3933d9 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/shards.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/Crystal/shards.yml @@ -1,7 +1,6 @@ - type: entity id: CP14CrystalShardBase parent: BaseItem - abstract: true name: quartz shard description: Natural quartz crystals that can absorb the magical energy of the world around them. categories: [ ForkFiltered ] diff --git a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml index b0717bd134..4ffe173efc 100644 --- a/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml +++ b/Resources/Prototypes/_CP14/Procedural/Demiplane/Modifiers/Reward/crystals.yml @@ -1,8 +1,37 @@ +- type: cp14DemiplaneModifier + id: CrystalNormal + tiers: + - 1 + generationWeight: 0.1 + categories: + Reward: 0.1 + layers: + - !type:OreDunGen + tileMask: + - CP14FloorBase + entity: CP14CrystalSmall + count: 30 + minGroupSize: 1 + maxGroupSize: 3 + - !type:OreDunGen + tileMask: + - CP14FloorBase + entity: CP14CrystalMedium + count: 20 + minGroupSize: 1 + maxGroupSize: 2 + - !type:OreDunGen + tileMask: + - CP14FloorBase + entity: CP14CrystalBig + count: 10 + minGroupSize: 1 + maxGroupSize: 1 + - type: cp14DemiplaneModifier id: CrystalFire tiers: - - 1 - 2 - 3 generationWeight: 0.1 @@ -36,10 +65,11 @@ minGroupSize: 1 maxGroupSize: 1 +# TIER 2 + - type: cp14DemiplaneModifier id: CrystalElectric tiers: - - 1 - 2 - 3 generationWeight: 0.1 @@ -83,7 +113,6 @@ - type: cp14DemiplaneModifier id: CrystalHealing tiers: - - 1 - 2 - 3 generationWeight: 0.1 @@ -132,7 +161,6 @@ - type: cp14DemiplaneModifier id: CrystalWater tiers: - - 1 - 2 - 3 generationWeight: 0.1 @@ -181,7 +209,6 @@ - type: cp14DemiplaneModifier id: CrystalDarkness tiers: - - 1 - 2 - 3 generationWeight: 0.1 @@ -209,7 +236,6 @@ - type: cp14DemiplaneModifier id: CrystalLight tiers: - - 1 - 2 - 3 generationWeight: 0.1 diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml index f892f0a773..364d3a7e7e 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml @@ -46,14 +46,16 @@ knowledge: MetallMelting result: CP14MithrilBar1 -#- type: CP14Recipe -# id: CP14GlassSheet1 -# tag: CP14RecipeMeltingFurnace -# craftTime: 4 -# entities: -# CP14QuartzShard: 1 -# result: CP14GlassSheet1 -# knowledgeRequired: Glasswork +- type: CP14Recipe + id: CP14GlassSheet1 + tag: CP14RecipeMeltingFurnace + craftTime: 4 + requirements: + - !type:ProtoIdResource + protoId: CP14CrystalShardBase + - !type:KnowledgeRequired + knowledge: Glasswork + result: CP14GlassSheet1 - type: CP14Recipe id: CP14GlassSheetShard1 diff --git a/Resources/migration.yml b/Resources/migration.yml index b0363c331c..fce40313d0 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -231,8 +231,8 @@ CP14CrystalDiamondsSmall: CP14CrystalElementalLightSmall CP14CrystalDiamondsMedium: CP14CrystalElementalLightMedium CP14CrystalDiamondsBig: CP14CrystalElementalLightBig -CP14QuartzCrystal: null -CP14QuartzShard: null +CP14QuartzCrystal: CP14CrystalMedium +CP14QuartzShard: CP14CrystalShardBase #2025-30-01 CP14OreCopper: CP14OreCopper1 From d1cb8584bcedb65ad10ed8ac4b5c9f7646c8d1e2 Mon Sep 17 00:00:00 2001 From: Ed Date: Tue, 4 Feb 2025 19:37:35 +0300 Subject: [PATCH 14/27] Update Dev.toml --- Resources/ConfigPresets/_CP14/Dev.toml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Resources/ConfigPresets/_CP14/Dev.toml b/Resources/ConfigPresets/_CP14/Dev.toml index d35100ff19..b995da191d 100644 --- a/Resources/ConfigPresets/_CP14/Dev.toml +++ b/Resources/ConfigPresets/_CP14/Dev.toml @@ -50,4 +50,8 @@ deadmin_on_join = true flavor_text = true [tips] -dataset = "CP14Tips" \ No newline at end of file +dataset = "CP14Tips" + +[ooc] +show_ooc_patron_color = false +enable_during_round = true \ No newline at end of file From a2cd7754f7e376f9b1c9fad021de03929a773fbd Mon Sep 17 00:00:00 2001 From: Ed Date: Tue, 4 Feb 2025 19:40:21 +0300 Subject: [PATCH 15/27] Update Dev.toml --- Resources/ConfigPresets/_CP14/Dev.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/ConfigPresets/_CP14/Dev.toml b/Resources/ConfigPresets/_CP14/Dev.toml index b995da191d..7e55dc2353 100644 --- a/Resources/ConfigPresets/_CP14/Dev.toml +++ b/Resources/ConfigPresets/_CP14/Dev.toml @@ -15,9 +15,10 @@ max_connections = 100 [game] hostname = "⚔️ CrystallEdge Alpha ⚔️ " -desc = "History of the City of Sword and Magic. A social economic sandbox reinventing the Space Station 14 concept in" +desc = "History of the City of Sword and Magic. A social economic sandbox reinventing the Space Station 14 concept in fantasy style" lobbyenabled = true soft_max_players = 40 +lobbyduration = 300 [server] rules_file = "CP14SandboxRU" From b2234b7c4a2c15032bbafe0b8c4c6f2906d34161 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 4 Feb 2025 22:44:22 +0300 Subject: [PATCH 16/27] Discord authentification (#819) * Auth setup * fixes * messages * adapt to new auth * cvar fix * generating link setup * new version adapt * fix * Update DiscordAuthManager.cs --- Content.Client/Entry/EntryPoint.cs | 9 +- Content.Client/IoC/ClientContentIoC.cs | 4 + .../_CP14/Discord/CP14DiscordAuthManager.cs | 27 ++++ .../_CP14/Discord/CP14DiscordAuthState.cs | 36 +++++ .../_CP14/Discord/DiscordAuthGui.xaml | 29 ++++ .../_CP14/Discord/DiscordAuthGui.xaml.cs | 46 ++++++ Content.Server/Entry/EntryPoint.cs | 5 + .../GameTicking/GameTicker.Player.cs | 2 +- Content.Server/IoC/ServerContentIoC.cs | 4 + .../_CP14/Discord/DiscordAuthManager.cs | 138 ++++++++++++++++++ .../_CP14/CCvar/CCvars.CP14DiscordAuth.cs | 15 ++ .../_CP14/CCvar/CCvars.CP14JoinQueue.cs | 9 ++ .../_CP14/CCvar/CCvars.CP14Sponsors.cs | 12 ++ .../_CP14/Discord/MsgDiscordAuthCheck.cs | 18 +++ .../_CP14/Discord/MsgDiscordAuthRequired.cs | 21 +++ .../en-US/_CP14/connection_messages.ftl | 5 + .../Locale/en-US/_CP14/discord/queue.ftl | 5 + .../ru-RU/_CP14/connection_messages.ftl | 6 + .../Locale/ru-RU/_CP14/discord/queue.ftl | 5 + 19 files changed, 394 insertions(+), 2 deletions(-) create mode 100644 Content.Client/_CP14/Discord/CP14DiscordAuthManager.cs create mode 100644 Content.Client/_CP14/Discord/CP14DiscordAuthState.cs create mode 100644 Content.Client/_CP14/Discord/DiscordAuthGui.xaml create mode 100644 Content.Client/_CP14/Discord/DiscordAuthGui.xaml.cs create mode 100644 Content.Server/_CP14/Discord/DiscordAuthManager.cs create mode 100644 Content.Shared/_CP14/CCvar/CCvars.CP14DiscordAuth.cs create mode 100644 Content.Shared/_CP14/CCvar/CCvars.CP14JoinQueue.cs create mode 100644 Content.Shared/_CP14/CCvar/CCvars.CP14Sponsors.cs create mode 100644 Content.Shared/_CP14/Discord/MsgDiscordAuthCheck.cs create mode 100644 Content.Shared/_CP14/Discord/MsgDiscordAuthRequired.cs create mode 100644 Resources/Locale/en-US/_CP14/connection_messages.ftl create mode 100644 Resources/Locale/en-US/_CP14/discord/queue.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/connection_messages.ftl create mode 100644 Resources/Locale/ru-RU/_CP14/discord/queue.ftl diff --git a/Content.Client/Entry/EntryPoint.cs b/Content.Client/Entry/EntryPoint.cs index cb05916ee0..af85ff921f 100644 --- a/Content.Client/Entry/EntryPoint.cs +++ b/Content.Client/Entry/EntryPoint.cs @@ -1,3 +1,4 @@ +using Content.Client._CP14.Discord; using Content.Client.Administration.Managers; using Content.Client.Changelog; using Content.Client.Chat.Managers; @@ -43,6 +44,9 @@ namespace Content.Client.Entry { public sealed class EntryPoint : GameClient { + //CP14 + [Dependency] private readonly DiscordAuthManager _discordAuth = default!; + //CP14 end [Dependency] private readonly IBaseClient _baseClient = default!; [Dependency] private readonly IGameController _gameController = default!; [Dependency] private readonly IStateManager _stateManager = default!; @@ -160,7 +164,10 @@ namespace Content.Client.Entry _parallaxManager.LoadDefaultParallax(); - _overlayManager.AddOverlay(new CP14BasePostProcessOverlay()); // CP14-PostProcess + //CP14 + _overlayManager.AddOverlay(new CP14BasePostProcessOverlay()); + _discordAuth.Initialize(); + //CP14 end _overlayManager.AddOverlay(new SingularityOverlay()); _overlayManager.AddOverlay(new RadiationPulseOverlay()); _chatManager.Initialize(); diff --git a/Content.Client/IoC/ClientContentIoC.cs b/Content.Client/IoC/ClientContentIoC.cs index 370188e3c6..0756800d8d 100644 --- a/Content.Client/IoC/ClientContentIoC.cs +++ b/Content.Client/IoC/ClientContentIoC.cs @@ -1,3 +1,4 @@ +using Content.Client._CP14.Discord; using Content.Client.Administration.Managers; using Content.Client.Changelog; using Content.Client.Chat.Managers; @@ -33,6 +34,9 @@ namespace Content.Client.IoC { var collection = IoCManager.Instance!; + //CP14 + collection.Register(); + //CP14 end collection.Register(); collection.Register(); collection.Register(); diff --git a/Content.Client/_CP14/Discord/CP14DiscordAuthManager.cs b/Content.Client/_CP14/Discord/CP14DiscordAuthManager.cs new file mode 100644 index 0000000000..a627ffe2e4 --- /dev/null +++ b/Content.Client/_CP14/Discord/CP14DiscordAuthManager.cs @@ -0,0 +1,27 @@ +using Content.Shared._CP14.Discord; +using Robust.Client.State; +using Robust.Shared.Network; + +namespace Content.Client._CP14.Discord; + +public sealed class DiscordAuthManager +{ + [Dependency] private readonly IClientNetManager _netManager = default!; + [Dependency] private readonly IStateManager _stateManager = default!; + + public string AuthUrl { get; private set; } = ""; + + public void Initialize() + { + _netManager.RegisterNetMessage(); + _netManager.RegisterNetMessage(OnDiscordAuthRequired); + } + + private void OnDiscordAuthRequired(MsgDiscordAuthRequired msg) + { + if (_stateManager.CurrentState is DiscordAuthState) + return; + AuthUrl = msg.AuthUrl; + _stateManager.RequestStateChange(); + } +} diff --git a/Content.Client/_CP14/Discord/CP14DiscordAuthState.cs b/Content.Client/_CP14/Discord/CP14DiscordAuthState.cs new file mode 100644 index 0000000000..33e439dc86 --- /dev/null +++ b/Content.Client/_CP14/Discord/CP14DiscordAuthState.cs @@ -0,0 +1,36 @@ +using System.Threading; +using Content.Shared._CP14.Discord; +using Robust.Client.State; +using Robust.Client.UserInterface; +using Robust.Shared.Network; +using Timer = Robust.Shared.Timing.Timer; + +namespace Content.Client._CP14.Discord; + +public sealed class DiscordAuthState : State +{ + [Dependency] private readonly IUserInterfaceManager _userInterfaceManager = default!; + [Dependency] private readonly IClientNetManager _netManager = default!; + + private DiscordAuthGui? _gui; + private readonly CancellationTokenSource _checkTimerCancel = new(); + + protected override void Startup() + { + _gui = new DiscordAuthGui(); + _userInterfaceManager.StateRoot.AddChild(_gui); + + Timer.SpawnRepeating(TimeSpan.FromSeconds(5), + () => + { + _netManager.ClientSendMessage(new MsgDiscordAuthCheck()); + }, + _checkTimerCancel.Token); + } + + protected override void Shutdown() + { + _checkTimerCancel.Cancel(); + _gui!.Dispose(); + } +} diff --git a/Content.Client/_CP14/Discord/DiscordAuthGui.xaml b/Content.Client/_CP14/Discord/DiscordAuthGui.xaml new file mode 100644 index 0000000000..5e266d638e --- /dev/null +++ b/Content.Client/_CP14/Discord/DiscordAuthGui.xaml @@ -0,0 +1,29 @@ + + + + + + +