diff --git a/Content.Client/Construction/ConstructionPlacementHijack.cs b/Content.Client/Construction/ConstructionPlacementHijack.cs index dc5d7bf342..e6a8e0f1f0 100644 --- a/Content.Client/Construction/ConstructionPlacementHijack.cs +++ b/Content.Client/Construction/ConstructionPlacementHijack.cs @@ -1,8 +1,10 @@ using System.Linq; using Content.Shared.Construction.Prototypes; +using Robust.Client.GameObjects; using Robust.Client.Placement; -using Robust.Client.Utility; +using Robust.Client.ResourceManagement; using Robust.Shared.Map; +using Robust.Shared.Prototypes; namespace Content.Client.Construction { @@ -45,7 +47,14 @@ namespace Content.Client.Construction public override void StartHijack(PlacementManager manager) { base.StartHijack(manager); - manager.CurrentTextures = _prototype?.Layers.Select(sprite => sprite.DirFrame0()).ToList(); + + if (_prototype is null || !_constructionSystem.TryGetRecipePrototype(_prototype.ID, out var targetProtoId)) + return; + + if (!IoCManager.Resolve().TryIndex(targetProtoId, out EntityPrototype? proto)) + return; + + manager.CurrentTextures = SpriteComponent.GetPrototypeTextures(proto, IoCManager.Resolve()).ToList(); } } } diff --git a/Content.Client/Construction/ConstructionSystem.cs b/Content.Client/Construction/ConstructionSystem.cs index 17d6b05388..77dfc9d805 100644 --- a/Content.Client/Construction/ConstructionSystem.cs +++ b/Content.Client/Construction/ConstructionSystem.cs @@ -1,11 +1,10 @@ using System.Diagnostics.CodeAnalysis; +using System.Linq; using Content.Client.Popups; using Content.Shared.Construction; using Content.Shared.Construction.Prototypes; -using Content.Shared.Construction.Steps; using Content.Shared.Examine; using Content.Shared.Input; -using Content.Shared.Interaction; using Content.Shared.Wall; using JetBrains.Annotations; using Robust.Client.GameObjects; @@ -15,6 +14,7 @@ using Robust.Shared.Input.Binding; using Robust.Shared.Map; using Robust.Shared.Player; using Robust.Shared.Prototypes; +using Robust.Shared.Utility; namespace Content.Client.Construction { @@ -25,7 +25,6 @@ namespace Content.Client.Construction public sealed class ConstructionSystem : SharedConstructionSystem { [Dependency] private readonly IPlayerManager _playerManager = default!; - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly ExamineSystemShared _examineSystem = default!; [Dependency] private readonly SharedTransformSystem _transformSystem = default!; [Dependency] private readonly PopupSystem _popupSystem = default!; @@ -33,6 +32,8 @@ namespace Content.Client.Construction private readonly Dictionary _ghosts = new(); private readonly Dictionary _guideCache = new(); + private readonly Dictionary _recipesMetadataCache = []; + public bool CraftingEnabled { get; private set; } /// @@ -40,6 +41,8 @@ namespace Content.Client.Construction { base.Initialize(); + WarmupRecipesCache(); + UpdatesOutsidePrediction = true; SubscribeLocalEvent(HandlePlayerAttached); SubscribeNetworkEvent(HandleAckStructure); @@ -63,6 +66,77 @@ namespace Content.Client.Construction ClearGhost(component.GhostId); } + public bool TryGetRecipePrototype(string constructionProtoId, [NotNullWhen(true)] out string? targetProtoId) + { + if (_recipesMetadataCache.TryGetValue(constructionProtoId, out targetProtoId)) + return true; + + targetProtoId = null; + return false; + } + + private void WarmupRecipesCache() + { + foreach (var constructionProto in PrototypeManager.EnumeratePrototypes()) + { + if (!PrototypeManager.TryIndex(constructionProto.Graph, out var graphProto)) + continue; + + if (constructionProto.TargetNode is not { } targetNodeId) + continue; + + if (!graphProto.Nodes.TryGetValue(targetNodeId, out var targetNode)) + continue; + + // Recursion is for wimps. + var stack = new Stack(); + stack.Push(targetNode); + + do + { + var node = stack.Pop(); + + // I never realized if this uid affects anything... + // EntityUid? userUid = args.SenderSession.State.ControlledEntity.HasValue + // ? GetEntity(args.SenderSession.State.ControlledEntity.Value) + // : null; + + // We try to get the id of the target prototype, if it fails, we try going through the edges. + if (node.Entity.GetId(null, null, new(EntityManager)) is not { } entityId) + { + // If the stack is not empty, there is a high probability that the loop will go to infinity. + if (stack.Count == 0) + { + foreach (var edge in node.Edges) + { + if (graphProto.Nodes.TryGetValue(edge.Target, out var graphNode)) + stack.Push(graphNode); + } + } + + continue; + } + + // If we got the id of the prototype, we exit the “recursion” by clearing the stack. + stack.Clear(); + + if (!PrototypeManager.TryIndex(constructionProto.ID, out ConstructionPrototype? recipe)) + continue; + + if (!PrototypeManager.TryIndex(entityId, out var proto)) + continue; + + var name = recipe.SetName.HasValue ? Loc.GetString(recipe.SetName) : proto.Name; + var desc = recipe.SetDescription.HasValue ? Loc.GetString(recipe.SetDescription) : proto.Description; + + recipe.Name = name; + recipe.Description = desc; + + _recipesMetadataCache.Add(constructionProto.ID, entityId); + } while (stack.Count > 0); + } + } + private void OnConstructionGuideReceived(ResponseConstructionGuide ev) { _guideCache[ev.ConstructionId] = ev.Guide; @@ -88,7 +162,7 @@ namespace Content.Client.Construction private void HandleConstructionGhostExamined(EntityUid uid, ConstructionGhostComponent component, ExaminedEvent args) { - if (component.Prototype == null) + if (component.Prototype?.Name is null) return; using (args.PushGroup(nameof(ConstructionGhostComponent))) @@ -97,7 +171,7 @@ namespace Content.Client.Construction "construction-ghost-examine-message", ("name", component.Prototype.Name))); - if (!_prototypeManager.TryIndex(component.Prototype.Graph, out ConstructionGraphPrototype? graph)) + if (!PrototypeManager.TryIndex(component.Prototype.Graph, out var graph)) return; var startNode = graph.Nodes[component.Prototype.StartNode]; @@ -198,6 +272,9 @@ namespace Content.Client.Construction return false; } + if (!TryGetRecipePrototype(prototype.ID, out var targetProtoId) || !PrototypeManager.TryIndex(targetProtoId, out EntityPrototype? targetProto)) + return false; + if (GhostPresent(loc)) return false; @@ -214,16 +291,43 @@ namespace Content.Client.Construction comp.GhostId = ghost.GetHashCode(); EntityManager.GetComponent(ghost.Value).LocalRotation = dir.ToAngle(); _ghosts.Add(comp.GhostId, ghost.Value); + var sprite = EntityManager.GetComponent(ghost.Value); sprite.Color = new Color(48, 255, 48, 128); - for (int i = 0; i < prototype.Layers.Count; i++) + if (targetProto.TryGetComponent(out IconComponent? icon, EntityManager.ComponentFactory)) { - sprite.AddBlankLayer(i); // There is no way to actually check if this already exists, so we blindly insert a new one - sprite.LayerSetSprite(i, prototype.Layers[i]); - sprite.LayerSetShader(i, "unshaded"); - sprite.LayerSetVisible(i, true); + sprite.AddBlankLayer(0); + sprite.LayerSetSprite(0, icon.Icon); + sprite.LayerSetShader(0, "unshaded"); + sprite.LayerSetVisible(0, true); } + else if (targetProto.Components.TryGetValue("Sprite", out _)) + { + var dummy = EntityManager.SpawnEntity(targetProtoId, MapCoordinates.Nullspace); + var targetSprite = EntityManager.EnsureComponent(dummy); + EntityManager.System().OnChangeData(dummy, targetSprite); + + for (var i = 0; i < targetSprite.AllLayers.Count(); i++) + { + if (!targetSprite[i].Visible || !targetSprite[i].RsiState.IsValid) + continue; + + var rsi = targetSprite[i].Rsi ?? targetSprite.BaseRSI; + if (rsi is null || !rsi.TryGetState(targetSprite[i].RsiState, out var state) || + state.StateId.Name is null) + continue; + + sprite.AddBlankLayer(i); + sprite.LayerSetSprite(i, new SpriteSpecifier.Rsi(rsi.Path, state.StateId.Name)); + sprite.LayerSetShader(i, "unshaded"); + sprite.LayerSetVisible(i, true); + } + + EntityManager.DeleteEntity(dummy); + } + else + return false; if (prototype.CanBuildInImpassable) EnsureComp(ghost.Value).Arc = new(Math.Tau); diff --git a/Content.Client/Construction/UI/ConstructionMenu.xaml b/Content.Client/Construction/UI/ConstructionMenu.xaml index a934967a53..4020ca4332 100644 --- a/Content.Client/Construction/UI/ConstructionMenu.xaml +++ b/Content.Client/Construction/UI/ConstructionMenu.xaml @@ -1,11 +1,12 @@ - + - + - + @@ -18,7 +19,7 @@ - + diff --git a/Content.Client/Construction/UI/ConstructionMenu.xaml.cs b/Content.Client/Construction/UI/ConstructionMenu.xaml.cs index 9ab8a15600..d94150d5cd 100644 --- a/Content.Client/Construction/UI/ConstructionMenu.xaml.cs +++ b/Content.Client/Construction/UI/ConstructionMenu.xaml.cs @@ -1,14 +1,11 @@ -using System; using System.Numerics; +using Content.Client.UserInterface.Controls; +using Content.Shared.Construction.Prototypes; using Robust.Client.AutoGenerated; -using Robust.Client.Graphics; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.XAML; -using Robust.Shared.Graphics; -using Robust.Shared.IoC; -using Robust.Shared.Localization; - +using Robust.Shared.Prototypes; namespace Content.Client.Construction.UI { @@ -28,7 +25,7 @@ namespace Content.Client.Construction.UI bool GridViewButtonPressed { get; set; } bool BuildButtonPressed { get; set; } - ItemList Recipes { get; } + ListContainer Recipes { get; } ItemList RecipeStepList { get; } @@ -36,14 +33,14 @@ namespace Content.Client.Construction.UI GridContainer RecipesGrid { get; } event EventHandler<(string search, string catagory)> PopulateRecipes; - event EventHandler RecipeSelected; + event EventHandler RecipeSelected; event EventHandler RecipeFavorited; event EventHandler BuildButtonToggled; event EventHandler EraseButtonToggled; event EventHandler ClearAllGhosts; void ClearRecipeInfo(); - void SetRecipeInfo(string name, string description, Texture iconTexture, bool isItem, bool isFavorite); + void SetRecipeInfo(string name, string description, EntityPrototype? targetPrototype, bool isItem, bool isFavorite); void ResetPlacement(); #region Window Control @@ -94,8 +91,36 @@ namespace Content.Client.Construction.UI Title = Loc.GetString("construction-menu-title"); BuildButton.Text = Loc.GetString("construction-menu-place-ghost"); - Recipes.OnItemSelected += obj => RecipeSelected?.Invoke(this, obj.ItemList[obj.ItemIndex]); - Recipes.OnItemDeselected += _ => RecipeSelected?.Invoke(this, null); + Recipes.ItemPressed += (_, data) => RecipeSelected?.Invoke(this, data as ConstructionMenuListData); + Recipes.NoItemSelected += () => RecipeSelected?.Invoke(this, null); + Recipes.GenerateItem += (data, button) => + { + if (data is not ConstructionMenuListData (var prototype, var targetPrototype)) + return; + + var entProtoView = new EntityPrototypeView() + { + SetSize = new(32f), + Stretch = SpriteView.StretchMode.Fill, + Scale = new(2), + Margin = new(0, 2), + }; + entProtoView.SetPrototype(targetPrototype); + + var label = new Label() + { + Text = prototype.Name, + Margin = new(5, 0), + }; + + var box = new BoxContainer(); + box.AddChild(entProtoView); + box.AddChild(label); + + button.AddChild(box); + button.ToolTip = prototype.Description; + button.AddStyleClass(ListContainer.StyleClassListContainerButton); + }; SearchBar.OnTextChanged += _ => PopulateRecipes?.Invoke(this, (SearchBar.Text, Categories[OptionCategories.SelectedId])); @@ -121,7 +146,7 @@ namespace Content.Client.Construction.UI public event EventHandler? ClearAllGhosts; public event EventHandler<(string search, string catagory)>? PopulateRecipes; - public event EventHandler? RecipeSelected; + public event EventHandler? RecipeSelected; public event EventHandler? RecipeFavorited; public event EventHandler? BuildButtonToggled; public event EventHandler? EraseButtonToggled; @@ -133,13 +158,17 @@ namespace Content.Client.Construction.UI } public void SetRecipeInfo( - string name, string description, Texture iconTexture, bool isItem, bool isFavorite) + string name, + string description, + EntityPrototype? targetPrototype, + bool isItem, + bool isFavorite) { BuildButton.Disabled = false; BuildButton.Text = Loc.GetString(isItem ? "construction-menu-place-ghost" : "construction-menu-craft"); TargetName.SetMessage(name); TargetDesc.SetMessage(description); - TargetTexture.Texture = iconTexture; + TargetTexture.SetPrototype(targetPrototype?.ID); FavoriteButton.Visible = true; FavoriteButton.Text = Loc.GetString( isFavorite ? "construction-add-favorite-button" : "construction-remove-from-favorite-button"); @@ -150,9 +179,11 @@ namespace Content.Client.Construction.UI BuildButton.Disabled = true; TargetName.SetMessage(string.Empty); TargetDesc.SetMessage(string.Empty); - TargetTexture.Texture = null; + TargetTexture.SetPrototype(null); FavoriteButton.Visible = false; RecipeStepList.Clear(); } + + public sealed record ConstructionMenuListData(ConstructionPrototype Prototype, EntityPrototype TargetPrototype) : ListData; } } diff --git a/Content.Client/Construction/UI/ConstructionMenuPresenter.cs b/Content.Client/Construction/UI/ConstructionMenuPresenter.cs index d35e8fbe76..77f04ee781 100644 --- a/Content.Client/Construction/UI/ConstructionMenuPresenter.cs +++ b/Content.Client/Construction/UI/ConstructionMenuPresenter.cs @@ -10,10 +10,8 @@ using Robust.Client.Placement; using Robust.Client.Player; using Robust.Client.UserInterface; using Robust.Client.UserInterface.Controls; -using Robust.Client.Utility; using Robust.Shared.Enums; using Robust.Shared.Prototypes; -using static Robust.Client.UserInterface.Controls.BaseButton; namespace Content.Client.Construction.UI { @@ -30,18 +28,20 @@ namespace Content.Client.Construction.UI [Dependency] private readonly IPlacementManager _placementManager = default!; [Dependency] private readonly IUserInterfaceManager _uiManager = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; + private readonly SpriteSystem _spriteSystem; private readonly IConstructionMenuView _constructionView; private readonly EntityWhitelistSystem _whitelistSystem; - private readonly SpriteSystem _spriteSystem; private ConstructionSystem? _constructionSystem; private ConstructionPrototype? _selected; private List _favoritedRecipes = []; - private Dictionary _recipeButtons = new(); + private Dictionary _recipeButtons = new(); private string _selectedCategory = string.Empty; - private string _favoriteCatName = "construction-category-favorites"; - private string _forAllCategoryName = "construction-category-all"; + + private const string FavoriteCatName = "construction-category-favorites"; + private const string ForAllCategoryName = "construction-category-all"; + private bool CraftingAvailable { get => _uiManager.GetActiveUIWidget().CraftingButton.Visible; @@ -98,15 +98,18 @@ namespace Content.Client.Construction.UI _placementManager.PlacementChanged += OnPlacementChanged; - _constructionView.OnClose += () => _uiManager.GetActiveUIWidget().CraftingButton.Pressed = false; + _constructionView.OnClose += + () => _uiManager.GetActiveUIWidget().CraftingButton.Pressed = false; _constructionView.ClearAllGhosts += (_, _) => _constructionSystem?.ClearAllGhosts(); _constructionView.PopulateRecipes += OnViewPopulateRecipes; _constructionView.RecipeSelected += OnViewRecipeSelected; _constructionView.BuildButtonToggled += (_, b) => BuildButtonToggled(b); _constructionView.EraseButtonToggled += (_, b) => { - if (_constructionSystem is null) return; - if (b) _placementManager.Clear(); + if (_constructionSystem is null) + return; + if (b) + _placementManager.Clear(); _placementManager.ToggleEraserHijacked(new ConstructionPlacementHijack(_constructionSystem, null)); _constructionView.EraseButtonPressed = b; }; @@ -117,7 +120,7 @@ namespace Content.Client.Construction.UI OnViewPopulateRecipes(_constructionView, (string.Empty, string.Empty)); } - public void OnHudCraftingButtonToggled(ButtonToggledEventArgs args) + public void OnHudCraftingButtonToggled(BaseButton.ButtonToggledEventArgs args) { WindowOpen = args.Pressed; } @@ -139,7 +142,7 @@ namespace Content.Client.Construction.UI _constructionView.ResetPlacement(); } - private void OnViewRecipeSelected(object? sender, ItemList.Item? item) + private void OnViewRecipeSelected(object? sender, ConstructionMenu.ConstructionMenuListData? item) { if (item is null) { @@ -148,12 +151,15 @@ namespace Content.Client.Construction.UI return; } - _selected = (ConstructionPrototype) item.Metadata!; - if (_placementManager.IsActive && !_placementManager.Eraser) UpdateGhostPlacement(); + _selected = item.Prototype; + + if (_placementManager is { IsActive: true, Eraser: false }) + UpdateGhostPlacement(); + PopulateInfo(_selected); } - private void OnGridViewRecipeSelected(object? sender, ConstructionPrototype? recipe) + private void OnGridViewRecipeSelected(object? _, ConstructionPrototype? recipe) { if (recipe is null) { @@ -163,62 +169,21 @@ namespace Content.Client.Construction.UI } _selected = recipe; - if (_placementManager.IsActive && !_placementManager.Eraser) UpdateGhostPlacement(); + + if (_placementManager is { IsActive: true, Eraser: false }) + UpdateGhostPlacement(); + PopulateInfo(_selected); } private void OnViewPopulateRecipes(object? sender, (string search, string catagory) args) { - var (search, category) = args; + if (_constructionSystem is null) + return; - var recipes = new List(); - - var isEmptyCategory = string.IsNullOrEmpty(category) || category == _forAllCategoryName; - - if (isEmptyCategory) - _selectedCategory = string.Empty; - else - _selectedCategory = category; - - foreach (var recipe in _prototypeManager.EnumeratePrototypes()) - { - if (recipe.Hide) - continue; - - if (_playerManager.LocalSession == null - || _playerManager.LocalEntity == null - || _whitelistSystem.IsWhitelistFail(recipe.EntityWhitelist, _playerManager.LocalEntity.Value)) - continue; - - if (!string.IsNullOrEmpty(search)) - { - if (!recipe.Name.ToLowerInvariant().Contains(search.Trim().ToLowerInvariant())) - continue; - } - - if (!isEmptyCategory) - { - if (category == _favoriteCatName) - { - if (!_favoritedRecipes.Contains(recipe)) - { - continue; - } - } - else if (recipe.Category != category) - { - continue; - } - } - - recipes.Add(recipe); - } - - recipes.Sort((a, b) => string.Compare(a.Name, b.Name, StringComparison.InvariantCulture)); + var actualRecipes = GetAndSortRecipes(args); var recipesList = _constructionView.Recipes; - recipesList.Clear(); - var recipesGrid = _constructionView.RecipesGrid; recipesGrid.RemoveAllChildren(); @@ -227,60 +192,120 @@ namespace Content.Client.Construction.UI if (_constructionView.GridViewButtonPressed) { - foreach (var recipe in recipes) - { - var itemButton = new TextureButton - { - TextureNormal = _spriteSystem.Frame0(recipe.Icon), - VerticalAlignment = Control.VAlignment.Center, - Name = recipe.Name, - ToolTip = recipe.Name, - Scale = new Vector2(1.35f), - ToggleMode = true, - }; - var itemButtonPanelContainer = new PanelContainer - { - PanelOverride = new StyleBoxFlat { BackgroundColor = StyleNano.ButtonColorDefault }, - Children = { itemButton }, - }; - - itemButton.OnToggled += buttonToggledEventArgs => - { - SelectGridButton(itemButton, buttonToggledEventArgs.Pressed); - - if (buttonToggledEventArgs.Pressed && - _selected != null && - _recipeButtons.TryGetValue(_selected.Name, out var oldButton)) - { - oldButton.Pressed = false; - SelectGridButton(oldButton, false); - } - - OnGridViewRecipeSelected(this, buttonToggledEventArgs.Pressed ? recipe : null); - }; - - recipesGrid.AddChild(itemButtonPanelContainer); - _recipeButtons[recipe.Name] = itemButton; - var isCurrentButtonSelected = _selected == recipe; - itemButton.Pressed = isCurrentButtonSelected; - SelectGridButton(itemButton, isCurrentButtonSelected); - } + recipesList.PopulateList([]); + PopulateGrid(recipesGrid, actualRecipes); } else { - foreach (var recipe in recipes) - { - recipesList.Add(GetItem(recipe, recipesList)); - } + recipesList.PopulateList(actualRecipes); } } - private void SelectGridButton(TextureButton button, bool select) + private void PopulateGrid(GridContainer recipesGrid, + IEnumerable actualRecipes) + { + foreach (var recipe in actualRecipes) + { + var protoView = new EntityPrototypeView() + { + Scale = new Vector2(1.2f), + }; + protoView.SetPrototype(recipe.TargetPrototype); + + var itemButton = new ContainerButton() + { + VerticalAlignment = Control.VAlignment.Center, + Name = recipe.TargetPrototype.Name, + ToolTip = recipe.TargetPrototype.Name, + ToggleMode = true, + Children = { protoView }, + }; + + var itemButtonPanelContainer = new PanelContainer + { + PanelOverride = new StyleBoxFlat { BackgroundColor = StyleNano.ButtonColorDefault }, + Children = { itemButton }, + }; + + itemButton.OnToggled += buttonToggledEventArgs => + { + SelectGridButton(itemButton, buttonToggledEventArgs.Pressed); + + if (buttonToggledEventArgs.Pressed && + _selected != null && + _recipeButtons.TryGetValue(_selected.Name!, out var oldButton)) + { + oldButton.Pressed = false; + SelectGridButton(oldButton, false); + } + + OnGridViewRecipeSelected(this, buttonToggledEventArgs.Pressed ? recipe.Prototype : null); + }; + + recipesGrid.AddChild(itemButtonPanelContainer); + _recipeButtons[recipe.Prototype.Name!] = itemButton; + var isCurrentButtonSelected = _selected == recipe.Prototype; + itemButton.Pressed = isCurrentButtonSelected; + SelectGridButton(itemButton, isCurrentButtonSelected); + } + } + + private List GetAndSortRecipes((string, string) args) + { + var recipes = new List(); + + var (search, category) = args; + var isEmptyCategory = string.IsNullOrEmpty(category) || category == ForAllCategoryName; + _selectedCategory = isEmptyCategory ? string.Empty : category; + + foreach (var recipe in _prototypeManager.EnumeratePrototypes()) + { + if (recipe.Hide) + continue; + + if (_playerManager.LocalSession == null + || _playerManager.LocalEntity == null + || _whitelistSystem.IsWhitelistFail(recipe.EntityWhitelist, _playerManager.LocalEntity.Value)) + continue; + + if (!string.IsNullOrEmpty(search) && (recipe.Name is { } name && + !name.Contains(search.Trim(), + StringComparison.InvariantCultureIgnoreCase))) + continue; + + if (!isEmptyCategory) + { + if ((category != FavoriteCatName || !_favoritedRecipes.Contains(recipe)) && + recipe.Category != category) + continue; + } + + if (!_constructionSystem!.TryGetRecipePrototype(recipe.ID, out var targetProtoId)) + { + Logger.Error("Cannot find the target prototype in the recipe cache with the id \"{0}\" of {1}.", + recipe.ID, + nameof(ConstructionPrototype)); + continue; + } + + if (!_prototypeManager.TryIndex(targetProtoId, out EntityPrototype? proto)) + continue; + + recipes.Add(new(recipe, proto)); + } + + recipes.Sort( + (a, b) => string.Compare(a.Prototype.Name, b.Prototype.Name, StringComparison.InvariantCulture)); + + return recipes; + } + + private void SelectGridButton(BaseButton button, bool select) { if (button.Parent is not PanelContainer buttonPanel) return; - button.Modulate = select ? Color.Green : Color.White; + button.Modulate = select ? Color.Green : Color.Transparent; var buttonColor = select ? StyleNano.ButtonColorDefault : Color.Transparent; buttonPanel.PanelOverride = new StyleBoxFlat { BackgroundColor = buttonColor }; } @@ -302,12 +327,12 @@ namespace Content.Client.Construction.UI // hard-coded to show all recipes var idx = 0; - categoriesArray[idx++] = _forAllCategoryName; + categoriesArray[idx++] = ForAllCategoryName; // hard-coded to show favorites if it need if (isFavorites) { - categoriesArray[idx++] = _favoriteCatName; + categoriesArray[idx++] = FavoriteCatName; } var sortedProtoCategories = uniqueCategories.OrderBy(Loc.GetString); @@ -325,18 +350,31 @@ namespace Content.Client.Construction.UI if (!string.IsNullOrEmpty(selectCategory) && selectCategory == categoriesArray[i]) _constructionView.OptionCategories.SelectId(i); - } _constructionView.Categories = categoriesArray; } - private void PopulateInfo(ConstructionPrototype prototype) + private void PopulateInfo(ConstructionPrototype? prototype) { + if (_constructionSystem is null) + return; + _constructionView.ClearRecipeInfo(); + if (prototype is null) + return; + + if (!_constructionSystem.TryGetRecipePrototype(prototype.ID, out var targetProtoId)) + return; + + if (!_prototypeManager.TryIndex(targetProtoId, out EntityPrototype? proto)) + return; + _constructionView.SetRecipeInfo( - prototype.Name, prototype.Description, _spriteSystem.Frame0(prototype.Icon), + prototype.Name!, + prototype.Description!, + proto, prototype.Type != ConstructionType.Item, !_favoritedRecipes.Contains(prototype)); @@ -349,16 +387,17 @@ namespace Content.Client.Construction.UI if (_constructionSystem?.GetGuide(prototype) is not { } guide) return; - foreach (var entry in guide.Entries) { var text = entry.Arguments != null - ? Loc.GetString(entry.Localization, entry.Arguments) : Loc.GetString(entry.Localization); + ? Loc.GetString(entry.Localization, entry.Arguments) + : Loc.GetString(entry.Localization); if (entry.EntryNumber is { } number) { text = Loc.GetString("construction-presenter-step-wrapper", - ("step-number", number), ("text", text)); + ("step-number", number), + ("text", text)); } // The padding needs to be applied regardless of text length... (See PadLeft documentation) @@ -369,23 +408,12 @@ namespace Content.Client.Construction.UI } } - private ItemList.Item GetItem(ConstructionPrototype recipe, ItemList itemList) - { - return new(itemList) - { - Metadata = recipe, - Text = recipe.Name, - Icon = _spriteSystem.Frame0(recipe.Icon), - TooltipEnabled = true, - TooltipText = recipe.Description, - }; - } - private void BuildButtonToggled(bool pressed) { if (pressed) { - if (_selected == null) return; + if (_selected == null) + return; // not bound to a construction system if (_constructionSystem is null) @@ -402,10 +430,11 @@ namespace Content.Client.Construction.UI } _placementManager.BeginPlacing(new PlacementInformation - { - IsTile = false, - PlacementOption = _selected.PlacementMode - }, new ConstructionPlacementHijack(_constructionSystem, _selected)); + { + IsTile = false, + PlacementOption = _selected.PlacementMode + }, + new ConstructionPlacementHijack(_constructionSystem, _selected)); UpdateGhostPlacement(); } @@ -429,38 +458,39 @@ namespace Content.Client.Construction.UI var constructSystem = _systemManager.GetEntitySystem(); _placementManager.BeginPlacing(new PlacementInformation() - { - IsTile = false, - PlacementOption = _selected.PlacementMode, - }, new ConstructionPlacementHijack(constructSystem, _selected)); + { + IsTile = false, + PlacementOption = _selected.PlacementMode, + }, + new ConstructionPlacementHijack(constructSystem, _selected)); _constructionView.BuildButtonPressed = true; } private void OnSystemLoaded(object? sender, SystemChangedArgs args) { - if (args.System is ConstructionSystem system) SystemBindingChanged(system); + if (args.System is ConstructionSystem system) + SystemBindingChanged(system); } private void OnSystemUnloaded(object? sender, SystemChangedArgs args) { - if (args.System is ConstructionSystem) SystemBindingChanged(null); + if (args.System is ConstructionSystem) + SystemBindingChanged(null); } private void OnViewFavoriteRecipe() { - if (_selected is not ConstructionPrototype recipe) + if (_selected is null) return; if (!_favoritedRecipes.Remove(_selected)) _favoritedRecipes.Add(_selected); - if (_selectedCategory == _favoriteCatName) + if (_selectedCategory == FavoriteCatName) { - if (_favoritedRecipes.Count > 0) - OnViewPopulateRecipes(_constructionView, (string.Empty, _favoriteCatName)); - else - OnViewPopulateRecipes(_constructionView, (string.Empty, string.Empty)); + OnViewPopulateRecipes(_constructionView, + _favoritedRecipes.Count > 0 ? (string.Empty, FavoriteCatName) : (string.Empty, string.Empty)); } PopulateInfo(_selected); @@ -492,6 +522,9 @@ namespace Content.Client.Construction.UI private void BindToSystem(ConstructionSystem system) { _constructionSystem = system; + + OnViewPopulateRecipes(_constructionView, (string.Empty, string.Empty)); + system.ToggleCraftingWindow += SystemOnToggleMenu; system.FlipConstructionPrototype += SystemFlipConstructionPrototype; system.CraftingAvailabilityChanged += SystemCraftingAvailabilityChanged; @@ -533,7 +566,8 @@ namespace Content.Client.Construction.UI if (IsAtFront) { WindowOpen = false; - _uiManager.GetActiveUIWidget().CraftingButton.SetClickPressed(false); // This does not call CraftingButtonToggled + _uiManager.GetActiveUIWidget() + .CraftingButton.SetClickPressed(false); // This does not call CraftingButtonToggled } else _constructionView.MoveToFront(); @@ -541,7 +575,8 @@ namespace Content.Client.Construction.UI else { WindowOpen = true; - _uiManager.GetActiveUIWidget().CraftingButton.SetClickPressed(true); // This does not call CraftingButtonToggled + _uiManager.GetActiveUIWidget() + .CraftingButton.SetClickPressed(true); // This does not call CraftingButtonToggled } } diff --git a/Content.IntegrationTests/Tests/CargoTest.cs b/Content.IntegrationTests/Tests/CargoTest.cs index c98b7f8c10..e5f9fa1e81 100644 --- a/Content.IntegrationTests/Tests/CargoTest.cs +++ b/Content.IntegrationTests/Tests/CargoTest.cs @@ -219,6 +219,7 @@ public sealed class CargoTest - type: stack id: StackProto + name: stack-steel spawn: A - type: entity diff --git a/Content.Server/Construction/ConstructionSystem.cs b/Content.Server/Construction/ConstructionSystem.cs index 9d881dcef0..343143b9bd 100644 --- a/Content.Server/Construction/ConstructionSystem.cs +++ b/Content.Server/Construction/ConstructionSystem.cs @@ -4,7 +4,6 @@ using Content.Shared.Construction; using Content.Shared.DoAfter; using JetBrains.Annotations; using Robust.Server.Containers; -using Robust.Shared.Prototypes; using Robust.Shared.Random; using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem; diff --git a/Content.Shared/Construction/ConstructionGraphNode.cs b/Content.Shared/Construction/ConstructionGraphNode.cs index fd70569e9d..9f91077205 100644 --- a/Content.Shared/Construction/ConstructionGraphNode.cs +++ b/Content.Shared/Construction/ConstructionGraphNode.cs @@ -28,17 +28,17 @@ namespace Content.Shared.Construction [DataField("transform")] public IGraphTransform[] TransformLogic = Array.Empty(); - [DataField("entity", customTypeSerializer: typeof(GraphNodeEntitySerializer), serverOnly:true)] + [DataField("entity", customTypeSerializer: typeof(GraphNodeEntitySerializer))] public IGraphNodeEntity Entity { get; private set; } = new NullNodeEntity(); /// - /// Ignore requests to change the entity if the entity's current prototype inherits from specified replacement + /// Ignore requests to change the entity if the entity's current prototype inherits from specified replacement /// /// - /// When this bool is true and a construction node specifies that the current entity should be replaced with a new entity, if the + /// When this bool is true and a construction node specifies that the current entity should be replaced with a new entity, if the /// current entity has an entity prototype which inherits from the replacement entity prototype, entity replacement will not occur. - /// E.g., if an entity with the 'AirlockCommand' prototype was to be replaced with a new entity that had the 'Airlock' prototype, - /// and 'DoNotReplaceInheritingEntities' was true, the entity would not be replaced because 'AirlockCommand' is derived from 'Airlock' + /// E.g., if an entity with the 'AirlockCommand' prototype was to be replaced with a new entity that had the 'Airlock' prototype, + /// and 'DoNotReplaceInheritingEntities' was true, the entity would not be replaced because 'AirlockCommand' is derived from 'Airlock' /// This will largely be used for construction graphs which have removeable upgrades, such as hacking protections for airlocks, /// so that the upgrades can be removed and you can return to the last primary construction step without replacing the entity /// diff --git a/Content.Server/Construction/NodeEntities/BoardNodeEntity.cs b/Content.Shared/Construction/NodeEntities/BoardNodeEntity.cs similarity index 80% rename from Content.Server/Construction/NodeEntities/BoardNodeEntity.cs rename to Content.Shared/Construction/NodeEntities/BoardNodeEntity.cs index 4f95945262..c1540c4a64 100644 --- a/Content.Server/Construction/NodeEntities/BoardNodeEntity.cs +++ b/Content.Shared/Construction/NodeEntities/BoardNodeEntity.cs @@ -1,10 +1,8 @@ -using Content.Server.Construction.Components; -using Content.Shared.Construction; using Content.Shared.Construction.Components; using JetBrains.Annotations; -using Robust.Server.Containers; +using Robust.Shared.Containers; -namespace Content.Server.Construction.NodeEntities; +namespace Content.Shared.Construction.NodeEntities; /// /// Works for both and @@ -21,7 +19,7 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity if (uid == null) return null; - var containerSystem = args.EntityManager.EntitySysManager.GetEntitySystem(); + var containerSystem = args.EntityManager.EntitySysManager.GetEntitySystem(); if (!containerSystem.TryGetContainer(uid.Value, Container, out var container) || container.ContainedEntities.Count == 0) @@ -33,7 +31,7 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity if (args.EntityManager.TryGetComponent(board, out MachineBoardComponent? machine)) return machine.Prototype; - if(args.EntityManager.TryGetComponent(board, out ComputerBoardComponent? computer)) + if (args.EntityManager.TryGetComponent(board, out ComputerBoardComponent? computer)) return computer.Prototype; return null; diff --git a/Content.Shared/Construction/Prototypes/ConstructionPrototype.cs b/Content.Shared/Construction/Prototypes/ConstructionPrototype.cs index ec5d2cc9da..0e1a50d9a2 100644 --- a/Content.Shared/Construction/Prototypes/ConstructionPrototype.cs +++ b/Content.Shared/Construction/Prototypes/ConstructionPrototype.cs @@ -1,8 +1,6 @@ using Content.Shared.Construction.Conditions; using Content.Shared.Whitelist; using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; -using Robust.Shared.Utility; namespace Content.Shared.Construction.Prototypes; @@ -14,65 +12,57 @@ public sealed partial class ConstructionPrototype : IPrototype /// /// Hide from the construction list /// - [DataField("hide")] + [DataField] public bool Hide = false; /// /// Friendly name displayed in the construction GUI. /// [DataField("name")] - public string Name = string.Empty; + public LocId? SetName; + + public string? Name; /// /// "Useful" description displayed in the construction GUI. /// [DataField("description")] - public string Description = string.Empty; + public LocId? SetDescription; + + public string? Description; /// /// The this construction will be using. /// - [DataField("graph", customTypeSerializer: typeof(PrototypeIdSerializer), required: true)] - public string Graph = string.Empty; + [DataField(required: true)] + public ProtoId Graph { get; private set; } = string.Empty; /// /// The target this construction will guide the user to. /// - [DataField("targetNode")] - public string TargetNode = string.Empty; + [DataField(required: true)] + public string TargetNode { get; private set; } = default!; /// /// The starting this construction will start at. /// - [DataField("startNode")] - public string StartNode = string.Empty; - - /// - /// Texture path inside the construction GUI. - /// - [DataField("icon")] - public SpriteSpecifier Icon = SpriteSpecifier.Invalid; - - /// - /// Texture paths used for the construction ghost. - /// - [DataField("layers")] - private List? _layers; + [DataField(required: true)] + public string StartNode { get; private set; } = default!; /// /// If you can start building or complete steps on impassable terrain. /// - [DataField("canBuildInImpassable")] + [DataField] public bool CanBuildInImpassable { get; private set; } /// /// If not null, then this is used to check if the entity trying to construct this is whitelisted. /// If they're not whitelisted, hide the item. /// - [DataField("entityWhitelist")] - public EntityWhitelist? EntityWhitelist = null; + [DataField] + public EntityWhitelist? EntityWhitelist { get; private set; } - [DataField("category")] public string Category { get; private set; } = ""; + [DataField] public string Category { get; private set; } = string.Empty; [DataField("objectType")] public ConstructionType Type { get; private set; } = ConstructionType.Structure; @@ -80,23 +70,22 @@ public sealed partial class ConstructionPrototype : IPrototype [IdDataField] public string ID { get; private set; } = default!; - [DataField("placementMode")] + [DataField] public string PlacementMode = "PlaceFree"; /// /// Whether this construction can be constructed rotated or not. /// - [DataField("canRotate")] + [DataField] public bool CanRotate = true; /// /// Construction to replace this construction with when the current one is 'flipped' /// - [DataField("mirror", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string? Mirror; + [DataField] + public ProtoId? Mirror { get; private set; } public IReadOnlyList Conditions => _conditions; - public IReadOnlyList Layers => _layers ?? new List { Icon }; } public enum ConstructionType diff --git a/Content.Shared/Construction/Steps/ArbitraryInsertConstructionGraphStep.cs b/Content.Shared/Construction/Steps/ArbitraryInsertConstructionGraphStep.cs index 49d429aa26..7615460001 100644 --- a/Content.Shared/Construction/Steps/ArbitraryInsertConstructionGraphStep.cs +++ b/Content.Shared/Construction/Steps/ArbitraryInsertConstructionGraphStep.cs @@ -5,24 +5,26 @@ namespace Content.Shared.Construction.Steps { public abstract partial class ArbitraryInsertConstructionGraphStep : EntityInsertConstructionGraphStep { - [DataField("name")] public string Name { get; private set; } = string.Empty; + [DataField] public LocId Name { get; private set; } = string.Empty; - [DataField("icon")] public SpriteSpecifier? Icon { get; private set; } + [DataField] public SpriteSpecifier? Icon { get; private set; } public override void DoExamine(ExaminedEvent examinedEvent) { if (string.IsNullOrEmpty(Name)) return; - examinedEvent.PushMarkup(Loc.GetString("construction-insert-arbitrary-entity", ("stepName", Name))); + var stepName = Loc.GetString(Name); + examinedEvent.PushMarkup(Loc.GetString("construction-insert-arbitrary-entity", ("stepName", stepName))); } public override ConstructionGuideEntry GenerateGuideEntry() { + var stepName = Loc.GetString(Name); return new ConstructionGuideEntry { Localization = "construction-presenter-arbitrary-step", - Arguments = new (string, object)[]{("name", Name)}, + Arguments = new (string, object)[]{("name", stepName)}, Icon = Icon, }; } diff --git a/Content.Shared/Construction/Steps/ComponentConstructionGraphStep.cs b/Content.Shared/Construction/Steps/ComponentConstructionGraphStep.cs index 5c28d3b05f..95f0eefb8a 100644 --- a/Content.Shared/Construction/Steps/ComponentConstructionGraphStep.cs +++ b/Content.Shared/Construction/Steps/ComponentConstructionGraphStep.cs @@ -26,7 +26,7 @@ namespace Content.Shared.Construction.Steps ("componentName", Component))// Terrible. : Loc.GetString( "construction-insert-exact-entity", - ("entityName", Name))); + ("entityName", Loc.GetString(Name)))); } } } diff --git a/Content.Shared/Construction/Steps/MaterialConstructionGraphStep.cs b/Content.Shared/Construction/Steps/MaterialConstructionGraphStep.cs index eec8d89b80..b1ae9cbdf7 100644 --- a/Content.Shared/Construction/Steps/MaterialConstructionGraphStep.cs +++ b/Content.Shared/Construction/Steps/MaterialConstructionGraphStep.cs @@ -2,7 +2,6 @@ using System.Diagnostics.CodeAnalysis; using Content.Shared.Examine; using Content.Shared.Stacks; using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Construction.Steps { @@ -11,16 +10,17 @@ namespace Content.Shared.Construction.Steps { // TODO: Make this use the material system. // TODO TODO: Make the material system not shit. - [DataField("material", required:true, customTypeSerializer:typeof(PrototypeIdSerializer))] - public string MaterialPrototypeId { get; private set; } = "Steel"; + [DataField("material", required:true)] + public ProtoId MaterialPrototypeId { get; private set; } - [DataField("amount")] public int Amount { get; private set; } = 1; + [DataField] public int Amount { get; private set; } = 1; public override void DoExamine(ExaminedEvent examinedEvent) { - var material = IoCManager.Resolve().Index(MaterialPrototypeId); + var material = IoCManager.Resolve().Index(MaterialPrototypeId); + var materialName = Loc.GetString(material.Name, ("amount", Amount)); - examinedEvent.PushMarkup(Loc.GetString("construction-insert-material-entity", ("amount", Amount), ("materialName", material.Name))); + examinedEvent.PushMarkup(Loc.GetString("construction-insert-material-entity", ("amount", Amount), ("materialName", materialName))); } public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory) @@ -40,12 +40,13 @@ namespace Content.Shared.Construction.Steps public override ConstructionGuideEntry GenerateGuideEntry() { - var material = IoCManager.Resolve().Index(MaterialPrototypeId); + var material = IoCManager.Resolve().Index(MaterialPrototypeId); + var materialName = Loc.GetString(material.Name, ("amount", Amount)); return new ConstructionGuideEntry() { Localization = "construction-presenter-material-step", - Arguments = new (string, object)[]{("amount", Amount), ("material", material.Name)}, + Arguments = new (string, object)[]{("amount", Amount), ("material", materialName)}, Icon = material.Icon, }; } diff --git a/Content.Shared/Examine/ExamineSystemShared.cs b/Content.Shared/Examine/ExamineSystemShared.cs index 72ea9dba65..228926fac4 100644 --- a/Content.Shared/Examine/ExamineSystemShared.cs +++ b/Content.Shared/Examine/ExamineSystemShared.cs @@ -1,7 +1,4 @@ -using System.Diagnostics; -using System.Globalization; using System.Linq; -using System.Text; using Content.Shared.Eye.Blinding.Components; using Content.Shared.Ghost; using Content.Shared.Interaction; diff --git a/Content.Shared/Stacks/StackPrototype.cs b/Content.Shared/Stacks/StackPrototype.cs index f108419a9e..d72380da62 100644 --- a/Content.Shared/Stacks/StackPrototype.cs +++ b/Content.Shared/Stacks/StackPrototype.cs @@ -1,5 +1,4 @@ using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.Utility; namespace Content.Shared.Stacks; @@ -16,7 +15,7 @@ public sealed partial class StackPrototype : IPrototype /// /// This is a localization string ID. [DataField] - public string Name { get; private set; } = string.Empty; + public LocId Name { get; private set; } = string.Empty; /// /// An icon that will be used to represent this stack type. diff --git a/Resources/Locale/en-US/construction/ui/construction-menu.ftl b/Resources/Locale/en-US/construction/ui/construction-menu.ftl index 4d10024785..4812604d60 100644 --- a/Resources/Locale/en-US/construction/ui/construction-menu.ftl +++ b/Resources/Locale/en-US/construction/ui/construction-menu.ftl @@ -5,4 +5,5 @@ construction-menu-place-ghost = Place construction ghost construction-menu-clear-all = Clear All construction-menu-eraser-mode = Eraser Mode construction-menu-craft = Craft +construction-menu-search = Search construction-menu-grid-view = Grid View diff --git a/Resources/Locale/en-US/recipes/components.ftl b/Resources/Locale/en-US/recipes/components.ftl new file mode 100644 index 0000000000..236097532c --- /dev/null +++ b/Resources/Locale/en-US/recipes/components.ftl @@ -0,0 +1,7 @@ +construction-graph-component-any-computer-circuit-board = any computer circuit board +construction-graph-component-door-electronics-circuit-board = door electronics circuit board +construction-graph-component-flash = flash +construction-graph-component-second-flash = second flash +construction-graph-component-power-cell = power cell +construction-graph-component-apc-electronics = APC electronics +construction-graph-component-payload-trigger = trigger diff --git a/Resources/Locale/en-US/recipes/recipes.ftl b/Resources/Locale/en-US/recipes/recipes.ftl new file mode 100644 index 0000000000..d09939692d --- /dev/null +++ b/Resources/Locale/en-US/recipes/recipes.ftl @@ -0,0 +1,2 @@ +recipes-secret-door-name = secret door +recipes-secret-door-desc = A secret door disguised as a wall. The perfect solution for hiding your shady dealings. diff --git a/Resources/Locale/en-US/recipes/tags.ftl b/Resources/Locale/en-US/recipes/tags.ftl new file mode 100644 index 0000000000..baae9a1303 --- /dev/null +++ b/Resources/Locale/en-US/recipes/tags.ftl @@ -0,0 +1,144 @@ +# clown +construction-graph-tag-banana-peel = a banana peel +construction-graph-tag-clown-suit = a clown suit +construction-graph-tag-clown-shoes = clown shoes +construction-graph-tag-clown-mask = a clown mask +construction-graph-tag-clown-recorder = clown recorder +construction-graph-tag-clown-bike-horn = bike horn +construction-graph-tag-clowne-horn = broken bike horn +construction-graph-tag-happy-honk-meal = happy honk meal +construction-graph-tag-woeful-cluwne-meal = woeful cluwne meal + +# mime +construction-graph-tag-suspenders = suspenders +construction-graph-tag-mime-meal = mime edition happy honk meal + +# crayon +construction-graph-tag-purple-crayon = purple crayon +construction-graph-tag-red-crayon = red crayon +construction-graph-tag-yellow-crayon = yellow crayon +construction-graph-tag-black-crayon = black crayon + +# eva +construction-graph-tag-eva-suit = an EVA suit +construction-graph-tag-eva-helmet = an EVA helmet + +# hud +construction-graph-tag-security-hud = security hud +construction-graph-tag-medical-hud = medical hud + +# security +construction-graph-tag-sun-glasses = sun glasses +construction-graph-tag-security-helmet = security helmet + +# materials +construction-graph-tag-capacitor = capacitor +construction-graph-tag-voice-trigger = a voice trigger +construction-graph-tag-signal-trigger = a signal trigger +construction-graph-tag-proximity-sensor = proximity sensor +construction-graph-tag-glass-shard = a glass shard +construction-graph-tag-plasma-glass-shard = a plasma glass shard +construction-graph-tag-uranium-glass-shard = a uranium glass shard +construction-graph-tag-reinforced-glass-shard = a reinforced glass shard +construction-graph-tag-grey-flatcap = a grey flatcap +construction-graph-tag-brown-flatcap = a brown flatcap +construction-graph-tag-cuffs = cuffs +construction-graph-tag-payload = payload +construction-graph-tag-empty-can = an empty can +construction-graph-tag-igniter = an igniter +construction-graph-tag-modular-receiver = modular receiver +construction-graph-tag-power-cell-small = power cell small +construction-graph-tag-power-cell = power cell +construction-graph-tag-potato-battery = a potato battery +construction-graph-tag-super-compact-ai-chip = a super-compact AI chip + +# other +construction-graph-tag-light-bulb = light bulb +construction-graph-tag-radio = radio +construction-graph-tag-pipe = pipe +construction-graph-tag-human-head = human head +construction-graph-tag-bucket = bucket +construction-graph-tag-borg-arm = borg arm +construction-graph-tag-borg-head = borg head +construction-graph-tag-medkit = medkit +construction-graph-tag-flower = flower +construction-graph-tag-ambrosia = ambrosia +construction-graph-tag-rifle-stock = rifle stock +construction-graph-tag-match-stick = match stick +construction-graph-tag-potato = a potato +construction-graph-tag-wheat-bushel = wheat bushel +construction-graph-tag-corgi-hide = corgi hide + +# toys +construction-graph-tag-rubber-ducky = a rubber ducky +construction-graph-tag-ghost = ghost soft toy +construction-graph-tag-ectoplasm = ectoplasm +construction-graph-tag-lizard-plushie = lizard plushie + +# carpet +construction-graph-tag-black-carpet = black carpet +construction-graph-tag-blue-carpet = blue carpet +construction-graph-tag-cyan-carpet = cyan carpet +construction-graph-tag-green-carpet = green carpet +construction-graph-tag-orange-carpet = orange carpet +construction-graph-tag-pink-carpet = pink carpet +construction-graph-tag-purple-carpet = purple carpet +construction-graph-tag-red-carpet = red carpet +construction-graph-tag-white-carpet = white carpet + +# mechs +construction-graph-tag-hamtr-central-control-module = HAMTR central control module +construction-graph-tag-hamtr-peripherals-control-module = HAMTR peripherals control module +construction-graph-tag-honk-central-control-module = H.O.N.K. central control module +construction-graph-tag-honk-peripherals-control-module = H.O.N.K. peripherals control module +construction-graph-tag-honk-weapon-control-and-targeting-module = H.O.N.K. weapon control and targeting module +construction-graph-tag-ripley-central-control-module = ripley central control module +construction-graph-tag-ripley-peripherals-control-module = ripley peripherals control module + +# structures +construction-graph-tag-door-electronics-circuit-board = door electronics circuit board +construction-graph-tag-firelock-electronics-circuit-board = firelock electronics circuit board +construction-graph-tag-conveyor-belt-assembly = conveyor belt assembly + +# tools +construction-graph-tag-multitool = a multitool +construction-graph-tag-health-analyzer = health analyzer + +# utils +construction-graph-tag-air-alarm-electronics = air alarm electronics +construction-graph-tag-fire-alarm-electronics = fire alarm electronics +construction-graph-tag-mailing-unit-electronics = mailing unit electronics +construction-graph-tag-intercom-electronics = intercom electronics +construction-graph-tag-solar-assembly-parts = solar assembly parts +construction-graph-tag-solar-tracker-electronics = solar tracker electronics +construction-graph-tag-station-map-electronics = station map electronics +construction-graph-tag-signal-timer-electronics = signal timer electronics +construction-graph-tag-screen-timer-electronics = screen timer electronics +construction-graph-tag-brig-timer-electronics = brig timer electronics +construction-graph-tag-wallmount-generator-circuit-board = wallmount generator circuit board +construction-graph-tag-wallmount-apu-circuit-board = wallmount APU circuit board +construction-graph-tag-wallmount-substation-circuit-board = wallmount substation circuit board +construction-graph-tag-surveillance-camera-monitor-board = surveillance camera monitor board +construction-graph-tag-television-board = television board +construction-graph-tag-freezer-electronics = freezer electronics + +# crystals +construction-graph-tag-cyan-crystal-shard = cyan crystal shard +construction-graph-tag-blue-crystal-shard = blue crystal shard +construction-graph-tag-pink-crystal-shard = pink crystal shard +construction-graph-tag-orange-crystal-shard = orange crystal shard +construction-graph-tag-red-crystal-shard = red crystal shard +construction-graph-tag-green-crystal-shard = green crystal shard +construction-graph-tag-yellow-crystal-shard = yellow crystal shard +construction-graph-tag-black-crystal-shard = black crystal shard + +# unknown +construction-graph-tag-weapon-pistol-chimp-upgrade-kit = pistol CHIMP upgrade kit +construction-graph-tag-torch = torch + +# atmos +construction-graph-tag-fire-extinguisher = fire extinguisher +construction-graph-tag-fire-helmet = fire helmet + +# salvage +construction-graph-tag-spationaut-hardsuit = spationaut hardsuit diff --git a/Resources/Locale/en-US/stack/stacks.ftl b/Resources/Locale/en-US/stack/stacks.ftl new file mode 100644 index 0000000000..f285303192 --- /dev/null +++ b/Resources/Locale/en-US/stack/stacks.ftl @@ -0,0 +1,234 @@ +stack-steel = steel +stack-bananium = bananium +stack-glass = glass +stack-plasteel = plasteel +stack-brass = brass +stack-plastic = plastic +stack-silver = silver +stack-gold = gold +stack-reinforced-glass = reinforced glass +stack-plasma-glass = plasma glass +stack-uranium = uranium +stack-uranium-glass = uranium glass +stack-clockwork-glass = clockwork glass +stack-reinforced-plasma-glass = reinforced plasma glass +stack-reinforced-uranium-glass = reinforced uranium glass +stack-gunpowder = gunpowder +stack-cardboard = cardboard + +stack-bones = {$amount -> + [1] bone + *[other] bones +} +stack-cloth = {$amount -> + [1] cloth + *[other] cloths +} +stack-lv-cable = {$amount -> + [1] lv cable + *[other] lv cables +} +stack-mv-cable = {$amount -> + [1] mv cable + *[other] mv cables +} +stack-hv-cable = {$amount -> + [1] hv cable + *[other] hv cables +} +stack-wood-plank = {$amount -> + [1] wood plank + *[other] wood planks +} +stack-durathread = {$amount -> + [1] durathread + *[other] durathreads +} +stack-rods = {$amount -> + [1] rod + *[other] rods +} +stack-meat-sheet = {$amount -> + [1] meat sheet + *[other] meat sheets +} +stack-space-carp-tooth = space carp {$amount -> + [1] tooth + *[other] teeth +} +stack-paper = {$amount -> + [1] paper + *[other] papers +} +stack-diamond = {$amount -> + [1] diamond + *[other] diamonds +} +stack-silk = {$amount -> + [1] silk + *[other] silks +} +stack-cotton = {$amount -> + [1] cotton + *[other] cottons +} +stack-artifact-fragment = artifact {$amount -> + [1] fragment + *[other] fragments +} + +# best materials +stack-ground-tobacco = ground tobacco +stack-ground-cannabis = ground cannabis +stack-ground-rainbow-cannabis = ground rainbow cannabis +stack-dried-tobacco-leaves = dried tobacco leaves +stack-dried-cannabis-leaves = dried cannabis leaves +stack-dried-rainbow-cannabis-leaves = dried rainbow cannabis leaves + +stack-cigarette-filter = cigarette {$amount -> + [1] filter + *[other] filters +} +stack-rolling-paper = rolling {$amount -> + [1] paper + *[other] papers +} + +stack-fulton = fulton +stack-credit = speso +stack-plasma = plasma +stack-biomass = biomass +stack-pyrotton = pyrotton +stack-sharkminnow-tooth = sharkminnow tooth +stack-goliath-hide = goliath hide +stack-telecrystal = telecrystal +stack-gold-ore = gold ore +stack-rough-diamond = rough diamond +stack-iron-ore = iron ore +stack-plasma-ore = plasma ore +stack-silver-ore = silver ore +stack-space-quartz = space quartz +stack-uranium-ore = uranium ore +stack-bananium-ore = bananium ore +stack-coal = coal +stack-salt = salt +stack-inflatable-wall = inflatable wall +stack-inflatable-door = inflatable door +stack-ointment = ointment +stack-aloe-cream = aloe cream +stack-gauze = gauze +stack-brutepack = brutepack +stack-bloodpack = bloodpack +stack-medicated-suture = medicated-suture +stack-regenerative-mesh = regenerative-mesh +stack-capacitor = capacitor +stack-micro-manipulator = micro manipulator +stack-matter-bin = matter bin +stack-pancake = pancake +stack-blueberry-pancake = blueberry pancake +stack-chocolate-chip-pancake = chocolate chip pancake +stack-pizza-box = pizza box +stack-dark-tile = dark tile +stack-dark-steel-diagonal-mini-tile = dark steel diagonal mini tile +stack-dark-steel-diagonal-tile = dark steel diagonal tile +stack-dark-steel-herringbone = dark steel herringbone +stack-dark-steel-mini-tile = dark steel mini tile +stack-dark-steel-mono-tile = dark steel mono tile +stack-dark-steel-pavement = dark steel pavement +stack-dark-steel-vertical-pavement = dark steel vertical pavement +stack-offset-dark-steel-tile = offset dark steel tile +stack-offset-steel-tile = offset steel tile +stack-steel-diagonal-mini-tile = steel diagonal mini tile +stack-steel-diagonal-tile = steel diagonal tile +stack-steel-herringbone = steel herringbone +stack-steel-mini-tile = steel mini tile +stack-steel-mono-tile = steel mono tile +stack-steel-pavement = steel pavement +stack-steel-vertical-pavement = steel vertical pavement +stack-white-tile = white tile +stack-offset-white-steel-tile = offset white steel tile +stack-white-steel-diagonal-mini-tile = white steel diagonal mini tile +stack-white-steel-diagonal-tile = white steel diagonal tile +stack-white-steel-herringbone = white steel herringbone +stack-white-steel-mini-tile = white steel mini tile +stack-white-steel-mono-tile = white steel mono tile +stack-white-steel-pavement = white steel pavement +stack-white-steel-vertical-pavement = white steel vertical pavement +stack-steel-dark-checker-tile = steel dark checker tile +stack-steel-light-checker-tile = steel light checker tile +stack-steel-tile = steel tile +stack-wood-floor = wood floor +stack-techmaint-floor = techmaint floor +stack-freezer-tile = freezer tile +stack-showroom-tile = showroom tile +stack-green-circuit-floor = green-circuit floor +stack-gold-floor = gold floor +stack-mono-tile = mono tile +stack-filled-brass-plate = filled brass plate +stack-smooth-brass-plate = smooth brass plate +stack-linoleum-floor = linoleum floor +stack-hydro-tile = hydro tile +stack-lime-tile = lime tile +stack-dirty-tile = dirty tile +stack-white-shuttle-tile = white shuttle tile +stack-blue-shuttle-tile = blue shuttle tile +stack-orange-shuttle-tile = orange shuttle tile +stack-purple-shuttle-tile = purple shuttle tile +stack-red-shuttle-tile = red shuttle tile +stack-grey-shuttle-tile = grey shuttle tile +stack-black-shuttle-tile = black shuttle tile +stack-eighties-floor-tile = eighties floor tile +stack-blue-arcade-tile = blue arcade tile +stack-red-arcade-tile = red arcade tile +stack-red-carpet-tile = red carpet tile +stack-block-carpet-tile = block carpet tile +stack-blue-carpet-tile = blue carpet tile +stack-green-carpet-tile = green carpet tile +stack-orange-carpet-tile = orange carpet tile +stack-skyblue-carpet-tile = skyblue carpet tile +stack-purple-carpet-tile = purple carpet tile +stack-pink-carpet-tile = pink carpet tile +stack-cyan-carpet-tile = cyan carpet tile +stack-white-carpet-tile = white carpet tile +stack-clown-carpet-tile = clown carpet tile +stack-office-carpet-tile = office carpet tile +stack-boxing-ring-tile = boxing ring tile +stack-gym-floor-tile = gym floor tile +stack-elevator-shaft-tile = elevator shaft tile +stack-rock-vault-tile = rock vault tile +stack-blue-floor-tile = blue floor tile +stack-mining-floor-tile = mining floor tile +stack-dark-mining-floor-tile = dark mining floor tile +stack-light-mining-floor-tile = light mining floor tile +stack-item-bar-floor-tile = item bar floor tile +stack-clown-floor-tile = clown floor tile +stack-mime-floor-tile = mime floor tile +stack-kitchen-floor-tile = kitchen floor tile +stack-laundry-floor-tile = laundry floor tile +stack-concrete-tile = concrete tile +stack-concrete-mono-tile = concrete mono tile +stack-concrete-smooth = concrete smooth +stack-gray-concrete-tile = gray concrete tile +stack-gray-concrete-mono-tile = gray concrete mono tile +stack-gray-concrete-smooth = gray concrete smooth +stack-old-concrete-tile = old concrete tile +stack-old-concrete-mono-tile = old concrete mono tile +stack-old-concrete-smooth = old concrete smooth +stack-silver-floor-tile = silver floor tile +stack-bcircuit-floor-tile = bcircuit floor tile +stack-grass-floor-tile = grass floor tile +stack-grass-jungle-floor-tile = grass jungle floor tile +stack-snow-floor-tile = snow floor tile +stack-wood-patter-floor = wood pattern floor +stack-flesh-floor = flesh floor +stack-steel-maint-floor = steel maint floor +stack-grating-maint-floor = grating maint floor +stack-web-tile = web tile +stack-astro-grass-floor = astro-grass floor +stack-mowed-astro-grass-floor = mowed astro-grass floor +stack-jungle-astro-grass-floor = jungle astro-grass floor +stack-astro-ice-floor = astro-ice floor +stack-astro-snow-floor = astro-snow floor +stack-large-wood-floor = large wood floor +stack-red-circuit-floor = red-circuit floor +stack-asteroid-astro-sand-floor = asteroid astro-sand floor diff --git a/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml b/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml index db08a70202..63b960b0e6 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml @@ -63,7 +63,7 @@ - type: stack id: Credit - name: speso + name: stack-credit icon: { sprite: /Textures/Objects/Economy/cash.rsi, state: cash } spawn: SpaceCash diff --git a/Resources/Prototypes/Entities/Objects/Tools/fulton.yml b/Resources/Prototypes/Entities/Objects/Tools/fulton.yml index 3a6d8ffc22..8c44ad606b 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/fulton.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/fulton.yml @@ -1,7 +1,7 @@ # Stack - type: stack id: Fulton - name: fulton + name: stack-fulton icon: sprite: /Textures/Objects/Tools/fulton.rsi state: extraction_pack diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_banana.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_banana.yml index 1cada5018c..53a4b8f718 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_banana.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_banana.yml @@ -7,19 +7,19 @@ - to: jumpsuit steps: - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel doAfter: 1 - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel doAfter: 1 - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel @@ -28,7 +28,7 @@ amount: 1 doAfter: 1 - tag: ClownSuit - name: a clown suit + name: construction-graph-tag-clown-suit icon: sprite: Clothing/Uniforms/Jumpsuit/clown.rsi state: icon @@ -45,19 +45,19 @@ - to: shoes steps: - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel doAfter: 1 - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel doAfter: 1 - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel @@ -66,7 +66,7 @@ amount: 1 doAfter: 1 - tag: ClownShoes - name: clown shoes + name: construction-graph-tag-clown-shoes icon: sprite: Clothing/Shoes/Specific/clown.rsi state: icon @@ -83,19 +83,19 @@ - to: mask steps: - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel doAfter: 1 - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel doAfter: 1 - tag: BananaPeel - name: a banana peel + name: construction-graph-tag-banana-peel icon: sprite: Objects/Specific/Hydroponics/banana.rsi state: peel @@ -104,7 +104,7 @@ amount: 1 doAfter: 1 - tag: ClownMask - name: a clown mask + name: construction-graph-tag-clown-mask icon: sprite: Clothing/Mask/clown.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_hardsuit.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_hardsuit.yml index 1600cd4641..dc95a5575f 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_hardsuit.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_hardsuit.yml @@ -10,37 +10,37 @@ amount: 5 doAfter: 1 - tag: SuitEVA - name: an EVA suit + name: construction-graph-tag-eva-suit icon: sprite: Clothing/OuterClothing/Suits/eva.rsi state: icon doAfter: 1 - tag: HelmetEVA - name: an EVA helmet + name: construction-graph-tag-eva-helmet icon: sprite: Clothing/Head/Helmets/eva.rsi state: icon doAfter: 1 - tag: CrayonPurple - name: purple crayon + name: construction-graph-tag-purple-crayon icon: sprite: Objects/Fun/crayons.rsi state: purple doAfter: 1 - tag: CrayonRed - name: red crayon + name: construction-graph-tag-red-crayon icon: sprite: Objects/Fun/crayons.rsi state: red doAfter: 1 - tag: CrayonYellow - name: yellow crayon + name: construction-graph-tag-yellow-crayon icon: sprite: Objects/Fun/crayons.rsi state: yellow doAfter: 1 - tag: ClownRecorder - name: clown recorder + name: construction-graph-tag-clown-recorder icon: sprite: Objects/Fun/clownrecorder.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/ducky_slippers.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/ducky_slippers.yml index e017096fa9..21ed5f2224 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/ducky_slippers.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/ducky_slippers.yml @@ -7,13 +7,13 @@ - to: shoes steps: - tag: ToyRubberDuck - name: a rubber ducky + name: construction-graph-tag-rubber-ducky icon: sprite: Objects/Fun/ducky.rsi state: icon doAfter: 1 - tag: ToyRubberDuck - name: a rubber ducky + name: construction-graph-tag-rubber-ducky icon: sprite: Objects/Fun/ducky.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/glasses_sechud.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/glasses_sechud.yml index de264dbd58..34aa60ab3f 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/glasses_sechud.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/glasses_sechud.yml @@ -7,13 +7,13 @@ - to: glassesSec steps: - tag: Sunglasses - name: sun glasses + name: construction-graph-tag-sun-glasses icon: sprite: Clothing/Eyes/Glasses/sunglasses.rsi state: icon doAfter: 5 - tag: HudSecurity - name: security hud + name: construction-graph-tag-security-hud icon: sprite: Clothing/Eyes/Hud/sec.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/helmet_justice.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/helmet_justice.yml index 0ea6cf404f..5c6e262a14 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/helmet_justice.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/helmet_justice.yml @@ -7,7 +7,7 @@ - to: helmet steps: - tag: SecurityHelmet - name: security helmet + name: construction-graph-tag-security-helmet icon: sprite: Clothing/Head/Helmets/security.rsi state: icon @@ -16,10 +16,10 @@ - material: Glass amount: 1 - tag: LightBulb - name: light bulb + name: construction-graph-tag-light-bulb icon: sprite: Objects/Power/light_bulb.rsi state: normal doAfter: 5 - node: helmet - entity: ClothingHeadHelmetJusticeEmpty \ No newline at end of file + entity: ClothingHeadHelmetJusticeEmpty diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/lizard_slippers.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/lizard_slippers.yml index b3a189c571..0cca4e0dcb 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/lizard_slippers.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/lizard_slippers.yml @@ -7,13 +7,13 @@ - to: shoes steps: - tag: PlushieLizard #Weh! - name: lizard plushie + name: construction-graph-tag-lizard-plushie icon: sprite: Objects/Fun/toys.rsi state: plushie_lizard doAfter: 1 - tag: PlushieLizard - name: lizard plushie + name: construction-graph-tag-lizard-plushie icon: sprite: Objects/Fun/toys.rsi state: plushie_lizard diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml index 78a27a9d0f..9b4435c6f0 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml @@ -7,13 +7,13 @@ - to: medsecHud steps: - tag: HudMedical - name: medical hud + name: construction-graph-tag-medical-hud icon: sprite: Clothing/Eyes/Hud/med.rsi state: icon doAfter: 5 - tag: HudSecurity - name: security hud + name: construction-graph-tag-security-hud icon: sprite: Clothing/Eyes/Hud/sec.rsi state: icon @@ -22,7 +22,7 @@ amount: 5 doAfter: 5 - tag: Radio - name: radio + name: construction-graph-tag-radio icon: sprite: Objects/Devices/communication.rsi state: walkietalkie diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/mime_hardsuit.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/mime_hardsuit.yml index 73d65b0394..55e262f47b 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/mime_hardsuit.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/mime_hardsuit.yml @@ -10,31 +10,31 @@ amount: 5 doAfter: 1 - tag: SuitEVA - name: an EVA suit + name: construction-graph-tag-eva-suit icon: sprite: Clothing/OuterClothing/Suits/eva.rsi state: icon doAfter: 1 - tag: HelmetEVA - name: an EVA helmet + name: construction-graph-tag-eva-helmet icon: sprite: Clothing/Head/Helmets/eva.rsi state: icon doAfter: 1 - tag: CrayonRed - name: red crayon + name: construction-graph-tag-red-crayon icon: sprite: Objects/Fun/crayons.rsi state: red doAfter: 1 - tag: CrayonBlack - name: black crayon + name: construction-graph-tag-black-crayon icon: sprite: Objects/Fun/crayons.rsi state: black doAfter: 1 - tag: MimeBelt - name: suspenders + name: construction-graph-tag-suspenders icon: sprite: Clothing/Belt/suspenders_red.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/fun/bananium_horn.yml b/Resources/Prototypes/Recipes/Construction/Graphs/fun/bananium_horn.yml index e8380d0d2d..74c280e184 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/fun/bananium_horn.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/fun/bananium_horn.yml @@ -7,7 +7,7 @@ - to: bananiumHorn steps: - tag: Pipe - name: pipe + name: construction-graph-tag-pipe icon: sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight @@ -16,7 +16,7 @@ amount: 4 doAfter: 1 - tag: BikeHorn - name: bike horn + name: construction-graph-tag-clown-bike-horn icon: sprite: Objects/Fun/bikehorn.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/fun/jack_o_lantern.yml b/Resources/Prototypes/Recipes/Construction/Graphs/fun/jack_o_lantern.yml index efd2007df6..8b086b28b1 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/fun/jack_o_lantern.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/fun/jack_o_lantern.yml @@ -7,7 +7,8 @@ - to: lit steps: - tag: Torch + name: construction-graph-tag-torch doAfter: 2 - node: lit - entity: PumpkinLantern \ No newline at end of file + entity: PumpkinLantern diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/ritualseat.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/ritualseat.yml index 47e11d0f20..a0f1e99f31 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/ritualseat.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/ritualseat.yml @@ -33,7 +33,7 @@ icon: sprite: Mobs/Species/Human/parts.rsi state: "head_m" - name: human head + name: construction-graph-tag-human-head doAfter: 1 - node: chairCursed diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/computer.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/computer.yml index 4530cef1b2..46493299a5 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/computer.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/computer.yml @@ -24,7 +24,7 @@ steps: - component: ComputerBoard store: board - name: any computer circuit board + name: construction-graph-component-any-computer-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "id_mod" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 9f68a3b773..df0f15c87d 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -16,14 +16,14 @@ store: part-container - component: Flash - name: flash + name: construction-graph-component-flash store: part-container icon: sprite: Objects/Weapons/Melee/flash.rsi state: flash - component: Flash - name: second flash + name: construction-graph-component-second-flash store: part-container icon: sprite: Objects/Weapons/Melee/flash.rsi @@ -36,4 +36,4 @@ entity: BorgChassisSelectable - node: derelictcyborg - entity: BorgChassisDerelict \ No newline at end of file + entity: BorgChassisDerelict diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml index fb05cc313b..687d72f390 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml @@ -34,7 +34,7 @@ data: 4 - tag: HamtrCentralControlModule - name: HAMTR central control module + name: construction-graph-tag-hamtr-central-control-module icon: sprite: "Objects/Misc/module.rsi" state: "mainboard" @@ -51,7 +51,7 @@ data: 6 - tag: HamtrPeripheralsControlModule - name: HAMTR peripherals control module + name: construction-graph-tag-hamtr-peripherals-control-module icon: sprite: "Objects/Misc/module.rsi" state: id_mod @@ -71,7 +71,7 @@ #currently mechs don't support upgrading. add them back in once that's squared away. - component: PowerCell - name: power cell + name: construction-graph-component-power-cell store: battery-container icon: sprite: Objects/Power/power_cells.rsi diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml index 830b6bcb6f..8274c4c0d1 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml @@ -14,7 +14,7 @@ data: 1 - tag: HonkerCentralControlModule - name: H.O.N.K. central control module + name: construction-graph-tag-honk-central-control-module icon: sprite: "Objects/Misc/module.rsi" state: "mainboard" @@ -31,7 +31,7 @@ data: 3 - tag: HonkerPeripheralsControlModule - name: H.O.N.K. peripherals control module + name: construction-graph-tag-honk-peripherals-control-module icon: sprite: "Objects/Misc/module.rsi" state: id_mod @@ -48,7 +48,7 @@ data: 5 - tag: HonkerTargetingControlModule - name: H.O.N.K. weapon control and targeting module + name: construction-graph-tag-honk-weapon-control-and-targeting-module icon: sprite: "Objects/Misc/module.rsi" state: id_mod @@ -68,7 +68,7 @@ #currently mechs don't support upgrading. add them back in once that's squared away. - component: PowerCell - name: power cell + name: construction-graph-component-power-cell store: battery-container icon: sprite: Objects/Power/power_cells.rsi @@ -89,7 +89,7 @@ icon: sprite: "Clothing/Mask/clown.rsi" state: "icon" - name: "a clown's mask" + name: construction-graph-tag-clown-mask doAfter: 1 completed: - !type:VisualizerDataInt @@ -100,7 +100,7 @@ icon: sprite: "Clothing/Shoes/Specific/clown.rsi" state: "icon" - name: "a clown's shoes" + name: construction-graph-tag-clown-shoes doAfter: 1 completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml index 659a0360ca..db45cbc4f1 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml @@ -34,7 +34,7 @@ data: 4 - tag: RipleyCentralControlModule - name: ripley central control module + name: construction-graph-tag-ripley-central-control-module icon: sprite: "Objects/Misc/module.rsi" state: "mainboard" @@ -51,7 +51,7 @@ data: 6 - tag: RipleyPeripheralsControlModule - name: ripley peripherals control module + name: construction-graph-tag-ripley-peripherals-control-module icon: sprite: "Objects/Misc/module.rsi" state: id_mod @@ -71,7 +71,7 @@ #currently mechs don't support upgrading. add them back in once that's squared away. - component: PowerCell - name: power cell + name: construction-graph-component-power-cell store: battery-container icon: sprite: Objects/Power/power_cells.rsi @@ -122,4 +122,4 @@ - node: ripley actions: - !type:BuildMech - mechPrototype: MechRipley \ No newline at end of file + mechPrototype: MechRipley diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml index a502bdfd53..7feed88cc5 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml @@ -7,7 +7,7 @@ - to: vim steps: - tag: VoiceTrigger - name: a voice trigger + name: construction-graph-tag-voice-trigger icon: sprite: "Objects/Devices/voice.rsi" state: "voice" @@ -16,7 +16,7 @@ key: "enum.MechAssemblyVisuals.State" data: 1 - component: PowerCell - name: a power cell + name: construction-graph-component-power-cell store: battery-container icon: sprite: Objects/Power/power_cells.rsi diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml index 0bb6b4b1ce..7bc9d66691 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml @@ -48,7 +48,7 @@ steps: - component: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-component-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock_clockwork.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock_clockwork.yml index 76b641a06d..915c88b3b3 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock_clockwork.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock_clockwork.yml @@ -48,7 +48,7 @@ steps: - tag: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-tag-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/blast_door.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/blast_door.yml index 782e894fe7..0902829e9b 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/blast_door.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/blast_door.yml @@ -47,7 +47,7 @@ steps: - tag: DoorElectronics store: board - name: door electronics + name: construction-graph-tag-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/conveyor.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/conveyor.yml index 43d2484bbd..4554fd26a1 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/conveyor.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/conveyor.yml @@ -10,7 +10,7 @@ icon: sprite: Structures/conveyor.rsi state: conveyor_loose - name: conveyor belt assembly + name: construction-graph-tag-conveyor-belt-assembly doAfter: 2 - node: item entity: ConveyorBeltAssembly diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/firelock.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/firelock.yml index 6b6d5c4895..cbce045456 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/firelock.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/firelock.yml @@ -50,7 +50,7 @@ steps: - tag: FirelockElectronics store: board - name: firelock electronics + name: construction-graph-tag-firelock-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "mainboard" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/glassbox.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/glassbox.yml index 2a051b46d4..772c941833 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/glassbox.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/glassbox.yml @@ -42,7 +42,7 @@ - !type:EntityAnchored steps: - tag: SignalTrigger - name: a signal trigger + name: construction-graph-tag-signal-trigger icon: sprite: Objects/Devices/signaltrigger.rsi state: signaltrigger diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/secretdoor.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/secretdoor.yml index 2c5a0db2b8..553053caab 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/secretdoor.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/secretdoor.yml @@ -48,7 +48,7 @@ - to: electronics steps: - component: PowerCell - name: power cell + name: construction-graph-component-power-cell store: battery-container icon: sprite: Objects/Power/power_cells.rsi diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml index 7086216cba..10b4ae6ae3 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shutter.yml @@ -45,7 +45,7 @@ anchored: true steps: - component: DoorElectronics - name: door electronics + name: construction-graph-component-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/shuttle.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shuttle.yml index f29629043d..20eda8b6e4 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/shuttle.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shuttle.yml @@ -25,7 +25,7 @@ steps: - component: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-component-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml index b56c48d0df..2dd297f657 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml @@ -109,7 +109,7 @@ steps: - component: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-component-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" @@ -183,7 +183,7 @@ steps: - tag: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-tag-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" @@ -257,7 +257,7 @@ steps: - tag: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-tag-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" @@ -379,7 +379,7 @@ steps: - component: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-component-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" @@ -491,7 +491,7 @@ steps: - tag: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-tag-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" @@ -566,7 +566,7 @@ steps: - tag: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-tag-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" @@ -644,7 +644,7 @@ steps: - tag: DoorElectronics store: board - name: "door electronics circuit board" + name: construction-graph-tag-door-electronics-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml b/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml index 5a7dfbb3bf..01225fa63e 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml @@ -40,12 +40,17 @@ icon: sprite: Objects/Tools/multitool.rsi state: icon - name: a multitool + name: construction-graph-tag-multitool - material: Cable amount: 2 doAfter: 1 - to: memory_cell steps: + - tag: CapacitorStockPart + icon: + sprite: Objects/Misc/stock_parts.rsi + state: capacitor + name: construction-graph-tag-capacitor - material: Capacitor amount: 1 - material: Cable diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/APC.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/APC.yml index 2941ba8235..1a23029ecc 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/APC.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/APC.yml @@ -15,7 +15,7 @@ - to: apc steps: - component: ApcElectronics - name: "APC electronics" + name: construction-graph-component-apc-electronics doAfter: 2 - to: start completed: diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/air_alarms.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/air_alarms.yml index 5aee750b9a..299731ac24 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/air_alarms.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/air_alarms.yml @@ -37,7 +37,7 @@ steps: - tag: AirAlarmElectronics store: board - name: "air alarm electronics" + name: construction-graph-tag-air-alarm-electronics icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" # /tg/ uses the same sprite, right? @@ -116,7 +116,7 @@ steps: - tag: FireAlarmElectronics store: board - name: "fire alarm electronics" + name: construction-graph-tag-fire-alarm-electronics icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" # /tg/ uses the same sprite, right? diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/disposal_machines.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/disposal_machines.yml index 8c880d3964..46533d8d0d 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/disposal_machines.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/disposal_machines.yml @@ -64,7 +64,7 @@ - to: frame_mailing steps: - tag: MailingUnitElectronics - name: mailing unit electronics + name: construction-graph-tag-mailing-unit-electronics icon: sprite: "Objects/Misc/module.rsi" state: "net_wired" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/intercom.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/intercom.yml index ba29d72539..864e1a1802 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/intercom.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/intercom.yml @@ -39,7 +39,7 @@ steps: - tag: IntercomElectronics store: board - name: "intercom electronics" + name: construction-graph-tag-intercom-electronics icon: sprite: "Objects/Misc/module.rsi" state: "id_mod" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml index ef461eda9b..9bd988d11e 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml @@ -10,7 +10,7 @@ amount: 1 doAfter: 1 - tag: CrystalCyan - name: cyan crystal shard + name: construction-graph-tag-cyan-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -31,7 +31,7 @@ amount: 1 doAfter: 1 - tag: CrystalBlue - name: blue crystal shard + name: construction-graph-tag-blue-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -51,7 +51,7 @@ amount: 1 doAfter: 1 - tag: CrystalYellow - name: yellow crystal shard + name: construction-graph-tag-yellow-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -71,7 +71,7 @@ amount: 1 doAfter: 1 - tag: CrystalPink - name: pink crystal shard + name: construction-graph-tag-pink-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -91,7 +91,7 @@ amount: 1 doAfter: 1 - tag: CrystalOrange - name: orange crystal shard + name: construction-graph-tag-orange-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -111,7 +111,7 @@ amount: 1 doAfter: 1 - tag: CrystalBlack - name: black crystal shard + name: construction-graph-tag-black-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -131,7 +131,7 @@ amount: 1 doAfter: 1 - tag: CrystalRed - name: red crystal shard + name: construction-graph-tag-red-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -151,7 +151,7 @@ amount: 1 doAfter: 1 - tag: CrystalGreen - name: green crystal shard + name: construction-graph-tag-green-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -171,7 +171,7 @@ amount: 1 doAfter: 1 - tag: CrystalCyan - name: cyan crystal shard + name: construction-graph-tag-cyan-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -192,7 +192,7 @@ amount: 1 doAfter: 1 - tag: CrystalBlue - name: blue crystal shard + name: construction-graph-tag-blue-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -212,7 +212,7 @@ amount: 1 doAfter: 1 - tag: CrystalYellow - name: yellow crystal shard + name: construction-graph-tag-yellow-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -232,7 +232,7 @@ amount: 1 doAfter: 1 - tag: CrystalPink - name: pink crystal shard + name: construction-graph-tag-pink-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -252,7 +252,7 @@ amount: 1 doAfter: 1 - tag: CrystalOrange - name: orange crystal shard + name: construction-graph-tag-orange-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -272,7 +272,7 @@ amount: 1 doAfter: 1 - tag: CrystalBlack - name: black crystal shard + name: construction-graph-tag-black-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -292,7 +292,7 @@ amount: 1 doAfter: 1 - tag: CrystalRed - name: red crystal shard + name: construction-graph-tag-red-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 @@ -312,7 +312,7 @@ amount: 1 doAfter: 1 - tag: CrystalGreen - name: green crystal shard + name: construction-graph-tag-green-crystal-shard icon: sprite: Objects/Materials/Shards/crystal.rsi state: shard1 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml index 8dee23d021..8398eb1b60 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml @@ -7,7 +7,7 @@ - to: solarassembly steps: - tag: SolarAssemblyFlatpack - name: solar assembly parts + name: construction-graph-tag-solar-assembly-parts icon: sprite: Objects/Devices/flatpack.rsi state: solar-assembly-part @@ -57,7 +57,7 @@ - !type:EntityAnchored steps: - tag: SolarTrackerElectronics - name: solar tracker electronics + name: construction-graph-tag-solar-tracker-electronics icon: sprite: Objects/Misc/module.rsi state: engineering diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/station_maps.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/station_maps.yml index eb826a0f98..5329eaf68f 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/station_maps.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/station_maps.yml @@ -39,7 +39,7 @@ steps: - tag: StationMapElectronics store: board - name: "station map electronics" + name: construction-graph-tag-station-map-electronics icon: sprite: "Objects/Misc/module.rsi" state: "door_electronics" # /tg/ uses the same sprite, right? diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/timer.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/timer.yml index 0d400a848d..6ffd912907 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/timer.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/timer.yml @@ -37,7 +37,7 @@ steps: - tag: TimerSignalElectronics store: board - name: "signal timer electronics" + name: construction-graph-tag-signal-timer-electronics icon: sprite: "Objects/Misc/module.rsi" state: "charger_APC" @@ -46,7 +46,7 @@ steps: - tag: TimerScreenElectronics store: board - name: "screen timer electronics" + name: construction-graph-tag-screen-timer-electronics icon: sprite: "Objects/Misc/module.rsi" state: "charger_APC" @@ -55,7 +55,7 @@ steps: - tag: TimerBrigElectronics store: board - name: "brig timer electronics" + name: construction-graph-tag-brig-timer-electronics icon: sprite: "Objects/Misc/module.rsi" state: "charger_APC" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_generator.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_generator.yml index 24d928cc40..797922d40f 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_generator.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_generator.yml @@ -37,7 +37,7 @@ steps: - tag: WallmountGeneratorElectronics store: board - name: "wallmount generator circuit board" + name: construction-graph-tag-wallmount-generator-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "charger_APC" @@ -46,7 +46,7 @@ steps: - tag: WallmountGeneratorAPUElectronics store: board - name: "wallmount APU circuit board" + name: construction-graph-tag-wallmount-apu-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "charger_APC" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml index bd9b2415e2..6fdb516fe9 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml @@ -43,7 +43,7 @@ steps: - tag: WallmountSubstationElectronics store: board - name: "wallmount substation circuit board" + name: construction-graph-tag-wallmount-substation-circuit-board icon: sprite: "Objects/Misc/module.rsi" state: "charger_APC" @@ -52,7 +52,7 @@ - PowerCell - PowerCellSmall store: powercell - name: a powercell + name: construction-graph-tag-power-cell icon: sprite: "Objects/Power/power_cells.rsi" state: "medium" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_telemonitors.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_telemonitors.yml index 51ebed2ee1..4fcdb422f6 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_telemonitors.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_telemonitors.yml @@ -38,7 +38,7 @@ - tool: Screwing doAfter: 2 - tag: SurveillanceCameraMonitorCircuitboard - name: surveillance camera monitor board + name: construction-graph-tag-surveillance-camera-monitor-board icon: sprite: Objects/Misc/module.rsi state: cpuboard @@ -127,7 +127,7 @@ - tool: Screwing doAfter: 2 - tag: ComputerTelevisionCircuitboard - name: television board + name: construction-graph-tag-television-board icon: sprite: Objects/Misc/module.rsi state: cpuboard diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bladed_hats.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bladed_hats.yml index e582c3e4ae..b0817be44a 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bladed_hats.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bladed_hats.yml @@ -7,13 +7,13 @@ - to: icon steps: - tag: GlassShard - name: a glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 doAfter: 1 - tag: BrimFlatcapGrey - name: a grey flatcap + name: construction-graph-tag-grey-flatcap icon: sprite: Clothing/Head/Hats/greyflatcap.rsi state: icon @@ -29,13 +29,13 @@ - to: icon steps: - tag: GlassShard - name: a glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 doAfter: 1 - tag: BrimFlatcapBrown - name: a brown flatcap + name: construction-graph-tag-brown-flatcap icon: sprite: Clothing/Head/Hats/brownflatcap.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bola.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bola.yml index 10532996bd..e1a93774a6 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bola.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/bola.yml @@ -11,7 +11,7 @@ sprite: Objects/Misc/cablecuffs.rsi state: cuff color: red - name: cuffs + name: construction-graph-tag-cuffs - material: Steel amount: 6 doAfter: 2 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/improvised_arrow.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/improvised_arrow.yml index 8f368f9e59..e04e359b50 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/improvised_arrow.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/improvised_arrow.yml @@ -13,7 +13,7 @@ amount: 1 doAfter: 0.5 - tag: GlassShard - name: glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -37,7 +37,7 @@ amount: 1 doAfter: 0.5 - tag: PlasmaGlassShard - name: plasma glass shard + name: construction-graph-tag-plasma-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -61,7 +61,7 @@ amount: 1 doAfter: 0.5 - tag: UraniumGlassShard - name: uranium glass shard + name: construction-graph-tag-uranium-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_grenade.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_grenade.yml index 838a6cdb6c..9986c93f4c 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_grenade.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_grenade.yml @@ -48,13 +48,13 @@ steps: - component: PayloadTrigger store: payloadTrigger - name: trigger + name: construction-graph-component-payload-trigger doAfter: 0.5 - to: caseWithPayload steps: - tag: Payload store: payload - name: payload + name: construction-graph-tag-payload doAfter: 0.5 - node: caseWithTrigger @@ -74,7 +74,7 @@ steps: - tag: Payload store: payload - name: payload + name: construction-graph-tag-payload doAfter: 0.5 - node: caseWithPayload @@ -94,7 +94,7 @@ steps: - component: PayloadTrigger store: payloadTrigger - name: trigger + name: construction-graph-component-payload-trigger doAfter: 0.5 - node: grenade diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_mine.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_mine.yml index b598c01cde..95b4b4bcc7 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_mine.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/modular_mine.yml @@ -22,7 +22,7 @@ icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor - to: start completed: - !type:SpawnPrototype @@ -52,7 +52,7 @@ steps: - tag: Payload store: payload - name: payload + name: construction-graph-tag-payload doAfter: 0.5 - node: mine diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/shiv.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/shiv.yml index a434e70729..05dbba12a8 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/shiv.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/shiv.yml @@ -30,7 +30,7 @@ impact: High steps: - tag: GlassShard - name: glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -73,7 +73,7 @@ impact: High steps: - tag: ReinforcedGlassShard - name: reinforced glass shard + name: construction-graph-tag-reinforced-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -116,7 +116,7 @@ impact: High steps: - tag: PlasmaGlassShard - name: plasma glass shard + name: construction-graph-tag-plasma-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -159,7 +159,7 @@ impact: High steps: - tag: UraniumGlassShard - name: uranium glass shard + name: construction-graph-tag-uranium-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/spear.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/spear.yml index 8b6f0708c7..661737f5b6 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/spear.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/spear.yml @@ -17,7 +17,7 @@ amount: 3 doAfter: 1 - tag: GlassShard - name: glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -44,7 +44,7 @@ amount: 3 doAfter: 1 - tag: ReinforcedGlassShard - name: reinforced glass shard + name: construction-graph-tag-reinforced-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -71,7 +71,7 @@ amount: 3 doAfter: 1 - tag: PlasmaGlassShard - name: plasma glass shard + name: construction-graph-tag-plasma-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 @@ -98,7 +98,7 @@ amount: 3 doAfter: 1 - tag: UraniumGlassShard - name: uranium glass shard + name: construction-graph-tag-uranium-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/upgraded_chimp.yml b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/upgraded_chimp.yml index eecd78cc13..8cbcb8c964 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/weapons/upgraded_chimp.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/weapons/upgraded_chimp.yml @@ -7,7 +7,8 @@ - to: upgraded steps: - tag: WeaponPistolCHIMPUpgradeKit + name: construction-graph-tag-weapon-pistol-chimp-upgrade-kit doAfter: 2 - node: upgraded - entity: WeaponPistolCHIMPUpgraded \ No newline at end of file + entity: WeaponPistolCHIMPUpgraded diff --git a/Resources/Prototypes/Recipes/Construction/clothing.yml b/Resources/Prototypes/Recipes/Construction/clothing.yml index 8f49d26e6b..0a23bc8648 100644 --- a/Resources/Prototypes/Recipes/Construction/clothing.yml +++ b/Resources/Prototypes/Recipes/Construction/clothing.yml @@ -1,142 +1,103 @@ - type: construction - name: clown hardsuit id: ClownHardsuit graph: ClownHardsuit startNode: start targetNode: clownHardsuit category: construction-category-clothing - description: A modified hardsuit fit for a clown. - icon: { sprite: Clothing/OuterClothing/Hardsuits/clown.rsi, state: icon } objectType: Item - type: construction - name: mime hardsuit id: MimeHardsuit graph: MimeHardsuit startNode: start targetNode: mimeHardsuit category: construction-category-clothing - description: A modified hardsuit fit for a mime. - icon: { sprite: Clothing/OuterClothing/Hardsuits/mime.rsi, state: icon } objectType: Item - type: construction - name: bone armor id: BoneArmor graph: BoneArmor startNode: start targetNode: armor category: construction-category-clothing - description: Armor made of bones. - icon: { sprite: Clothing/OuterClothing/Armor/bone_armor.rsi, state: icon } objectType: Item - type: construction - name: bone helmet id: BoneHelmet graph: BoneHelmet startNode: start targetNode: helmet category: construction-category-clothing - description: Helmet made of bones. - icon: { sprite: Clothing/Head/Helmets/bone_helmet.rsi, state: icon } objectType: Item - type: construction - name: banana clown mask id: BananaClownMask graph: BananaClownMask startNode: start targetNode: mask category: construction-category-clothing - description: A clown mask upgraded with banana peels. - icon: { sprite: Clothing/Mask/clown_banana.rsi, state: icon } objectType: Item - type: construction - name: banana clown suit id: BananaClownJumpsuit graph: BananaClownJumpsuit startNode: start targetNode: jumpsuit category: construction-category-clothing - description: A clown suit upgraded with banana peels. - icon: { sprite: Clothing/Uniforms/Jumpsuit/clown_banana.rsi, state: icon } objectType: Item - type: construction - name: banana clown shoes id: BananaClownShoes graph: BananaClownShoes startNode: start targetNode: shoes category: construction-category-clothing - description: A pair of clown shoes upgraded with banana peels. - icon: { sprite: Clothing/Shoes/Specific/clown_banana.rsi, state: icon } objectType: Item - type: construction - name: medsec hud id: ClothingEyesHudMedSec graph: HudMedSec startNode: start targetNode: medsecHud category: construction-category-clothing - description: Two huds joined by arms - icon: { sprite: Clothing/Eyes/Hud/medsec.rsi, state: icon } objectType: Item - type: construction - name: ducky slippers id: ClothingShoeSlippersDuck graph: ClothingShoeSlippersDuck startNode: start targetNode: shoes category: construction-category-clothing - description: Comfy, yet haunted by the ghosts of ducks you fed bread to as a child. - icon: { sprite: Clothing/Shoes/Misc/duck-slippers.rsi, state: icon } objectType: Item - type: construction - name: lizard plushie slippers id: ClothingShoeSlippersLizard graph: ClothingShoeSlippersLizard startNode: start targetNode: shoes category: construction-category-clothing - description: An adorable pair of slippers that resemble a lizardperson. Combine this with some other green clothing and you'll be the coolest crewmember on the station! - icon: { sprite: Clothing/Shoes/Misc/lizard-slippers.rsi, state: icon } objectType: Item - type: construction - name: security glasses id: ClothingEyesGlassesSecurity graph: GlassesSecHUD startNode: start targetNode: glassesSec category: construction-category-clothing - description: A pair of sunglasses, modified to have a built-in security HUD. - icon: { sprite: Clothing/Eyes/Glasses/secglasses.rsi, state: icon } objectType: Item - type: construction - name: quiver id: ClothingBeltQuiver graph: Quiver startNode: start targetNode: Quiver category: construction-category-clothing - description: Can hold up to 15 arrows, and fits snug around your waist. - icon: { sprite: Clothing/Belt/quiver.rsi, state: icon } objectType: Item - type: construction - name: justice helm id: ClothingHeadHelmetJustice graph: HelmetJustice startNode: start targetNode: helmet category: construction-category-clothing - description: Advanced security gear. Protects the station from ne'er-do-wells. - icon: { sprite: Clothing/Head/Helmets/justice.rsi, state: icon } - objectType: Item \ No newline at end of file + objectType: Item diff --git a/Resources/Prototypes/Recipes/Construction/fun.yml b/Resources/Prototypes/Recipes/Construction/fun.yml index 46d43e7372..1f810fd1d9 100644 --- a/Resources/Prototypes/Recipes/Construction/fun.yml +++ b/Resources/Prototypes/Recipes/Construction/fun.yml @@ -1,10 +1,7 @@ - type: construction - name: bananium horn id: HornBananium graph: BananiumHorn startNode: start targetNode: bananiumHorn category: construction-category-weapons - description: An air horn made from bananium. - icon: { sprite: Objects/Fun/bananiumhorn.rsi, state: icon } objectType: Item diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index 80e65fdac3..9b2670dda9 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -1,15 +1,10 @@ #chairs - type: construction - name: chair id: Chair graph: Seat startNode: start targetNode: chair category: construction-category-furniture - description: You sit in this. Either by will or force. - icon: - sprite: Structures/Furniture/chairs.rsi - state: chair objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -17,16 +12,11 @@ - !type:TileNotBlocked - type: construction - name: stool id: Stool graph: Seat startNode: start targetNode: stool category: construction-category-furniture - description: You sit in this. Either by will or force. - icon: - sprite: Structures/Furniture/chairs.rsi - state: stool objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -34,16 +24,11 @@ - !type:TileNotBlocked - type: construction - name: bar stool id: StoolBar graph: Seat startNode: start targetNode: stoolBar category: construction-category-furniture - description: You sit in this. Either by will or force. - icon: - sprite: Structures/Furniture/chairs.rsi - state: bar objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -51,16 +36,11 @@ - !type:TileNotBlocked - type: construction - name: brass chair id: ChairBrass graph: Seat startNode: start targetNode: chairBrass category: construction-category-furniture - description: You sit in this. Either by will or force. - icon: - sprite: Structures/Furniture/chairs.rsi - state: brass_chair objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -68,16 +48,11 @@ - !type:TileNotBlocked - type: construction - name: office chair id: ChairOfficeLight graph: Seat startNode: start targetNode: chairOffice category: construction-category-furniture - description: You sit in this. Either by will or force. - icon: - sprite: Structures/Furniture/chairs.rsi - state: office-white objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -85,16 +60,11 @@ - !type:TileNotBlocked - type: construction - name: dark office chair id: ChairOfficeDark graph: Seat startNode: start targetNode: chairOfficeDark category: construction-category-furniture - description: You sit in this. Either by will or force. - icon: - sprite: Structures/Furniture/chairs.rsi - state: office-dark objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -102,16 +72,11 @@ - !type:TileNotBlocked - type: construction - name: comfy chair id: ChairComfy graph: Seat startNode: start targetNode: chairComfy category: construction-category-furniture - description: It looks comfy. - icon: - sprite: Structures/Furniture/chairs.rsi - state: comfy objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -119,16 +84,11 @@ - !type:TileNotBlocked - type: construction - name: pilots chair id: chairPilotSeat graph: Seat startNode: start targetNode: chairPilotSeat category: construction-category-furniture - description: Fit for a captain. - icon: - sprite: Structures/Furniture/chairs.rsi - state: shuttle objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -136,16 +96,11 @@ - !type:TileNotBlocked - type: construction - name: wooden chair id: ChairWood graph: Seat startNode: start targetNode: chairWood category: construction-category-furniture - description: You sit in this. Either by will or force. - icon: - sprite: Structures/Furniture/chairs.rsi - state: wooden objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -153,16 +108,11 @@ - !type:TileNotBlocked - type: construction - name: meat chair id: ChairMeat graph: Seat startNode: start targetNode: chairMeat category: construction-category-furniture - description: Uncomfortably sweaty. - icon: - sprite: Structures/Furniture/chairs.rsi - state: meat objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -170,16 +120,11 @@ - !type:TileNotBlocked - type: construction - name: ritual chair id: ChairRitual graph: RitualSeat startNode: start targetNode: chairRitual category: construction-category-furniture - description: A strangely carved chair. - icon: - sprite: Structures/Furniture/chairs.rsi - state: ritual objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -187,16 +132,11 @@ - !type:TileNotBlocked - type: construction - name: folding chair id: ChairFolding graph: Seat startNode: start targetNode: chairFolding category: construction-category-furniture - description: An easy to carry chair. - icon: - sprite: Structures/Furniture/folding_chair.rsi - state: folding objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -204,16 +144,11 @@ - !type:TileNotBlocked - type: construction - name: steel bench id: ChairSteelBench graph: Seat startNode: start targetNode: chairSteelBench category: construction-category-furniture - description: A long chair made for a metro. Really standard design. - icon: - sprite: Structures/Furniture/chairs.rsi - state: steel-bench objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -221,16 +156,11 @@ - !type:TileNotBlocked - type: construction - name: wooden bench id: ChairWoodBench graph: Seat startNode: start targetNode: chairWoodBench category: construction-category-furniture - description: Did you get a splinter? Well, at least it’s eco friendly. - icon: - sprite: Structures/Furniture/chairs.rsi - state: wooden-bench objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -238,16 +168,11 @@ - !type:TileNotBlocked - type: construction - name: comfortable red bench id: RedComfBench graph: Seat startNode: start targetNode: redComfBench category: construction-category-furniture - description: A bench with an extremely comfortable backrest. - icon: - sprite: Structures/Furniture/Bench/comf_bench.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -255,16 +180,11 @@ - !type:TileNotBlocked - type: construction - name: comfortable blue bench id: BlueComfBench graph: Seat startNode: start targetNode: blueComfBench category: construction-category-furniture - description: A bench with an extremely comfortable backrest. - icon: - sprite: Structures/Furniture/Bench/comf_bench.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -273,16 +193,11 @@ #tables - type: construction - name: steel table id: Table graph: Table startNode: start targetNode: Table category: construction-category-furniture - description: A square piece of metal standing on four metal legs. - icon: - sprite: Structures/Furniture/Tables/generic.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -290,16 +205,11 @@ - !type:TileNotBlocked - type: construction - name: reinforced steel table id: TableReinforced graph: Table startNode: start targetNode: TableReinforced category: construction-category-furniture - description: A square piece of metal standing on four metal legs. Extra robust. - icon: - sprite: Structures/Furniture/Tables/reinforced.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -307,16 +217,11 @@ - !type:TileNotBlocked - type: construction - name: glass table id: TableGlass graph: Table startNode: start targetNode: TableGlass category: construction-category-furniture - description: A square piece of glass, standing on four metal legs. - icon: - sprite: Structures/Furniture/Tables/glass.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -324,16 +229,11 @@ - !type:TileNotBlocked - type: construction - name: reinforced glass table id: TableReinforcedGlass graph: Table startNode: start targetNode: TableReinforcedGlass category: construction-category-furniture - description: A square piece of glass, standing on four metal legs. Extra robust. - icon: - sprite: Structures/Furniture/Tables/r_glass.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -341,16 +241,11 @@ - !type:TileNotBlocked - type: construction - name: plasma glass table id: TablePlasmaGlass graph: Table startNode: start targetNode: TablePlasmaGlass category: construction-category-furniture - description: A square piece of plasma glass, standing on four metal legs. Pretty! - icon: - sprite: Structures/Furniture/Tables/plasma.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -358,16 +253,11 @@ - !type:TileNotBlocked - type: construction - name: brass table id: TableBrass graph: Table startNode: start targetNode: TableBrass category: construction-category-furniture - description: A shiny, corrosion resistant brass table. Steampunk! - icon: - sprite: Structures/Furniture/Tables/brass.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -375,16 +265,11 @@ - !type:TileNotBlocked - type: construction - name: wood table id: TableWood graph: Table startNode: start targetNode: TableWood category: construction-category-furniture - description: Do not apply fire to this. Rumour says it burns easily. - icon: - sprite: Structures/Furniture/Tables/wood.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -392,16 +277,11 @@ - !type:TileNotBlocked - type: construction - name: poker table id: TableCarpet graph: Table startNode: start targetNode: TableCarpet category: construction-category-furniture - description: A square piece of wood standing on four legs covered by a cloth. (What did you expect?) - icon: - sprite: Structures/Furniture/Tables/carpet.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -409,16 +289,11 @@ - !type:TileNotBlocked - type: construction - name: fancy black table id: TableFancyBlack graph: Table startNode: start targetNode: TableFancyBlack category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/black.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -426,16 +301,11 @@ - !type:TileNotBlocked - type: construction - name: fancy blue table id: TableFancyBlue graph: Table startNode: start targetNode: TableFancyBlue category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/blue.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -443,16 +313,11 @@ - !type:TileNotBlocked - type: construction - name: fancy cyan table id: TableFancyCyan graph: Table startNode: start targetNode: TableFancyCyan category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/cyan.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -460,16 +325,11 @@ - !type:TileNotBlocked - type: construction - name: fancy green table id: TableFancyGreen graph: Table startNode: start targetNode: TableFancyGreen category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/green.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -477,16 +337,11 @@ - !type:TileNotBlocked - type: construction - name: fancy orange table id: TableFancyOrange graph: Table startNode: start targetNode: TableFancyOrange category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/orange.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -494,16 +349,11 @@ - !type:TileNotBlocked - type: construction - name: fancy purple table id: TableFancyPurple graph: Table startNode: start targetNode: TableFancyPurple category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/purple.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -511,16 +361,11 @@ - !type:TileNotBlocked - type: construction - name: fancy pink table id: TableFancyPink graph: Table startNode: start targetNode: TableFancyPink category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/pink.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -528,16 +373,11 @@ - !type:TileNotBlocked - type: construction - name: fancy red table id: TableFancyRed graph: Table startNode: start targetNode: TableFancyRed category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/red.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -545,16 +385,11 @@ - !type:TileNotBlocked - type: construction - name: fancy white table id: TableFancyWhite graph: Table startNode: start targetNode: TableFancyWhite category: construction-category-furniture - description: A table covered with a beautiful cloth. - icon: - sprite: Structures/Furniture/Tables/Fancy/white.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -562,16 +397,11 @@ - !type:TileNotBlocked - type: construction - name: metal counter id: TableCounterMetal graph: Table startNode: start targetNode: CounterMetal category: construction-category-furniture - description: Looks like a good place to put a drink down. - icon: - sprite: Structures/Furniture/Tables/countermetal.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -579,16 +409,11 @@ - !type:TileNotBlocked - type: construction - name: wood counter id: TableCounterWood graph: Table startNode: start targetNode: CounterWood category: construction-category-furniture - description: Do not apply fire to this. Rumour says it burns easily. - icon: - sprite: Structures/Furniture/Tables/counterwood.rsi - state: full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -597,16 +422,11 @@ #bathroom - type: construction - name: toilet id: ToiletEmpty graph: Toilet startNode: start targetNode: toilet category: construction-category-furniture - description: A human excrement flushing apparatus. - icon: - sprite: Structures/Furniture/toilet.rsi - state: disposal objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -616,15 +436,10 @@ #bedroom - type: construction id: Bed - name: bed - description: This is used to lie in, sleep in or strap on. Resting here provides extremely slow healing. graph: bed startNode: start targetNode: bed category: construction-category-furniture - icon: - sprite: Structures/Furniture/furniture.rsi - state: bed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -633,15 +448,10 @@ - type: construction id: MedicalBed - name: medical bed - description: A hospital bed for patients to recover in. Resting here provides fairly slow healing. graph: bed startNode: start targetNode: medicalbed category: construction-category-furniture - icon: - sprite: Structures/Furniture/furniture.rsi - state: bed-MED objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -650,15 +460,10 @@ - type: construction id: DogBed - name: dog bed - description: A comfy-looking dog bed. You can even strap your pet in, in case the gravity turns off. graph: bed startNode: start targetNode: dogbed category: construction-category-furniture - icon: - sprite: Structures/Furniture/furniture.rsi - state: dogbed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -667,15 +472,10 @@ - type: construction id: Dresser - name: dresser - description: Wooden dresser, can store things inside itself. graph: Dresser startNode: start targetNode: dresser category: construction-category-furniture - icon: - sprite: Structures/Furniture/furniture.rsi - state: dresser objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -685,15 +485,10 @@ #racks - type: construction id: Rack - name: rack - description: A rack for storing things on. graph: Rack startNode: start targetNode: Rack category: construction-category-furniture - icon: - sprite: Structures/Furniture/furniture.rsi - state: rack objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -703,15 +498,10 @@ #misc - type: construction id: MeatSpike - name: meat spike - description: A spike found in kitchens butchering animals. graph: MeatSpike startNode: start targetNode: MeatSpike category: construction-category-furniture - icon: - sprite: Structures/meat_spike.rsi - state: spike objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -720,165 +510,110 @@ - type: construction id: Curtains - name: curtains - description: Contains less than 1% mercury. graph: Curtains startNode: start targetNode: Curtains category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/hospital.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsBlack - name: black curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsBlack category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/black.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction id: CurtainsBlue - name: blue curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsBlue category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/blue.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsCyan - name: cyan curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsCyan category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/cyan.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsGreen - name: green curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsGreen category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/green.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsOrange - name: orange curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsOrange category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/orange.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsPink - name: pink curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsPink category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/pink.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsPurple - name: purple curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsPurple category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/purple.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsRed - name: red curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsRed category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/red.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction id: CurtainsWhite - name: white curtains - description: Hides what others shouldn't see. graph: Curtains startNode: start targetNode: CurtainsWhite category: construction-category-furniture - icon: - sprite: Structures/Decoration/Curtains/white.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction id: Bookshelf - name: bookshelf - description: Mostly filled with books. graph: Bookshelf startNode: start targetNode: bookshelf category: construction-category-furniture - icon: - sprite: Structures/Furniture/bookshelf.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -887,15 +622,10 @@ - type: construction id: NoticeBoard - name: notice board - description: Wooden notice board, can store paper inside itself. graph: NoticeBoard startNode: start targetNode: noticeBoard category: construction-category-furniture - icon: - sprite: Structures/Wallmounts/noticeboard.rsi - state: noticeboard objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -905,18 +635,13 @@ - type: construction id: Mannequin - name: mannequin - description: Wooden mannequin designed for clothing displaying graph: Mannequin startNode: start targetNode: mannequin category: construction-category-furniture - icon: - sprite: Structures/Decoration/mannequin.rsi - state: mannequin objectType: Structure placementMode: SnapgridCenter canRotate: true canBuildInImpassable: false conditions: - - !type:TileNotBlocked \ No newline at end of file + - !type:TileNotBlocked diff --git a/Resources/Prototypes/Recipes/Construction/lighting.yml b/Resources/Prototypes/Recipes/Construction/lighting.yml index 0651fc4572..3da8ba8d46 100644 --- a/Resources/Prototypes/Recipes/Construction/lighting.yml +++ b/Resources/Prototypes/Recipes/Construction/lighting.yml @@ -1,175 +1,127 @@ - type: construction - name: cyan light tube id: CyanLight graph: CyanLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing a cyan crystal. - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: blue light tube id: BlueLight graph: BlueLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing a blue crystal. - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: yellow light tube id: YellowLight graph: YellowLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing a yellow crystal - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: pink light tube id: PinkLight graph: PinkLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing a pink crystal. - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: orange light tube id: OrangeLight graph: OrangeLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing an orange crystal. - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: black light tube id: BlackLight graph: BlackLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing a black crystal. It won't be very bright. - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: red light tube id: RedLight graph: RedLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing a red crystal. - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: green light tube id: GreenLight graph: GreenLight startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light tube containing a green crystal. - icon: { sprite: Objects/Power/light_tube.rsi, state: normal } objectType: Item - type: construction - name: cyan light bulb id: CyanLightBulb graph: CyanLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing a cyan crystal. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item - type: construction - name: blue light bulb id: BlueLightBulb graph: BlueLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing a blue crystal. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item - type: construction - name: yellow light bulb id: YellowLightBulb graph: YellowLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing a yellow crystal. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item - type: construction - name: pink light bulb id: PinkLightBulb graph: PinkLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing a pink crystal. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item - type: construction - name: orange light bulb id: OrangeLightBulb graph: OrangeLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing an orange crystal. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item - type: construction - name: black light bulb id: BlackLightBulb graph: BlackLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing a black crystal. It won't be very bright. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item - type: construction - name: red light bulb id: RedLightBulb graph: RedLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing a red crystal. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item - type: construction - name: green light bulb id: GreenLightBulb graph: GreenLightBulb startNode: start targetNode: icon category: construction-category-utilities - description: A high powered light bulb containing a green crystal. - icon: { sprite: Objects/Power/light_bulb.rsi, state: normal } objectType: Item diff --git a/Resources/Prototypes/Recipes/Construction/machines.yml b/Resources/Prototypes/Recipes/Construction/machines.yml index 40f08e5f39..7883f8fe10 100644 --- a/Resources/Prototypes/Recipes/Construction/machines.yml +++ b/Resources/Prototypes/Recipes/Construction/machines.yml @@ -1,20 +1,13 @@ - type: construction - name: computer id: Computer graph: Computer startNode: start targetNode: computer category: construction-category-machines - description: A frame used to construct anything with a computer circuitboard. placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Machines/parts.rsi - state: 4 - type: construction - name: machine frame - description: A machine under construction. Needs more parts. id: MachineFrame graph: Machine startNode: start @@ -22,38 +15,25 @@ category: construction-category-machines placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Machines/parts.rsi - state: "box_0" # Switching - type: construction - name: two-way lever id: TwoWayLeverRecipe graph: LeverGraph startNode: start targetNode: LeverNode category: construction-category-machines - description: A lever to control machines. It has 3 modes. objectType: Structure canBuildInImpassable: false - icon: - sprite: Structures/conveyor.rsi - state: switch-off conditions: - !type:TileNotBlocked - type: construction - name: light switch id: LightSwitchRecipe graph: LightSwitchGraph startNode: start targetNode: LightSwitchNode category: construction-category-machines - description: A switch for toggling lights that are connected to the same apc. - icon: - sprite: Structures/Wallmounts/switch.rsi - state: on objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -63,16 +43,11 @@ hide: true #TODO: Fix the lightswitch, issue #34659. Until then, keep hidden so people don't build it and get confused. - type: construction - name: signal switch id: SignalSwitchRecipe graph: SignalSwitchGraph startNode: start targetNode: SignalSwitchNode category: construction-category-machines - description: It's a switch for toggling power to things. - icon: - sprite: Structures/Wallmounts/switch.rsi - state: on objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -81,16 +56,11 @@ - !type:WallmountCondition - type: construction - name: signal button id: SignalButtonRecipe graph: SignalButtonGraph startNode: start targetNode: SignalButtonNode category: construction-category-machines - description: It's a button for activating something. - icon: - sprite: Structures/Wallmounts/switch.rsi - state: on objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -99,16 +69,11 @@ - !type:WallmountCondition - type: construction - name: directional light switch id: LightSwitchDirectionalRecipe graph: LightSwitchDirectionalGraph startNode: start targetNode: LightSwitchDirectionalNode category: construction-category-machines - description: A switch for toggling lights that are connected to the same apc. - icon: - sprite: Structures/Wallmounts/switch.rsi - state: on objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -118,16 +83,11 @@ hide: true #TODO: Fix the lightswitch, issue #34659. Until then, keep hidden so people don't build it and get confused. - type: construction - name: directional signal switch id: SignalSwitchDirectionalRecipe graph: SignalSwitchDirectionalGraph startNode: start targetNode: SignalSwitchDirectionalNode category: construction-category-machines - description: It's a switch for toggling power to things. - icon: - sprite: Structures/Wallmounts/switch.rsi - state: on objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -136,16 +96,11 @@ - !type:WallmountCondition - type: construction - name: directional signal button id: SignalButtonDirectionalRecipe graph: SignalButtonDirectionalGraph startNode: start targetNode: SignalButtonDirectionalNode category: construction-category-machines - description: It's a button for activating something. - icon: - sprite: Structures/Wallmounts/switch.rsi - state: on objectType: Structure placementMode: SnapgridCenter canRotate: true diff --git a/Resources/Prototypes/Recipes/Construction/materials.yml b/Resources/Prototypes/Recipes/Construction/materials.yml index d644538a45..cb11070a7d 100644 --- a/Resources/Prototypes/Recipes/Construction/materials.yml +++ b/Resources/Prototypes/Recipes/Construction/materials.yml @@ -1,131 +1,95 @@ - type: construction - name: metal rod id: MetalRod graph: MetalRod startNode: start targetNode: MetalRod category: construction-category-materials - description: A sturdy metal rod that can be used for various purposes. - icon: { sprite: Objects/Materials/parts.rsi, state: rods } objectType: Item - type: construction - name: reinforced glass - description: A reinforced sheet of glass. id: SheetRGlass graph: Glass startNode: start targetNode: SheetRGlass category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rglass } objectType: Item - type: construction - name: clockwork glass - description: A brass-reinforced sheet of glass. id: SheetClockworkGlass graph: Glass startNode: start targetNode: SheetClockworkGlass category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: cglass } objectType: Item - type: construction - name: plasma glass - description: A sheet of translucent plasma. id: SheetPGlass graph: Glass startNode: start targetNode: SheetPGlass category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: pglass } objectType: Item - type: construction - name: reinforced plasma glass - description: A reinforced sheet of translucent plasma. id: SheetRPGlass graph: Glass startNode: start targetNode: SheetRPGlass category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rpglass } objectType: Item - type: construction - name: reinforced plasma glass - description: A reinforced sheet of translucent plasma. id: SheetRPGlass0 graph: Glass startNode: start targetNode: SheetRPGlass0 category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rpglass } objectType: Item - type: construction - name: reinforced plasma glass - description: A reinforced sheet of translucent plasma. id: SheetRPGlass1 graph: Glass startNode: start targetNode: SheetRPGlass1 category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rpglass } objectType: Item - type: construction - name: durathread id: MaterialDurathread graph: Durathread startNode: start targetNode: MaterialDurathread category: construction-category-materials - description: A high-quality thread used to make durable clothes. - icon: { sprite: Objects/Materials/materials.rsi, state: durathread } objectType: Item - type: construction - name: uranium glass - description: A sheet of uranium glass. id: SheetUGlass graph: Glass startNode: start targetNode: SheetUGlass category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: uglass } objectType: Item - type: construction - name: reinforced uranium glass - description: A reinforced sheet of uranium glass. id: SheetRUGlass graph: Glass startNode: start targetNode: SheetRUGlass category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: ruglass } objectType: Item - type: construction - name: reinforced uranium glass - description: A reinforced sheet of uranium glass. id: SheetRUGlass0 graph: Glass startNode: start targetNode: SheetRUGlass0 category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: ruglass } objectType: Item - type: construction - name: reinforced uranium glass - description: A reinforced sheet of uranium glass. id: SheetRUGlass1 graph: Glass startNode: start targetNode: SheetRUGlass1 category: construction-category-materials - icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: ruglass } - objectType: Item \ No newline at end of file + objectType: Item diff --git a/Resources/Prototypes/Recipes/Construction/modular.yml b/Resources/Prototypes/Recipes/Construction/modular.yml index affacb098b..d1ed498b57 100644 --- a/Resources/Prototypes/Recipes/Construction/modular.yml +++ b/Resources/Prototypes/Recipes/Construction/modular.yml @@ -1,25 +1,15 @@ - type: construction - name: modular grenade id: ModularGrenadeRecipe graph: ModularGrenadeGraph startNode: start targetNode: grenade category: construction-category-weapons - description: Construct a grenade using a trigger and a payload. - icon: - sprite: Objects/Weapons/Grenades/modular.rsi - state: complete objectType: Item - type: construction - name: modular mine id: ModularMineRecipe graph: ModularMineGraph startNode: start targetNode: mine category: construction-category-weapons - description: Construct a landmine using a payload. - icon: - sprite: Objects/Misc/landmine.rsi - state: landmine objectType: Item diff --git a/Resources/Prototypes/Recipes/Construction/storage.yml b/Resources/Prototypes/Recipes/Construction/storage.yml index 48f6dd4d03..6947a6d3a5 100644 --- a/Resources/Prototypes/Recipes/Construction/storage.yml +++ b/Resources/Prototypes/Recipes/Construction/storage.yml @@ -1,15 +1,10 @@ #bureaucracy - type: construction id: FilingCabinet - name: filing cabinet - description: A cabinet for all your filing needs. graph: FilingCabinet startNode: start targetNode: filingCabinet category: construction-category-storage - icon: - sprite: Structures/Storage/cabinets.rsi - state: filingcabinet objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -18,15 +13,10 @@ - type: construction id: TallCabinet - name: tall cabinet - description: A cabinet for all your filing needs. graph: FilingCabinet startNode: start targetNode: tallCabinet category: construction-category-storage - icon: - sprite: Structures/Storage/cabinets.rsi - state: tallcabinet objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -35,15 +25,10 @@ - type: construction id: ChestDrawer - name: chest drawer - description: A small drawer for all your filing needs, Now with wheels! graph: FilingCabinet startNode: start targetNode: chestDrawer category: construction-category-storage - icon: - sprite: Structures/Storage/cabinets.rsi - state: chestdrawer objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -53,15 +38,10 @@ # ItemCabinets - type: construction id: ShowCase - name: showcase - description: A sturdy showcase for an expensive exhibit. graph: GlassBox startNode: start targetNode: glassBox category: construction-category-storage - icon: - sprite: Structures/Storage/glassbox.rsi - state: icon objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -72,14 +52,9 @@ # Normals - type: construction id: ShelfWood - name: wooden shelf - description: A convenient place to place, well, anything really. graph: Shelf startNode: start targetNode: ShelfWood - icon: - sprite: Structures/Storage/Shelfs/wood.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -88,14 +63,9 @@ - type: construction id: ShelfMetal - name: metal shelf - description: A sturdy place to place, well, anything really. graph: Shelf startNode: start targetNode: ShelfMetal - icon: - sprite: Structures/Storage/Shelfs/metal.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -104,14 +74,9 @@ - type: construction id: ShelfGlass - name: glass shelf - description: Just like a normal shelf! But fragile and without the walls! graph: Shelf startNode: start targetNode: ShelfGlass - icon: - sprite: Structures/Storage/Shelfs/glass.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -121,14 +86,9 @@ # Reinforced - type: construction id: ShelfRWood - name: sturdy wooden shelf - description: The perfect place to store all your vintage records. graph: Shelf startNode: start targetNode: ShelfRWood - icon: - sprite: Structures/Storage/Shelfs/wood.rsi - state: rbase objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -137,14 +97,9 @@ - type: construction id: ShelfRMetal - name: sturdy metal shelf - description: Nice and strong, and keeps your maints loot secure. graph: Shelf startNode: start targetNode: ShelfRMetal - icon: - sprite: Structures/Storage/Shelfs/metal.rsi - state: rbase objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -153,14 +108,9 @@ - type: construction id: ShelfRGlass - name: sturdy glass shelf - description: See through, decent strength, shiny plastic case. Whats not to love? graph: Shelf startNode: start targetNode: ShelfRGlass - icon: - sprite: Structures/Storage/Shelfs/glass.rsi - state: rbase objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -170,14 +120,9 @@ # Departmental - type: construction id: ShelfBar - name: bar shelf - description: A convenient place for all your extra booze, specifically designed to hold more bottles! graph: Shelf startNode: start targetNode: ShelfBar - icon: - sprite: Structures/Storage/Shelfs/Departments/Service/bar.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -186,14 +131,9 @@ - type: construction id: ShelfKitchen - name: kitchen shelf - description: Holds your knifes, spice, and everything nice! graph: Shelf startNode: start targetNode: ShelfKitchen - icon: - sprite: Structures/Storage/Shelfs/Departments/Service/kitchen.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -202,14 +142,9 @@ - type: construction id: ShelfChemistry - name: chemical shelf - description: Perfect for keeping the most important chemicals safe, and out of the clumsy clowns hands! graph: Shelf startNode: start targetNode: ShelfChemistry - icon: - sprite: Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index 11579ac9ba..2ea7641bd8 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -1,14 +1,9 @@ - type: construction - name: girder id: Girder graph: Girder startNode: start targetNode: girder category: construction-category-structures - description: A large structural assembly made out of metal. - icon: - sprite: /Textures/Structures/Walls/solid.rsi - state: wall_girder objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -17,16 +12,11 @@ - !type:TileNotBlocked - type: construction - name: reinforced girder id: ReinforcedGirder graph: Girder startNode: start targetNode: reinforcedGirder category: construction-category-structures - description: A large structural assembly made out of metal and plasteel. - icon: - sprite: /Textures/Structures/Walls/solid.rsi - state: reinforced_wall_girder objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -35,16 +25,11 @@ - !type:TileNotBlocked - type: construction - name: wall gear id: ClockworkGirder graph: ClockworkGirder startNode: start targetNode: clockGirder category: construction-category-structures - description: A large gear with mounting brackets for additional plating. - icon: - sprite: /Textures/Structures/Walls/clock.rsi - state: wall_gear objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -53,16 +38,11 @@ - !type:TileNotBlocked - type: construction - name: wall id: Wall graph: Girder startNode: start targetNode: wall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/solid.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -71,16 +51,11 @@ - !type:TileNotBlocked - type: construction - name: reinforced wall id: ReinforcedWall graph: Girder startNode: start targetNode: reinforcedWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/solid.rsi - state: rgeneric objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -89,16 +64,11 @@ - !type:TileNotBlocked - type: construction - name: clock wall id: WallClock graph: ClockworkGirder startNode: start targetNode: clockworkWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/clock.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -107,16 +77,11 @@ - !type:TileNotBlocked - type: construction - name: wood wall id: WoodWall graph: Barricade startNode: start targetNode: woodWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/wood.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -125,16 +90,11 @@ - !type:TileNotBlocked - type: construction - name: uranium wall id: UraniumWall graph: Girder startNode: start targetNode: uraniumWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/uranium.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -143,16 +103,11 @@ - !type:TileNotBlocked - type: construction - name: silver wall id: SilverWall graph: Girder startNode: start targetNode: silverWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/silver.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -161,16 +116,11 @@ - !type:TileNotBlocked - type: construction - name: plastic wall id: PlasticWall graph: Girder startNode: start targetNode: plasticWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/plastic.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -179,16 +129,11 @@ - !type:TileNotBlocked - type: construction - name: plasma wall id: PlasmaWall graph: Girder startNode: start targetNode: plasmaWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/plasma.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -197,16 +142,11 @@ - !type:TileNotBlocked - type: construction - name: gold wall id: GoldWall graph: Girder startNode: start targetNode: goldWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/gold.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -215,16 +155,11 @@ - !type:TileNotBlocked - type: construction - name: shuttle wall id: ShuttleWall graph: Girder startNode: start targetNode: shuttleWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/shuttle.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -233,16 +168,11 @@ - !type:TileNotBlocked - type: construction - name: diagonal shuttle wall id: DiagonalShuttleWall graph: Girder startNode: start targetNode: diagonalshuttleWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/shuttle_diagonal.rsi - state: state0 objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -251,16 +181,11 @@ - !type:TileNotBlocked - type: construction - name: bananium wall id: ClownWall graph: Girder startNode: start targetNode: bananiumWall category: construction-category-structures - description: Keeps the air in and the greytide out. - icon: - sprite: Structures/Walls/clown.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -269,16 +194,11 @@ - !type:TileNotBlocked - type: construction - name: meat wall id: MeatWall graph: Girder startNode: start targetNode: meatWall category: construction-category-structures - description: Sticky. - icon: - sprite: Structures/Walls/meat.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -287,473 +207,343 @@ - !type:TileNotBlocked - type: construction - name: grille id: Grille graph: Grille startNode: start targetNode: grille category: construction-category-structures - description: A flimsy framework of iron rods. conditions: - !type:TileNotBlocked failIfSpace: false - icon: - sprite: Structures/Walls/grille.rsi - state: grille objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: clockwork grille id: ClockGrille graph: ClockGrille startNode: start targetNode: clockGrille category: construction-category-structures - description: A flimsy framework of iron rods assembled in traditional ratvarian fashion. conditions: - !type:TileNotBlocked failIfSpace: false - icon: - sprite: Structures/Walls/clockwork_grille.rsi - state: ratvargrille objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: diagonal grille id: GrilleDiagonal graph: GrilleDiagonal startNode: start targetNode: grilleDiagonal category: construction-category-structures - description: A flimsy framework of iron rods. conditions: - !type:TileNotBlocked failIfSpace: false - icon: - sprite: Structures/Walls/grille.rsi - state: grille_diagonal objectType: Structure placementMode: SnapgridCenter - type: construction - name: diagonal clockwork grille id: ClockworkGrilleDiagonal graph: GrilleDiagonal startNode: start targetNode: clockworkGrilleDiagonal category: construction-category-structures - description: A flimsy framework of iron rods assembled in traditional ratvarian fashion. conditions: - !type:TileNotBlocked failIfSpace: false - icon: - sprite: Structures/Walls/clockwork_grille.rsi - state: ratvargrille_diagonal objectType: Structure placementMode: SnapgridCenter - type: construction - name: window id: Window graph: Window startNode: start targetNode: window category: construction-category-structures - description: Clear. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: diagonal window id: WindowDiagonal graph: WindowDiagonal startNode: start targetNode: windowDiagonal category: construction-category-structures - description: Clear. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/window_diagonal.rsi - state: state1 objectType: Structure placementMode: SnapgridCenter - type: construction - name: reinforced window id: ReinforcedWindow graph: Window startNode: start targetNode: reinforcedWindow category: construction-category-structures - description: Clear but tough. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/reinforced_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: diagonal reinforced window id: ReinforcedWindowDiagonal graph: WindowDiagonal startNode: start targetNode: reinforcedWindowDiagonal category: construction-category-structures - description: Clear but tough. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/reinforced_window_diagonal.rsi - state: state1 objectType: Structure placementMode: SnapgridCenter - type: construction - name: tinted window id: TintedWindow graph: Window startNode: start targetNode: tintedWindow category: construction-category-structures - description: Not clear, but lasers still pass through. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/tinted_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: clockwork window id: ClockworkWindow graph: Window startNode: start targetNode: clockworkWindow category: construction-category-structures - description: Clear and tough, with a golden tint. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/clockwork_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: diagonal clockwork window id: ClockworkWindowDiagonal graph: WindowDiagonal startNode: start targetNode: clockworkWindowDiagonal category: construction-category-structures - description: Clear and tough, with a golden tint. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/clockwork_diagonal.rsi - state: state0 objectType: Structure placementMode: SnapgridCenter - type: construction - name: plasma window id: PlasmaWindow graph: Window startNode: start targetNode: plasmaWindow category: construction-category-structures canBuildInImpassable: true - description: Clear, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/plasma_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: reinforced plasma window id: ReinforcedPlasmaWindow graph: Window startNode: start targetNode: reinforcedPlasmaWindow category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/reinforced_plasma_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: shuttle window id: ShuttleWindow graph: Window startNode: start targetNode: shuttleWindow category: construction-category-structures canBuildInImpassable: true - description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/shuttle_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: diagonal plasma window id: PlasmaWindowDiagonal graph: WindowDiagonal startNode: start targetNode: plasmaWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/plasma_diagonal.rsi - state: state1 objectType: Structure placementMode: SnapgridCenter - type: construction - name: diagonal reinforced plasma window id: ReinforcedPlasmaWindowDiagonal graph: WindowDiagonal startNode: start targetNode: reinforcedPlasmaWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/reinforced_plasma_diagonal.rsi - state: state1 objectType: Structure placementMode: SnapgridCenter - type: construction - name: directional window id: WindowDirectional graph: WindowDirectional startNode: start targetNode: windowDirectional category: construction-category-structures - description: Clear. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/directional.rsi - state: window objectType: Structure placementMode: SnapgridCenter - type: construction - name: directional reinforced window id: WindowReinforcedDirectional graph: WindowDirectional startNode: start targetNode: windowReinforcedDirectional category: construction-category-structures - description: Clear but tough. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/directional.rsi - state: reinforced_window objectType: Structure placementMode: SnapgridCenter - type: construction - name: directional clockwork window id: WindowClockworkDirectional graph: WindowDirectional startNode: start targetNode: windowClockworkDirectional category: construction-category-structures - description: Clear and tough, with a golden tint. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/directional.rsi - state: clock_window objectType: Structure placementMode: SnapgridCenter - type: construction - name: directional plasma window id: PlasmaWindowDirectional graph: WindowDirectional startNode: start targetNode: plasmaWindowDirectional category: construction-category-structures canBuildInImpassable: true - description: Clear, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/directional.rsi - state: plasma_window objectType: Structure placementMode: SnapgridCenter - type: construction - name: directional reinforced plasma window id: PlasmaReinforcedWindowDirectional graph: WindowDirectional startNode: start targetNode: plasmaReinforcedWindowDirectional category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/directional.rsi - state: plasma_reinforced_window objectType: Structure placementMode: SnapgridCenter - type: construction - name: uranium window id: UraniumWindow graph: Window startNode: start targetNode: uraniumWindow category: construction-category-structures canBuildInImpassable: true - description: Clear, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/uranium_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: reinforced uranium window id: ReinforcedUraniumWindow graph: Window startNode: start targetNode: reinforcedUraniumWindow category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/reinforced_uranium_window.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false - type: construction - name: diagonal uranium window id: UraniumWindowDiagonal graph: WindowDiagonal startNode: start targetNode: uraniumWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/uranium_window_diagonal.rsi - state: state1 objectType: Structure placementMode: SnapgridCenter - type: construction - name: diagonal reinforced uranium window id: ReinforcedUraniumWindowDiagonal graph: WindowDiagonal startNode: start targetNode: reinforcedUraniumWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/reinforced_uranium_diagonal.rsi - state: state1 objectType: Structure placementMode: SnapgridCenter - type: construction - name: firelock id: Firelock graph: Firelock startNode: start targetNode: Firelock category: construction-category-structures - description: This is a firelock - it locks an area when a fire alarm in the area is triggered. Don't get squished! - icon: - sprite: Structures/Doors/Airlocks/Standard/firelock.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -762,16 +552,11 @@ - !type:TileNotBlocked - type: construction - name: glass firelock id: FirelockGlass graph: Firelock startNode: start targetNode: FirelockGlass category: construction-category-structures - description: This is a firelock - it locks an area when a fire alarm in the area is triggered. Don't get squished! - icon: - sprite: Structures/Doors/Airlocks/Glass/firelock.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -780,16 +565,11 @@ - !type:TileNotBlocked - type: construction - name: thin firelock id: FirelockEdge graph: Firelock startNode: start targetNode: FirelockEdge category: construction-category-structures - description: This is a firelock - it locks an area when a fire alarm in the area is triggered. Don't get squished! - icon: - sprite: Structures/Doors/edge_door_hazard.rsi - state: closed placementMode: SnapgridCenter objectType: Structure canBuildInImpassable: false @@ -797,16 +577,11 @@ - !type:TileNotBlocked - type: construction - name: turnstile id: Turnstile graph: Turnstile startNode: start targetNode: turnstile category: construction-category-structures - description: A mechanical door that permits one-way access and prevents tailgating. - icon: - sprite: Structures/Doors/turnstile.rsi - state: turnstile objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -814,73 +589,51 @@ - !type:TileNotBlocked - type: construction - name: shutter id: Shutters graph: Shutters startNode: start targetNode: Shutters category: construction-category-structures - description: This is a shutter - connect it to a button to open and close it. - icon: - sprite: Structures/Doors/Shutters/shutters.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: glass shutter id: ShuttersWindow graph: Shutters startNode: start targetNode: ShuttersWindow category: construction-category-structures - description: This is a shutter - connect it to a button to open and close it. - icon: - sprite: Structures/Doors/Shutters/shutters_window.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: radiation shutter id: ShuttersRadiation graph: Shutters startNode: start targetNode: ShuttersRadiation category: construction-category-structures - description: This is a shutter - connect it to a button to open and close it. - icon: - sprite: Structures/Doors/Shutters/shutters_radiation.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: blast door id: BlastDoor graph: BlastDoor startNode: start targetNode: blastdoor category: construction-category-structures - description: This one says 'BLAST DONGER'. - icon: - sprite: Structures/Doors/Shutters/blastdoor.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: catwalk id: Catwalk graph: Catwalk startNode: start targetNode: Catwalk category: construction-category-structures - description: Just like a lattice. Except it looks better. conditions: - !type:TileNotBlocked failIfSpace: false @@ -888,45 +641,32 @@ targets: - Lattice - Plating - icon: - sprite: Structures/catwalk.rsi - state: catwalk_preview objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - type: construction - name: bananium floor id: FloorBananium graph: FloorBananium startNode: start targetNode: BananiumFloor category: construction-category-structures - description: A slippery floor of bright yellow bananium. conditions: - !type:TileNotBlocked failIfSpace: false - !type:TileType targets: - Plating - icon: - sprite: Tiles/Misc/bananium.rsi - state: bananium objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - type: construction - name: wooden barricade id: Barricade graph: Barricade startNode: start targetNode: barricadefull category: construction-category-structures - description: An improvised barricade made out of wooden planks. - icon: - sprite: Structures/barricades.rsi - state: barricade_full objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -934,16 +674,11 @@ - !type:TileNotBlocked - type: construction - name: wooden barricade id: BarricadeDirectional graph: BarricadeDirectional startNode: start targetNode: barricadefull category: construction-category-structures - description: An improvised barricade made out of wooden planks. - icon: - sprite: Structures/barricades.rsi - state: barricade_directional objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -951,16 +686,11 @@ - !type:TileNotBlocked - type: construction - name: railing id: Railing graph: Railing startNode: start targetNode: railing category: construction-category-structures - description: Basic railing meant to protect idiots like you from falling. - icon: - sprite: Structures/Walls/railing.rsi - state: side objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -968,16 +698,11 @@ - !type:TileNotBlocked - type: construction - name: railing corner id: RailingCorner graph: Railing startNode: start targetNode: railingCorner category: construction-category-structures - description: Basic railing meant to protect idiots like you from falling. - icon: - sprite: Structures/Walls/railing.rsi - state: corner objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -985,16 +710,11 @@ - !type:TileNotBlocked - type: construction - name: railing corner small id: RailingCornerSmall graph: Railing startNode: start targetNode: railingCornerSmall category: construction-category-structures - description: Basic railing meant to protect idiots like you from falling. - icon: - sprite: Structures/Walls/railing.rsi - state: corner_small objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1002,16 +722,11 @@ - !type:TileNotBlocked - type: construction - name: railing round id: RailingRound graph: Railing startNode: start targetNode: railingRound category: construction-category-structures - description: Basic railing meant to protect idiots like you from falling. - icon: - sprite: Structures/Walls/railing.rsi - state: round objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1020,16 +735,11 @@ # Chain link fencing - type: construction - name: chain link fence id: FenceMetal graph: FenceMetal startNode: start targetNode: straight category: construction-category-structures - description: Part of a chain link fence meant to cordon off areas. - icon: - sprite: Structures/Walls/fence.rsi - state: straight objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1037,16 +747,11 @@ - !type:TileNotBlocked - type: construction - name: chain link fence corner id: FenceMetalCorner graph: FenceMetal startNode: start targetNode: corner category: construction-category-structures - description: Part of a chain link fence meant to cordon off areas. - icon: - sprite: Structures/Walls/fence.rsi - state: corner objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1054,16 +759,11 @@ - !type:TileNotBlocked - type: construction - name: chain link fence end-piece id: FenceMetalEnd graph: FenceMetal startNode: start targetNode: end category: construction-category-structures - description: Part of a chain link fence meant to cordon off areas. - icon: - sprite: Structures/Walls/fence.rsi - state: end objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1071,16 +771,11 @@ - !type:TileNotBlocked - type: construction - name: chain link fence gate id: FenceMetalGate graph: FenceMetal startNode: start targetNode: gate category: construction-category-structures - description: An easy way to get through a chain link fence. - icon: - sprite: Structures/Walls/fence.rsi - state: door_closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1089,16 +784,11 @@ #Wooden fence high - type: construction - name: wooden high fence id: FenceWood graph: FenceWood startNode: start targetNode: straight category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: straight objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1106,16 +796,11 @@ - !type:TileNotBlocked - type: construction - name: wooden high fence end id: FenceWoodEnd graph: FenceWood startNode: start targetNode: end category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: end objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1123,16 +808,11 @@ - !type:TileNotBlocked - type: construction - name: wooden high fence corner id: FenceWoodCorner graph: FenceWood startNode: start targetNode: corner category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: corner objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1140,16 +820,11 @@ - !type:TileNotBlocked - type: construction - name: wooden high fence t-junction id: FenceWoodTJunction graph: FenceWood startNode: start targetNode: tjunction category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: tjunction objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1157,16 +832,11 @@ - !type:TileNotBlocked - type: construction - name: wooden high fence gate id: FenceWoodGate graph: FenceWood startNode: start targetNode: gate category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: door_closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1175,16 +845,11 @@ #Wooden fence small - type: construction - name: wooden small fence id: FenceWoodSmall graph: FenceWood startNode: start targetNode: straight_small category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: straight_small objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1192,16 +857,11 @@ - !type:TileNotBlocked - type: construction - name: wooden small fence end id: FenceWoodEndSmall graph: FenceWood startNode: start targetNode: end_small category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: end_small objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1209,16 +869,11 @@ - !type:TileNotBlocked - type: construction - name: wooden small fence corner id: FenceWoodCornerSmall graph: FenceWood startNode: start targetNode: corner_small category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: corner_small objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1226,16 +881,11 @@ - !type:TileNotBlocked - type: construction - name: wooden small fence t-junction id: FenceWoodTJunctionSmall graph: FenceWood startNode: start targetNode: tjunction_small category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: tjunction_small objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1243,16 +893,11 @@ - !type:TileNotBlocked - type: construction - name: wooden small fence gate id: FenceWoodGateSmall graph: FenceWood startNode: start targetNode: gate_small category: construction-category-structures - description: Part of a wooden fence meant to cordon off areas. - icon: - sprite: Structures/Walls/wooden_fence.rsi - state: door_closed_small objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1261,16 +906,11 @@ #Airlocks - type: construction - name: airlock id: Airlock graph: Airlock startNode: start targetNode: airlock category: construction-category-structures - description: It opens, it closes, and maybe crushes you. - icon: - sprite: Structures/Doors/Airlocks/Standard/basic.rsi - state: assembly objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1278,16 +918,11 @@ - !type:TileNotBlocked - type: construction - name: glass airlock id: AirlockGlass graph: Airlock startNode: start targetNode: glassAirlock category: construction-category-structures - description: It opens, it closes, and maybe crushes you. - icon: - sprite: Structures/Doors/Airlocks/Glass/glass.rsi - state: assembly objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1295,16 +930,11 @@ - !type:TileNotBlocked - type: construction - name: pinion airlock id: PinionAirlock graph: PinionAirlock startNode: start targetNode: airlock category: construction-category-structures - description: It opens, it closes, and maybe crushes you. - icon: - sprite: Structures/Doors/Airlocks/Standard/clockwork_pinion.rsi - state: assembly objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1312,16 +942,11 @@ - !type:TileNotBlocked - type: construction - name: glass pinion airlock id: PinionAirlockGlass graph: PinionAirlock startNode: start targetNode: glassAirlock category: construction-category-structures - description: It opens, it closes, and maybe crushes you. - icon: - sprite: Structures/Doors/Airlocks/Glass/clockwork_pinion.rsi - state: assembly objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1329,16 +954,11 @@ - !type:TileNotBlocked - type: construction - name: shuttle airlock id: AirlockShuttle graph: AirlockShuttle startNode: start targetNode: airlock category: construction-category-structures - description: It opens, it closes, and maybe crushes you. Necessary for connecting two space craft together. - icon: - sprite: Structures/Doors/Airlocks/Glass/shuttle.rsi - state: closed # state: assembly objectType: Structure placementMode: SnapgridCenter @@ -1347,16 +967,11 @@ - !type:TileNotBlocked - type: construction - name: glass shuttle airlock id: AirlockGlassShuttle graph: AirlockShuttle startNode: start targetNode: airlockGlass category: construction-category-structures - description: It opens, it closes, and maybe crushes you. Necessary for connecting two space craft together. This one has a window. - icon: - sprite: Structures/Doors/Airlocks/Glass/shuttle.rsi - state: closed # state: assembly objectType: Structure placementMode: SnapgridCenter @@ -1365,16 +980,11 @@ - !type:TileNotBlocked - type: construction - name: windoor id: Windoor graph: Windoor startNode: start targetNode: windoor category: construction-category-structures - description: It opens, it closes, and you can see through it! And it can be made of Plasma, Uranium, or normal Glass! - icon: - sprite: Structures/Doors/Windoors/windoor.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1382,16 +992,11 @@ - !type:TileNotBlocked - type: construction - name: secure windoor id: SecureWindoor graph: Windoor startNode: start targetNode: windoorSecure category: construction-category-structures - description: It's tough, it's a door, and you can see through it! And it can be made of Plasma, Uranium, or normal Glass! - icon: - sprite: Structures/Doors/Windoors/windoor.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1399,16 +1004,11 @@ - !type:TileNotBlocked - type: construction - name: clockwork windoor id: ClockworkWindoor graph: Windoor startNode: start targetNode: windoorClockwork category: construction-category-structures - description: It opens, it closes, and you can see through it! This one looks tough. - icon: - sprite: Structures/Doors/Windoors/clockwork_windoor.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -1417,16 +1017,11 @@ #lighting - type: construction - name: wall light id: LightTubeFixture graph: LightFixture startNode: start targetNode: tubeLight category: construction-category-structures - description: A wall light fixture. Use light tubes. - icon: - sprite: Structures/Wallmounts/Lighting/light_tube.rsi - state: base objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -1437,16 +1032,11 @@ - !type:TileNotBlocked - type: construction - name: small wall light id: LightSmallFixture graph: LightFixture startNode: start targetNode: bulbLight category: construction-category-structures - description: A wall light fixture. Use light bulbs. - icon: - sprite: Structures/Wallmounts/Lighting/light_small.rsi - state: base objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -1456,16 +1046,11 @@ - !type:TileNotBlocked - type: construction - name: emergency light id: EmergencyLightFixture graph: LightFixture startNode: start targetNode: emergencyLight category: construction-category-structures - description: An emergency light. - icon: - sprite: Structures/Wallmounts/Lighting/emergency_light.rsi - state: base objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -1474,16 +1059,11 @@ - !type:TileNotBlocked - type: construction - name: ground light post id: LightGroundFixture graph: LightFixture startNode: start targetNode: groundLight category: construction-category-structures - description: A ground light fixture. Use light tubes. - icon: - sprite: Structures/Lighting/LightPosts/small_light_post.rsi - state: base objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -1492,16 +1072,11 @@ - !type:TileNotBlocked - type: construction - name: strobe light id: LightStrobeFixture graph: LightFixture startNode: start targetNode: strobeLight category: construction-category-structures - description: A wall light fixture. Use light bulbs. - icon: - sprite: Structures/Wallmounts/Lighting/strobe_light.rsi - state: base objectType: Structure placementMode: SnapgridCenter canRotate: true @@ -1511,218 +1086,153 @@ #conveyor - type: construction - name: conveyor belt id: ConveyorBelt graph: ConveyorGraph startNode: start targetNode: entity category: construction-category-structures - description: A conveyor belt, commonly used to transport large numbers of items elsewhere quite quickly. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/conveyor.rsi - state: conveyor_stopped_cw conditions: - !type:TileNotBlocked - type: construction - name: metal door id: MetalDoor graph: DoorGraph startNode: start targetNode: metalDoor category: construction-category-structures - description: A primitive door with manual operation like the cavemen used. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/metal_door.rsi - state: closed conditions: - !type:TileNotBlocked - type: construction - name: wooden door id: WoodDoor graph: DoorGraph startNode: start targetNode: woodDoor category: construction-category-structures - description: A primitive door with manual operation like the cavemen used. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/wood_door.rsi - state: closed conditions: - !type:TileNotBlocked - type: construction - name: plasma door id: PlasmaDoor graph: DoorGraph startNode: start targetNode: plasmaDoor category: construction-category-structures - description: A primitive door with manual operation like the cavemen used. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/plasma_door.rsi - state: closed conditions: - !type:TileNotBlocked - type: construction - name: gold door id: GoldDoor graph: DoorGraph startNode: start targetNode: goldDoor category: construction-category-structures - description: A primitive door with manual operation like the cavemen used. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/gold_door.rsi - state: closed conditions: - !type:TileNotBlocked - type: construction - name: silver door id: SilverDoor graph: DoorGraph startNode: start targetNode: silverDoor category: construction-category-structures - description: A primitive door with manual operation like the cavemen used. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/silver_door.rsi - state: closed conditions: - !type:TileNotBlocked - type: construction - name: paper door id: PaperDoor graph: DoorGraph startNode: start targetNode: paperDoor category: construction-category-structures - description: A primitive door with manual operation like the cavemen used. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/paper_door.rsi - state: closed - type: construction - name: plastic flaps id: PlasticFlapsClear graph: PlasticFlapsGraph startNode: start targetNode: plasticFlaps category: construction-category-structures placementMode: SnapgridCenter - description: A plastic flap to let items through and keep people out. objectType: Structure canBuildInImpassable: false - icon: - sprite: Structures/plastic_flaps.rsi - state: plasticflaps conditions: - !type:TileNotBlocked - type: construction - name: opaque plastic flaps id: PlasticFlapsOpaque graph: PlasticFlapsGraph startNode: start targetNode: opaqueFlaps category: construction-category-structures placementMode: SnapgridCenter - description: An opaque plastic flap to let items through and keep people out. objectType: Structure canBuildInImpassable: false - icon: - sprite: Structures/plastic_flaps.rsi - state: plasticflaps conditions: - !type:TileNotBlocked - type: construction - name: carp statue id: CarpStatue graph: CarpStatue startNode: start targetNode: statue category: construction-category-structures placementMode: SnapgridCenter - description: A statue of one of the brave carp that got us where we are today. Made with real teeth! objectType: Structure canBuildInImpassable: false - icon: - sprite: Structures/Specific/carp_statue.rsi - state: icon conditions: - !type:TileNotBlocked - type: construction - name: bananium clown statue id: BananiumClownStatue graph: BananiumStatueClown startNode: start targetNode: bananiumStatue category: construction-category-structures placementMode: SnapgridCenter - description: A clown statue made from bananium. objectType: Structure canBuildInImpassable: false - icon: - sprite: Structures/Decoration/statues.rsi - state: bananium_clown conditions: - !type:TileNotBlocked - type: construction - name: bananium door id: BananiumDoor graph: DoorGraph startNode: start targetNode: bananiumDoor category: construction-category-structures - description: A primitive door made from bananium, it honks. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/bananium_door.rsi - state: closed conditions: - !type:TileNotBlocked - type: construction - name: bananium altar id: BananiumAltar graph: BananiumAltarGraph startNode: start targetNode: bananiumAltar category: construction-category-structures - description: An altar to worship the honkmother with. - icon: - sprite: Structures/Furniture/Altars/Cults/bananium.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -1731,18 +1241,15 @@ - !type:TileNotBlocked - type: construction - name: solid secret door id: SolidSecretDoor + name: recipes-secret-door-name + description: recipes-secret-door-desc graph: SecretDoor startNode: start targetNode: solidSecretDoor category: construction-category-structures - description: A secret door for the wall. objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Doors/secret_door.rsi - state: closed conditions: - !type:TileNotBlocked diff --git a/Resources/Prototypes/Recipes/Construction/tools.yml b/Resources/Prototypes/Recipes/Construction/tools.yml index bb89c5f244..d5b363ebe5 100644 --- a/Resources/Prototypes/Recipes/Construction/tools.yml +++ b/Resources/Prototypes/Recipes/Construction/tools.yml @@ -1,54 +1,39 @@ - type: construction - name: torch id: LightTorch graph: LightTorch startNode: start targetNode: torch category: construction-category-tools - description: A torch fashioned from some wood. - icon: { sprite: Objects/Misc/torch.rsi, state: icon } objectType: Item - type: construction - name: logic gate id: LogicGate graph: LogicGate startNode: start targetNode: logic_gate category: construction-category-tools - description: A binary logic gate for signals. - icon: { sprite: Objects/Devices/gates.rsi, state: or_icon } objectType: Item - type: construction - name: edge detector id: EdgeDetector graph: LogicGate startNode: start targetNode: edge_detector category: construction-category-tools - description: An edge detector for signals. - icon: { sprite: Objects/Devices/gates.rsi, state: edge_detector } objectType: Item - type: construction - name: power sensor id: PowerSensor graph: LogicGate startNode: start targetNode: power_sensor category: construction-category-tools - description: A power network checking device for signals. - icon: { sprite: Objects/Devices/gates.rsi, state: power_sensor } objectType: Item - type: construction - name: memory cell id: MemoryCell graph: LogicGate startNode: start targetNode: memory_cell category: construction-category-tools - description: A memory cell for signals. - icon: { sprite: Objects/Devices/gates.rsi, state: memory_cell } objectType: Item diff --git a/Resources/Prototypes/Recipes/Construction/utilities.yml b/Resources/Prototypes/Recipes/Construction/utilities.yml index cecb249555..680bc4e36b 100644 --- a/Resources/Prototypes/Recipes/Construction/utilities.yml +++ b/Resources/Prototypes/Recipes/Construction/utilities.yml @@ -1,44 +1,29 @@ # SURVEILLANCE - type: construction - name: camera id: camera graph: SurveillanceCamera startNode: start targetNode: camera category: construction-category-utilities - description: "Surveillance camera. It's watching. Soon." - icon: - sprite: Structures/Wallmounts/camera.rsi - state: camera objectType: Structure placementMode: SnapgridCenter - type: construction - name: telescreen id: WallmountTelescreen graph: WallmountTelescreen startNode: start targetNode: Telescreen category: construction-category-utilities - description: "A surveillance camera monitor for the wall." - icon: - sprite: Structures/Machines/computers.rsi - state: telescreen_frame objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: station map id: StationMap graph: StationMap startNode: start targetNode: station_map category: construction-category-structures - description: A station map. - icon: - sprite: Structures/Machines/station_map.rsi - state: station_map0 placementMode: SnapgridCenter objectType: Structure canRotate: true @@ -48,84 +33,57 @@ # POWER - type: construction - name: APC id: APC graph: APC startNode: start targetNode: apc category: construction-category-utilities - description: "Area Power Controller (APC). Controls power. In an area." - icon: - sprite: Structures/Power/apc.rsi - state: base objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: cable terminal id: CableTerminal graph: CableTerminal startNode: start targetNode: cable_terminal category: construction-category-utilities - description: "Input of devices such as the SMES. The red cables needs to face the device." - icon: - sprite: Structures/Power/cable_terminal.rsi - state: term objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false - type: construction - name: wallmount substation id: WallmountSubstation graph: WallmountSubstation startNode: start targetNode: substation category: construction-category-utilities - description: "A wallmount substation for compact spaces. Make sure to place cable underneath before building the wall." - icon: - sprite: Structures/Power/substation.rsi - state: substation_wall objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: wallmount generator id: WallmountGenerator graph: WallmountGenerator startNode: start targetNode: generator category: construction-category-utilities - description: "A wallmount generator for compact spaces. Make sure to place cable underneath before building the wall." - icon: - sprite: Structures/Power/Generation/wallmount_generator.rsi - state: panel objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - type: construction - name: wallmount APU id: WallmountGeneratorAPU graph: WallmountGenerator startNode: start targetNode: APU category: construction-category-utilities - description: "A wallmount APU for compact shuttles. Make sure to place cable underneath before building the wall." - icon: - sprite: Structures/Power/Generation/wallmount_generator.rsi - state: panel objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true # DISPOSALS - type: construction - name: disposal unit - description: A pneumatic waste disposal unit. id: DisposalUnit graph: DisposalMachine startNode: start @@ -133,13 +91,8 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: "disposal" - type: construction - name: mailing unit - description: A pneumatic mail delivery unit. id: MailingUnit graph: DisposalMachine startNode: start @@ -147,27 +100,17 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: "mailing" - type: construction - name: disposal pipe id: DisposalPipe - description: A huge pipe segment used for constructing disposal systems. graph: DisposalPipe startNode: start targetNode: pipe category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-s - type: construction - name: disposal tagger - description: A pipe that tags entities for routing. id: DisposalTagger graph: DisposalPipe startNode: start @@ -175,13 +118,8 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-tagger - type: construction - name: disposal trunk - description: A pipe trunk used as an entry point for disposal systems. id: DisposalTrunk graph: DisposalPipe startNode: start @@ -189,13 +127,8 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-t - type: construction - name: disposal router - description: A three-way router. Entities with matching tags get routed to the side. id: DisposalRouter graph: DisposalPipe startNode: start @@ -203,15 +136,10 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-j1s mirror: DisposalRouterFlipped - type: construction hide: true - name: disposal router - description: A three-way router. Entities with matching tags get routed to the side. id: DisposalRouterFlipped graph: DisposalPipe startNode: start @@ -219,14 +147,9 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-j2s mirror: DisposalRouter - type: construction - name: disposal signal router - description: A signal-controlled three-way router. id: DisposalSignalRouter graph: DisposalPipe startNode: start @@ -234,15 +157,10 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: signal-router-free mirror: DisposalSignalRouterFlipped - type: construction hide: true - name: disposal signal router - description: A signal-controlled three-way router. id: DisposalSignalRouterFlipped graph: DisposalPipe startNode: start @@ -250,14 +168,9 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: signal-router-flipped-free mirror: DisposalSignalRouter - type: construction - name: disposal junction - description: A three-way junction. The arrow indicates where items exit. id: DisposalJunction graph: DisposalPipe startNode: start @@ -265,15 +178,10 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-j1 mirror: DisposalJunctionFlipped - type: construction hide: true - name: disposal junction - description: A three-way junction. The arrow indicates where items exit. id: DisposalJunctionFlipped graph: DisposalPipe startNode: start @@ -281,14 +189,9 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-j2 mirror: DisposalJunction - type: construction - name: disposal Y junction - description: A three-way junction with another exit point. id: DisposalYJunction graph: DisposalPipe startNode: start @@ -296,13 +199,8 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-y - type: construction - name: disposal bend - description: A tube bent at a 90 degree angle. id: DisposalBend graph: DisposalPipe startNode: start @@ -310,22 +208,14 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/disposal.rsi - state: conpipe-c # ATMOS - type: construction - name: air alarm id: AirAlarmFixture graph: AirAlarm startNode: start targetNode: air_alarm category: construction-category-structures - description: An air alarm. Alarms... air? - icon: - sprite: Structures/Wallmounts/air_monitors.rsi - state: alarm0 placementMode: SnapgridCenter objectType: Structure canRotate: true @@ -334,16 +224,11 @@ - !type:WallmountCondition {} - type: construction - name: fire alarm id: FireAlarm graph: FireAlarm startNode: start targetNode: fire_alarm category: construction-category-structures - description: A fire alarm. Spicy! - icon: - sprite: Structures/Wallmounts/air_monitors.rsi - state: fire0 placementMode: SnapgridCenter objectType: Structure canRotate: true @@ -352,110 +237,73 @@ - !type:WallmountCondition {} - type: construction - name: air sensor id: AirSensor graph: AirSensor startNode: start targetNode: sensor category: construction-category-structures - description: An air sensor. Senses air. - icon: - sprite: Structures/Specific/Atmospherics/sensor.rsi - state: gsensor1 placementMode: SnapgridCenter objectType: Structure canRotate: true - type: construction - name: gas pipe sensor id: GasPipeSensor graph: GasPipeSensor startNode: start targetNode: sensor category: construction-category-structures - description: Reports on the status of the gas within the attached pipe network. - icon: - sprite: Structures/Piping/Atmospherics/gas_pipe_sensor.rsi - state: icon placementMode: SnapgridCenter objectType: Structure canRotate: true # ATMOS PIPES - type: construction - name: gas pipe half id: GasPipeHalf - description: Half of a gas pipe. No skateboards. graph: GasPipe startNode: start targetNode: half category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: true - icon: - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeHalf - type: construction - name: gas pipe straight id: GasPipeStraight - description: A straight pipe segment. graph: GasPipe startNode: start targetNode: straight category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: true - icon: - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeStraight - type: construction - name: gas pipe bend id: GasPipeBend - description: A pipe segment bent at a 90 degree angle. graph: GasPipe startNode: start targetNode: bend category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: true - icon: - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeBend - type: construction - name: gas pipe T junction id: GasPipeTJunction - description: A pipe segment with a T junction. graph: GasPipe startNode: start targetNode: tjunction category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: true - icon: - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeTJunction - type: construction - name: gas pipe fourway id: GasPipeFourway - description: A pipe segment with a fourway junction. graph: GasPipe startNode: start targetNode: fourway category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: true - icon: - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeFourway # ATMOS UNARY - type: construction - name: air vent - description: Pumps gas into the room. id: GasVentPump graph: GasUnary startNode: start @@ -463,20 +311,10 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/vent.rsi - state: vent_off - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeHalf - - sprite: Structures/Piping/Atmospherics/vent.rsi - state: vent_off conditions: - !type:NoUnstackableInTile - type: construction - name: passive vent - description: Unpowered vent that equalises gases on both sides. id: GasPassiveVent graph: GasUnary startNode: start @@ -484,20 +322,10 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/vent.rsi - state: vent_passive - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeHalf - - sprite: Structures/Piping/Atmospherics/vent.rsi - state: vent_passive conditions: - !type:NoUnstackableInTile - type: construction - name: air scrubber - description: Sucks gas into connected pipes. id: GasVentScrubber graph: GasUnary startNode: start @@ -505,20 +333,10 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/scrubber.rsi - state: scrub_off - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeHalf - - sprite: Structures/Piping/Atmospherics/scrubber.rsi - state: scrub_off conditions: - !type:NoUnstackableInTile - type: construction - name: air injector - description: Injects air into the atmosphere. id: GasOutletInjector graph: GasUnary startNode: start @@ -526,42 +344,22 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/outletinjector.rsi - state: injector - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeHalf - - sprite: Structures/Piping/Atmospherics/outletinjector.rsi - state: injector conditions: - !type:NoUnstackableInTile # ATMOS BINARY - type: construction - name: gas pump id: GasPressurePump - description: A pump that moves gas by pressure. graph: GasBinary startNode: start targetNode: pressurepump category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpPressure - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeStraight - - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpPressure conditions: - !type:NoUnstackableInTile - type: construction - name: volumetric gas pump - description: A pump that moves gas by volume. id: GasVolumePump graph: GasBinary startNode: start @@ -569,162 +367,89 @@ category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpVolume - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeStraight - - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpVolume conditions: - !type:NoUnstackableInTile - type: construction id: GasPassiveGate - name: passive gate - description: A one-way air valve that does not require power. graph: GasBinary startNode: start targetNode: passivegate category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpPassiveGate - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeStraight - - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpPassiveGate conditions: - !type:NoUnstackableInTile - type: construction id: GasValve - name: manual valve - description: A pipe with a valve that can be used to disable the flow of gas through it. graph: GasBinary startNode: start targetNode: valve category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpManualValve - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeStraight - - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpManualValve conditions: - !type:NoUnstackableInTile - type: construction id: SignalControlledValve - name: signal valve - description: Valve controlled by signal inputs. graph: GasBinary startNode: start targetNode: signalvalve category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpSignalValve - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeStraight - - sprite: Structures/Piping/Atmospherics/pump.rsi - state: pumpSignalValve conditions: - !type:NoUnstackableInTile - type: construction id: GasPort - name: connector port - description: For connecting portable devices related to atmospherics control. graph: GasBinary startNode: start targetNode: port category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/gascanisterport.rsi - state: gasCanisterPort - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeHalf - - sprite: Structures/Piping/Atmospherics/gascanisterport.rsi - state: gasCanisterPort conditions: - !type:NoUnstackableInTile - type: construction id: GasDualPortVentPump - name: dual-port air vent - description: Has a valve and a pump attached to it. There are two ports, one is an input for releasing air, the other is an output when siphoning. graph: GasBinary startNode: start targetNode: dualportventpump category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/vent.rsi - state: vent_off - layers: - - sprite: Structures/Piping/Atmospherics/pipe.rsi - state: pipeStraight - - sprite: Structures/Piping/Atmospherics/vent.rsi - state: vent_off - type: construction id: HeatExchanger - name: radiator - description: Transfers heat between the pipe and its surroundings. graph: GasBinary startNode: start targetNode: radiator category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/heatexchanger.rsi - state: heStraight - type: construction id: HeatExchangerBend - name: radiator bend - description: Transfers heat between the pipe and its surroundings. graph: GasBinary startNode: start targetNode: bendradiator category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/heatexchanger.rsi - state: heBend # ATMOS TRINARY - type: construction id: GasFilter - name: gas filter - description: Very useful for filtering gases. graph: GasTrinary startNode: start targetNode: filter category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/gasfilter.rsi - state: gasFilter mirror: GasFilterFlipped conditions: - !type:NoUnstackableInTile @@ -732,34 +457,24 @@ - type: construction id: GasFilterFlipped hide: true - name: gas filter - description: Very useful for filtering gases. graph: GasTrinary startNode: start targetNode: filterflipped category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/gasfilter.rsi - state: gasFilterF mirror: GasFilter conditions: - !type:NoUnstackableInTile - type: construction id: GasMixer - name: gas mixer - description: Very useful for mixing gases. graph: GasTrinary startNode: start targetNode: mixer category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/gasmixer.rsi - state: gasMixer mirror: GasMixerFlipped conditions: - !type:NoUnstackableInTile @@ -767,49 +482,34 @@ - type: construction id: GasMixerFlipped hide: true - name: gas mixer - description: Very useful for mixing gases. graph: GasTrinary startNode: start targetNode: mixerflipped category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/gasmixer.rsi - state: gasMixerF mirror: GasMixer conditions: - !type:NoUnstackableInTile - type: construction id: PressureControlledValve - name: pneumatic valve - description: A bidirectional valve controlled by pressure. Opens if the output pipe is lower than the pressure of the control pipe by 101.325 kPa. graph: GasTrinary startNode: start targetNode: pneumaticvalve category: construction-category-utilities placementMode: SnapgridCenter canBuildInImpassable: false - icon: - sprite: Structures/Piping/Atmospherics/pneumaticvalve.rsi - state: off conditions: - !type:NoUnstackableInTile # INTERCOM - type: construction - name: intercom id: IntercomAssembly graph: Intercom startNode: start targetNode: intercom category: construction-category-structures - description: An intercom. For when the station just needs to know something. - icon: - sprite: Structures/Wallmounts/intercom.rsi - state: base placementMode: SnapgridCenter objectType: Structure canRotate: true @@ -819,16 +519,11 @@ # TIMERS - type: construction - name: signal timer id: SignalTimer graph: Timer startNode: start targetNode: signal category: construction-category-utilities - description: "A wallmounted timer for sending timed signals to things." - icon: - sprite: Structures/Wallmounts/switch.rsi - state: on objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true @@ -836,16 +531,11 @@ - !type:WallmountCondition - type: construction - name: screen timer id: ScreenTimer graph: Timer startNode: start targetNode: screen category: construction-category-utilities - description: "A wallmounted timer for sending timed signals to things. This one has a screen for displaying text." - icon: - sprite: Structures/Wallmounts/signalscreen.rsi - state: signalscreen objectType: Structure canRotate: false placementMode: SnapgridCenter @@ -854,16 +544,11 @@ - !type:WallmountCondition - type: construction - name: brig timer id: BrigTimer graph: Timer startNode: start targetNode: brig category: construction-category-utilities - description: "A wallmounted timer for sending timed signals to things. This one has a screen for displaying text and requires security access to use." - icon: - sprite: Structures/Wallmounts/signalscreen.rsi - state: signalscreen objectType: Structure canRotate: false placementMode: SnapgridCenter diff --git a/Resources/Prototypes/Recipes/Construction/weapons.yml b/Resources/Prototypes/Recipes/Construction/weapons.yml index 4bc75805fe..f703724cc9 100644 --- a/Resources/Prototypes/Recipes/Construction/weapons.yml +++ b/Resources/Prototypes/Recipes/Construction/weapons.yml @@ -1,219 +1,159 @@ - type: construction - name: grey bladed flatcap id: BladedFlatcapGrey graph: BladedFlatcapGrey startNode: start targetNode: icon category: construction-category-weapons - description: An inconspicuous hat with glass shards sewn into the brim. - icon: { sprite: Clothing/Head/Hats/greyflatcap.rsi, state: icon } objectType: Item - type: construction - name: brown bladed flatcap id: BladedFlatcapBrown graph: BladedFlatcapBrown startNode: start targetNode: icon category: construction-category-weapons - description: An inconspicuous hat with glass shards sewn into the brim. - icon: { sprite: Clothing/Head/Hats/brownflatcap.rsi, state: icon } objectType: Item - type: construction - name: glass shiv id: Shiv graph: Shiv startNode: start targetNode: icon category: construction-category-weapons - description: A glass shard with a piece of cloth wrapped around it. - icon: { sprite: Objects/Weapons/Melee/shiv.rsi, state: icon } objectType: Item - type: construction - name: reinforced shiv id: ReinforcedShiv graph: ReinforcedShiv startNode: start targetNode: icon category: construction-category-weapons - description: A reinforced glass shard with a piece of cloth wrapped around it. - icon: { sprite: Objects/Weapons/Melee/reinforced_shiv.rsi, state: icon } objectType: Item - type: construction - name: plasma shiv id: PlasmaShiv graph: PlasmaShiv startNode: start targetNode: icon category: construction-category-weapons - description: A plasma shard with a piece of cloth wrapped around it. - icon: { sprite: Objects/Weapons/Melee/plasma_shiv.rsi, state: icon } objectType: Item - type: construction - name: uranium shiv id: UraniumShiv graph: UraniumShiv startNode: start targetNode: icon category: construction-category-weapons - description: A uranium shard with a piece of cloth wrapped around it. - icon: { sprite: Objects/Weapons/Melee/uranium_shiv.rsi, state: icon } objectType: Item - type: construction - name: crude spear id: Spear graph: Spear startNode: start targetNode: spear category: construction-category-weapons - description: A crude spear for when you need to put holes in somebody. - icon: { sprite: Objects/Weapons/Melee/spear.rsi, state: spear } objectType: Item - type: construction - name: crude reinforced spear id: SpearReinforced graph: SpearReinforced startNode: start targetNode: spear category: construction-category-weapons - description: A crude reinforced spear for when you need to put holes in somebody. - icon: { sprite: Objects/Weapons/Melee/reinforced_spear.rsi, state: spear } objectType: Item - type: construction - name: crude plasma spear id: SpearPlasma graph: SpearPlasma startNode: start targetNode: spear category: construction-category-weapons - description: A crude plasma spear for when you need to put holes in somebody. - icon: { sprite: Objects/Weapons/Melee/plasma_spear.rsi, state: spear } objectType: Item - type: construction - name: crude uranium spear id: SpearUranium graph: SpearUranium startNode: start targetNode: spear category: construction-category-weapons - description: A crude uranium spear for when you need to put holes in somebody. - icon: { sprite: Objects/Weapons/Melee/uranium_spear.rsi, state: spear } objectType: Item - type: construction - name: sharkminnow tooth spear id: SpearSharkMinnow graph: SpearSharkMinnow startNode: start targetNode: spear category: construction-category-weapons - description: A crude spear with a sharkminnow tooth for when you need to put holes in somebody. - icon: { sprite: Objects/Weapons/Melee/sharkminnow_spear.rsi, state: spear } objectType: Item - type: construction - name: makeshift bola id: Bola graph: Bola startNode: start targetNode: bola category: construction-category-weapons - description: A simple weapon for tripping someone at a distance. - icon: { sprite: Objects/Weapons/Throwable/bola.rsi, state: icon } objectType: Item - type: construction - name: wooden buckler id: WoodenBuckler graph: WoodenBuckler startNode: start targetNode: woodenBuckler category: construction-category-weapons - description: A nicely carved wooden shield! - icon: { sprite: Objects/Weapons/Melee/shields.rsi, state: buckler-icon } objectType: Item - type: construction - name: makeshift shield id: MakeshiftShield graph: MakeshiftShield startNode: start targetNode: makeshiftShield category: construction-category-weapons - description: Crude and falling apart. Why would you make this? - icon: { sprite: Objects/Weapons/Melee/shields.rsi, state: makeshift-icon } objectType: Item - type: construction - name: glass shard arrow id: ImprovisedArrow graph: ImprovisedArrow startNode: start targetNode: ImprovisedArrow category: construction-category-weapons - description: An arrow tipped with pieces of a glass shard, for use with a bow. - icon: { sprite: Objects/Weapons/Guns/Bow/bow.rsi, state: wielded-arrow } objectType: Item - type: construction - name: carp tooth arrow id: ImprovisedArrowCarp graph: ImprovisedArrowCarp startNode: start targetNode: ImprovisedArrowCarp category: construction-category-weapons - description: An arrow tipped with a carp tooth, for use with a bow. - icon: { sprite: Objects/Weapons/Guns/Bow/bow.rsi, state: wielded-arrow } objectType: Item - type: construction - name: plasma glass shard arrow id: ImprovisedArrowPlasma graph: ImprovisedArrowPlasma startNode: start targetNode: ImprovisedArrowPlasma category: construction-category-weapons - description: An arrow tipped with pieces of a plasma glass shard, for use with a bow. - icon: { sprite: Objects/Weapons/Guns/Bow/bow.rsi, state: wielded-arrow } objectType: Item - type: construction - name: uranium glass shard arrow id: ImprovisedArrowUranium graph: ImprovisedArrowUranium startNode: start targetNode: ImprovisedArrowUranium category: construction-category-weapons - description: An arrow tipped with pieces of a uranium glass shard, for use with a bow. - icon: { sprite: Objects/Weapons/Guns/Bow/bow.rsi, state: wielded-arrow } objectType: Item - type: construction - name: improvised bow id: ImprovisedBow graph: ImprovisedBow startNode: start targetNode: ImprovisedBow category: construction-category-weapons - description: A shoddily constructed bow made out of wood and cloth. It's not much, but it's gotten the job done for millennia. - icon: { sprite: Objects/Weapons/Guns/Bow/bow.rsi, state: unwielded } objectType: Item - type: construction - name: bone spear id: SpearBone graph: SpearBone startNode: start targetNode: spear category: construction-category-weapons - description: Bones and silk combined together. - icon: { sprite: Objects/Weapons/Melee/bone_spear.rsi, state: spear } objectType: Item diff --git a/Resources/Prototypes/Recipes/Construction/web.yml b/Resources/Prototypes/Recipes/Construction/web.yml index 9a0d832d01..bb8a69a6a7 100644 --- a/Resources/Prototypes/Recipes/Construction/web.yml +++ b/Resources/Prototypes/Recipes/Construction/web.yml @@ -1,14 +1,9 @@ - type: construction - name: web wall id: WallWeb graph: WebStructures startNode: start targetNode: wall category: construction-category-structures - description: A fairly weak yet silky smooth wall. - icon: - sprite: Structures/Walls/web.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -20,16 +15,11 @@ - !type:TileNotBlocked - type: construction - name: web table id: TableWeb graph: WebStructures startNode: start targetNode: table category: construction-category-furniture - description: Essential for any serious web development. - icon: - sprite: Structures/Furniture/Tables/web.rsi - state: full objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -41,16 +31,11 @@ - !type:TileNotBlocked - type: construction - name: web bed id: WebBed graph: WebStructures startNode: start targetNode: bed category: construction-category-furniture - description: Fun fact, you eating spiders in your sleep is false. - icon: - sprite: Structures/Web/bed.rsi - state: icon objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -62,16 +47,11 @@ - !type:TileNotBlocked - type: construction - name: web chair id: ChairWeb graph: WebStructures startNode: start targetNode: chair category: construction-category-furniture - description: You want to get serious about web development? Get this chair! - icon: - sprite: Structures/Web/chair.rsi - state: icon objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false @@ -80,16 +60,11 @@ - SpiderCraft - type: construction - name: web crate id: CrateWeb graph: WebStructures startNode: start targetNode: crate category: construction-category-storage - description: For containment of food and other things. Not as durable as a normal crate, and can't be welded shut. - icon: - sprite: Structures/Storage/Crates/web.rsi - state: icon objectType: Structure placementMode: SnapgridCenter canRotate: false @@ -99,16 +74,11 @@ - SpiderCraft - type: construction - name: web door id: WebDoor graph: WebStructures startNode: start targetNode: door category: construction-category-structures - description: A manual door made from web, normally placed right before a pit or trap. - icon: - sprite: Structures/Doors/web_door.rsi - state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/cleanbot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/cleanbot.yml index a734545507..bf70f9fedc 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/cleanbot.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/cleanbot.yml @@ -10,18 +10,18 @@ icon: sprite: Objects/Tools/bucket.rsi state: icon - name: bucket + name: construction-graph-tag-bucket - tag: ProximitySensor icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor doAfter: 2 - tag: BorgArm icon: sprite: Mobs/Silicon/drone.rsi state: l_hand - name: borg arm + name: construction-graph-tag-borg-arm doAfter: 2 - node: bot entity: MobCleanBot diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/firebot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/firebot.yml index 977ffd4093..6e7d37d4b7 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/firebot.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/firebot.yml @@ -10,24 +10,24 @@ icon: sprite: Objects/Misc/fire_extinguisher.rsi state: fire_extinguisher_open - name: fire extinguisher + name: construction-graph-tag-fire-extinguisher - tag: FireHelmet - icon: + icon: sprite: Clothing/Head/Helmets/firehelmet.rsi state: icon - name: fire helmet + name: construction-graph-tag-fire-helmet doAfter: 2 - tag: ProximitySensor icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor doAfter: 2 - tag: BorgArm icon: sprite: Mobs/Silicon/drone.rsi state: l_hand - name: borg arm + name: construction-graph-tag-borg-arm doAfter: 2 - node: bot entity: MobFireBot diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/honkbot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/honkbot.yml index 6806aacc24..ec6f9dcb1a 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/honkbot.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/honkbot.yml @@ -10,23 +10,23 @@ icon: sprite: Objects/Storage/Happyhonk/clown.rsi state: box - name: happy honk meal + name: construction-graph-tag-happy-honk-meal - tag: BikeHorn icon: sprite: Objects/Fun/bikehorn.rsi state: icon - name: bike horn + name: construction-graph-tag-clown-bike-horn doAfter: 2 - tag: ProximitySensor icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor - tag: BorgArm icon: sprite: Mobs/Silicon/drone.rsi state: l_hand - name: borg arm + name: construction-graph-tag-borg-arm doAfter: 2 - node: bot entity: MobHonkBot @@ -43,23 +43,23 @@ icon: sprite: Objects/Storage/Happyhonk/cluwne.rsi state: box - name: woeful cluwne meal + name: construction-graph-tag-woeful-cluwne-meal - tag: CluwneHorn icon: sprite: Objects/Fun/cluwnehorn.rsi state: icon - name: broken bike horn + name: construction-graph-tag-clowne-horn doAfter: 2 - tag: ProximitySensor icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor - tag: BorgArm icon: sprite: Mobs/Silicon/drone.rsi state: l_hand - name: borg arm + name: construction-graph-tag-borg-arm doAfter: 2 - node: bot entity: MobJonkBot diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/medibot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/medibot.yml index 92e731d23b..023af2c957 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/medibot.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/medibot.yml @@ -10,24 +10,24 @@ icon: sprite: Objects/Specific/Medical/firstaidkits.rsi state: firstaid - name: medkit + name: construction-graph-tag-medkit - tag: DiscreteHealthAnalyzer icon: sprite: Objects/Specific/Medical/healthanalyzer.rsi state: analyzer - name: health analyzer + name: construction-graph-tag-health-analyzer doAfter: 2 - tag: ProximitySensor icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor doAfter: 2 - tag: BorgArm icon: sprite: Mobs/Silicon/drone.rsi state: l_hand - name: borg arm + name: construction-graph-tag-borg-arm doAfter: 2 - node: bot entity: MobMedibot diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/mimebot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/mimebot.yml index 27391898c7..bde4e67564 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/mimebot.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/mimebot.yml @@ -10,35 +10,35 @@ icon: sprite: Objects/Storage/Happyhonk/mime.rsi state: box - name: mime edition happy honk meal + name: construction-graph-tag-mime-meal - tag: MimeBelt icon: sprite: Clothing/Belt/suspenders_red.rsi state: icon - name: suspenders + name: construction-graph-tag-suspenders doAfter: 2 - tag: ProximitySensor icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor - tag: BorgHead icon: sprite: Objects/Specific/Robotics/cyborg_parts.rsi state: borg_head - name: borg head + name: construction-graph-tag-borg-head doAfter: 2 - tag: BorgArm icon: sprite: Mobs/Silicon/drone.rsi state: l_hand - name: borg arm + name: construction-graph-tag-borg-arm doAfter: 2 - tag: BorgArm icon: sprite: Mobs/Silicon/drone.rsi state: l_hand - name: borg arm + name: construction-graph-tag-borg-arm doAfter: 2 - node: bot entity: MobMimeBot diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/supplybot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/supplybot.yml index efabb849bb..cdacd06853 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/supplybot.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/supplybot.yml @@ -10,12 +10,12 @@ icon: sprite: Objects/Misc/proximity_sensor.rsi state: icon - name: proximity sensor + name: construction-graph-tag-proximity-sensor - tag: BorgHead icon: sprite: Objects/Specific/Robotics/cyborg_parts.rsi state: borg_head - name: borg head + name: construction-graph-tag-borg-head doAfter: 1 - material: Steel amount: 10 diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/goliath_hardsuit.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/goliath_hardsuit.yml index 0bb82cf261..b763f920d7 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/goliath_hardsuit.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/goliath_hardsuit.yml @@ -10,7 +10,7 @@ icon: sprite: Clothing/OuterClothing/Hardsuits/spatio.rsi state: icon - name: spationaut hardsuit + name: construction-graph-tag-spationaut-hardsuit doAfter: 10 - material: Durathread amount: 5 diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/firebomb.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/firebomb.yml index 529585583c..e2519b765c 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/firebomb.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/firebomb.yml @@ -7,13 +7,13 @@ - to: empty steps: - tag: DrinkCan - name: an empty can + name: construction-graph-tag-empty-can icon: sprite: Objects/Consumable/Drinks/cola.rsi state: icon_open doAfter: 1 - tag: Igniter - name: an igniter + name: construction-graph-tag-igniter icon: sprite: Objects/Devices/igniter.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/flowerwreath.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/flowerwreath.yml index b8e580230d..f5580d56b1 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/flowerwreath.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/flowerwreath.yml @@ -7,17 +7,17 @@ - to: flowerwreath steps: - tag: Flower - name: flower + name: construction-graph-tag-flower icon: sprite: Objects/Specific/Hydroponics/poppy.rsi state: produce - tag: Flower - name: flower + name: construction-graph-tag-flower icon: sprite: Objects/Specific/Hydroponics/poppy.rsi state: produce - tag: Ambrosia - name: ambrosia + name: construction-graph-tag-ambrosia icon: sprite: Objects/Specific/Hydroponics/ambrosia_vulgaris.rsi state: produce diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun.yml index f8e7b64b90..02ec4625e6 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun.yml @@ -10,17 +10,17 @@ icon: sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - name: pipe + name: construction-graph-tag-pipe - tag: ModularReceiver icon: sprite: Objects/Misc/modular_receiver.rsi state: icon - name: modular receiver + name: construction-graph-tag-modular-receiver - tag: RifleStock icon: sprite: Objects/Misc/rifle_stock.rsi state: icon - name: rifle stock + name: construction-graph-tag-rifle-stock - material: Cloth amount: 3 doAfter: 10 diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun_shell.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun_shell.yml index 9f666dd61c..6d5d31516f 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun_shell.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun_shell.yml @@ -8,66 +8,66 @@ steps: - material: Steel amount: 1 - doAfter: 0.5 + doAfter: 0.5 - material: Plastic amount: 1 - doAfter: 0.5 + doAfter: 0.5 - tag: GlassShard - name: glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 - doAfter: 0.5 + doAfter: 0.5 - tag: GlassShard - name: glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard2 - doAfter: 0.5 + doAfter: 0.5 - tag: GlassShard - name: glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard1 - doAfter: 0.5 + doAfter: 0.5 - tag: GlassShard - name: glass shard + name: construction-graph-tag-glass-shard icon: sprite: Objects/Materials/Shards/shard.rsi state: shard3 - doAfter: 0.5 + doAfter: 0.5 - tag: Matchstick - name: match stick + name: construction-graph-tag-match-stick icon: sprite: Objects/Tools/matches.rsi state: match_unlit - doAfter: 0.5 + doAfter: 0.5 - tag: Matchstick - name: match stick + name: construction-graph-tag-match-stick icon: sprite: Objects/Tools/matches.rsi state: match_unlit - doAfter: 0.5 + doAfter: 0.5 - tag: Matchstick - name: match stick + name: construction-graph-tag-match-stick icon: sprite: Objects/Tools/matches.rsi state: match_unlit - doAfter: 0.5 + doAfter: 0.5 - tag: Matchstick - name: match stick + name: construction-graph-tag-match-stick icon: sprite: Objects/Tools/matches.rsi state: match_unlit - doAfter: 0.5 + doAfter: 0.5 - tag: Matchstick - name: match stick + name: construction-graph-tag-match-stick icon: sprite: Objects/Tools/matches.rsi state: match_unlit - doAfter: 0.5 + doAfter: 0.5 - tag: Matchstick - name: match stick + name: construction-graph-tag-match-stick icon: sprite: Objects/Tools/matches.rsi state: match_unlit diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml index e928d15933..b5dbdf032a 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml @@ -9,7 +9,7 @@ - material: MetalRod amount: 1 - tag: PowerCellSmall - name: power cell small + name: construction-graph-tag-power-cell-small icon: sprite: Objects/Power/power_cells.rsi state: small @@ -18,13 +18,13 @@ sprite: Objects/Misc/cablecuffs.rsi state: cuff color: red - name: cuffs + name: construction-graph-tag-cuffs - tag: Igniter - name: igniter + name: construction-graph-tag-igniter icon: sprite: Objects/Devices/igniter.rsi state: icon doAfter: 15 - node: msstunprod entity: Stunprod - + diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pipebomb.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pipebomb.yml index bc661b47d9..0e61dd2517 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pipebomb.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pipebomb.yml @@ -10,7 +10,7 @@ icon: sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - name: pipe + name: construction-graph-tag-pipe - material: Steel amount: 1 doAfter: 3 diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pneumatic_cannon.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pneumatic_cannon.yml index 85a68d5f39..049b55b78c 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pneumatic_cannon.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/pneumatic_cannon.yml @@ -10,13 +10,13 @@ icon: sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - name: pipe + name: construction-graph-tag-pipe - tag: Handcuffs icon: sprite: Objects/Misc/cablecuffs.rsi state: cuff color: red - name: cuffs + name: construction-graph-tag-cuffs - material: Steel amount: 6 doAfter: 10 diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml index f03670b673..c7ba3c1311 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml @@ -7,7 +7,7 @@ - to: potatobattery steps: - tag: Potato - name: a potato + name: construction-graph-tag-potato icon: sprite: Objects/Specific/Hydroponics/potato.rsi state: produce @@ -30,13 +30,13 @@ - to: potatoai steps: - tag: PotatoBattery - name: a potato battery + name: construction-graph-tag-potato-battery icon: sprite: Objects/Power/power_cells.rsi state: potato doAfter: 1 - tag: SmallAIChip - name: a super-compact AI chip + name: construction-graph-tag-super-compact-ai-chip icon: sprite: Objects/Misc/potatoai_chip.rsi state: icon @@ -63,4 +63,4 @@ - material: Capacitor amount: 2 - node: potatoaichip - entity: PotatoAIChip \ No newline at end of file + entity: PotatoAIChip diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml index a43d84e173..ab12dd4d6f 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/cratefreezer.yml @@ -12,7 +12,7 @@ amount: 2 doAfter: 5 - tag: FreezerElectronics - name: freezer electronics + name: construction-graph-tag-freezer-electronics icon: sprite: Objects/Misc/module.rsi state: door_electronics diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml index c465d74db7..006e774de4 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml @@ -75,7 +75,7 @@ amount: 2 doAfter: 5 - tag: FreezerElectronics - name: freezer electronics + name: construction-graph-tag-freezer-electronics icon: sprite: Objects/Misc/module.rsi state: door_electronics diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/strawhat.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/strawhat.yml index be429bb564..e92c55669e 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/strawhat.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/strawhat.yml @@ -7,22 +7,22 @@ - to: strawhat steps: - tag: Wheat - name: wheat bushel + name: construction-graph-tag-wheat-bushel icon: sprite: Objects/Specific/Hydroponics/wheat.rsi state: produce - tag: Wheat - name: wheat bushel + name: construction-graph-tag-wheat-bushel icon: sprite: Objects/Specific/Hydroponics/wheat.rsi state: produce - tag: Wheat - name: wheat bushel + name: construction-graph-tag-wheat-bushel icon: sprite: Objects/Specific/Hydroponics/wheat.rsi state: produce - tag: Wheat - name: wheat bushel + name: construction-graph-tag-wheat-bushel icon: sprite: Objects/Specific/Hydroponics/wheat.rsi state: produce diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml index 56e31bbe8d..e756f9518e 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/toys.yml @@ -7,12 +7,12 @@ - to: plushie steps: - tag: PlushieGhost - name: ghost soft toy + name: construction-graph-tag-ghost icon: sprite: Mobs/Ghosts/ghost_human.rsi state: icon - tag: Ectoplasm - name: ectoplasm + name: construction-graph-tag-ectoplasm icon: sprite: Mobs/Ghosts/revenant.rsi state: ectoplasm @@ -29,7 +29,7 @@ - to: suit steps: - tag: HideCorgi - name: corgi hide + name: construction-graph-tag-corgi-hide icon: sprite: Objects/Materials/materials.rsi state: corgihide diff --git a/Resources/Prototypes/Recipes/Crafting/artifact.yml b/Resources/Prototypes/Recipes/Crafting/artifact.yml index c627f00c16..475c7c877e 100644 --- a/Resources/Prototypes/Recipes/Crafting/artifact.yml +++ b/Resources/Prototypes/Recipes/Crafting/artifact.yml @@ -1,12 +1,7 @@ - type: construction - name: alien artifact id: Artifact graph: Artifact startNode: start targetNode: done category: construction-category-misc objectType: Item - description: A strange alien artifact - icon: - sprite: Objects/Specific/Xenoarchaeology/item_artifacts.rsi - state: ano01 diff --git a/Resources/Prototypes/Recipes/Crafting/bots.yml b/Resources/Prototypes/Recipes/Crafting/bots.yml index 21b524a060..f76d545e94 100644 --- a/Resources/Prototypes/Recipes/Crafting/bots.yml +++ b/Resources/Prototypes/Recipes/Crafting/bots.yml @@ -1,90 +1,55 @@ - type: construction - name: cleanbot id: cleanbot graph: CleanBot startNode: start targetNode: bot category: construction-category-utilities objectType: Item - description: This bot wanders around the station, mopping up any puddles it sees. - icon: - sprite: Mobs/Silicon/Bots/cleanbot.rsi - state: cleanbot - type: construction - name: firebot id: firebot graph: FireBot startNode: start targetNode: bot category: construction-category-utilities objectType: Item - description: This bot puts out fires wherever it goes. - icon: - sprite: Mobs/Silicon/Bots/firebot.rsi - state: firebot - type: construction - name: honkbot id: honkbot graph: HonkBot startNode: start targetNode: bot category: construction-category-utilities objectType: Item - description: This bot honks and slips people. - icon: - sprite: Mobs/Silicon/Bots/honkbot.rsi - state: honkbot - type: construction - name: jonkbot id: jonkbot graph: JonkBot startNode: start targetNode: bot category: construction-category-utilities objectType: Item - description: This cursed bot honks, laughs and slips people. - icon: - sprite: Mobs/Silicon/Bots/honkbot.rsi - state: jonkbot - type: construction - name: medibot id: medibot graph: MediBot startNode: start targetNode: bot category: construction-category-utilities objectType: Item - description: This bot can help supply basic healing. - icon: - sprite: Mobs/Silicon/Bots/medibot.rsi - state: medibot - type: construction - name: mimebot id: mimebot graph: MimeBot startNode: start targetNode: bot category: construction-category-utilities objectType: Item - description: This bot knows how to wave. - icon: - sprite: Mobs/Silicon/Bots/mimebot.rsi - state: mimebot - type: construction - name: supplybot id: supplybot graph: SupplyBot startNode: start targetNode: bot category: construction-category-utilities objectType: Item - description: This bot can be loaded with cargo to make deliveries. - icon: - sprite: Mobs/Silicon/Bots/supplybot.rsi - state: supplybot diff --git a/Resources/Prototypes/Recipes/Crafting/crates.yml b/Resources/Prototypes/Recipes/Crafting/crates.yml index 25450b7d98..878e656e30 100644 --- a/Resources/Prototypes/Recipes/Crafting/crates.yml +++ b/Resources/Prototypes/Recipes/Crafting/crates.yml @@ -1,100 +1,71 @@ - type: construction - name: livestock crate id: CrateLivestock graph: CrateLivestock startNode: start targetNode: cratelivestock category: construction-category-storage - description: A wooden crate for holding livestock. - icon: { sprite: Structures/Storage/Crates/livestock.rsi, state: base } objectType: Structure - type: construction - name: steel crate id: CrateGenericSteel graph: CrateGenericSteel startNode: start targetNode: crategenericsteel category: construction-category-storage - description: A metal crate for storing things. - icon: { sprite: Structures/Storage/Crates/generic.rsi, state: icon } objectType: Structure - type: construction - name: secure crate id: CrateSecure graph: CrateSecure startNode: start targetNode: cratesecure category: construction-category-storage - description: A secure metal crate for storing things. Requires no special access, can be configured with an Access Configurator. - icon: { sprite: Structures/Storage/Crates/secure.rsi, state: icon } objectType: Structure - type: construction - name: freezer id: CrateFreezer graph: CrateFreezer startNode: start targetNode: done category: construction-category-storage - description: A metal freezing crate for storing things. - icon: { sprite: Structures/Storage/Crates/freezer.rsi, state: icon } objectType: Structure - type: construction - name: plastic crate id: CratePlastic graph: CratePlastic startNode: start targetNode: crateplastic category: construction-category-storage - description: A plastic crate for storing things. - icon: { sprite: Structures/Storage/Crates/plastic.rsi, state: icon } objectType: Structure - type: construction - name: cardboard box id: BigBox graph: BaseBigBox startNode: start targetNode: basebigbox category: construction-category-storage - description: A big box for storing things or hiding in. - icon: { sprite: Structures/Storage/closet.rsi, state: cardboard } objectType: Structure - type: construction - name: cardboard box id: BoxCardboard graph: BoxCardboard startNode: start targetNode: boxcardboard category: construction-category-storage - description: A small box for storing things. - icon: { sprite: Objects/Storage/boxes.rsi, state: box } objectType: Item - type: construction - name: pizza box id: FoodBoxPizza graph: FoodBoxPizza startNode: start targetNode: foodboxpizza category: construction-category-storage - description: A box for pizza. - icon: - sprite: Objects/Consumable/Food/Baked/pizza.rsi - state: box objectType: Item - type: construction - name: coffin id: CrateCoffin graph: CrateCoffin startNode: start targetNode: cratecoffin category: construction-category-storage - description: A coffin for storing corpses. - icon: { sprite: Structures/Storage/Crates/coffin.rsi, state: base } objectType: Structure diff --git a/Resources/Prototypes/Recipes/Crafting/improvised.yml b/Resources/Prototypes/Recipes/Crafting/improvised.yml index 9a203a4d62..4c94fcb6ff 100644 --- a/Resources/Prototypes/Recipes/Crafting/improvised.yml +++ b/Resources/Prototypes/Recipes/Crafting/improvised.yml @@ -1,255 +1,159 @@ - type: construction - name: baseball bat id: bat graph: WoodenBat startNode: start targetNode: bat category: construction-category-weapons - description: A robust baseball bat. - icon: - sprite: Objects/Weapons/Melee/baseball_bat.rsi - state: icon objectType: Item - type: construction - name: ghost sheet id: ghost_sheet graph: GhostSheet startNode: start targetNode: ghost_sheet category: construction-category-clothing - description: Become a spooky ghost. Boo! - icon: - sprite: Clothing/OuterClothing/Misc/ghostsheet.rsi - state: icon objectType: Item - type: construction - name: makeshift handcuffs id: makeshifthandcuffs graph: makeshifthandcuffs startNode: start targetNode: cuffscable category: construction-category-tools - description: "Homemade handcuffs crafted from spare cables." - icon: { sprite: Objects/Misc/cablecuffs.rsi, state: cuff } objectType: Item - type: construction - name: makeshift stunprod id: makeshiftstunprod graph: makeshiftstunprod startNode: start targetNode: msstunprod category: construction-category-weapons - description: "Homemade stunprod." - icon: { sprite: Objects/Weapons/Melee/stunprod.rsi, state: stunprod_off } objectType: Item - type: construction - name: muzzle id: muzzle graph: Muzzle startNode: start targetNode: muzzle category: construction-category-tools objectType: Item - description: "A muzzle to shut your victim up." - icon: - sprite: Clothing/Mask/muzzle.rsi - state: icon - type: construction - name: improvised pneumatic cannon id: pneumaticcannon graph: PneumaticCannon startNode: start targetNode: cannon category: construction-category-weapons objectType: Item - description: This son of a gun can fire anything that fits in it using just a little gas. - icon: - sprite: Objects/Weapons/Guns/Cannons/pneumatic_cannon.rsi - state: icon - type: construction - name: gauze id: gauze graph: Gauze startNode: start targetNode: gauze category: construction-category-tools objectType: Item - description: When you've really got nothing left. - icon: - sprite: Objects/Specific/Medical/medical.rsi - state: gauze - type: construction - name: blindfold id: blindfold graph: Blindfold startNode: start targetNode: blindfold category: construction-category-tools objectType: Item - description: Better hope everyone turns a blind eye to you crafting this sussy item... - icon: - sprite: Clothing/Eyes/Misc/blindfold.rsi - state: icon - type: construction - name: flower wreath id: flowerwreath graph: flowerwreath startNode: start targetNode: flowerwreath category: construction-category-clothing - description: A wreath of colourful flowers. Can be worn both on head and neck. - icon: - sprite: Clothing/Head/Misc/flower-wreath.rsi - state: icon objectType: Item - type: construction - name: damp rag id: rag graph: Rag startNode: start targetNode: rag category: construction-category-tools objectType: Item - description: A damp rag to clean up the ground. Better than slipping around all day. - icon: - sprite: Objects/Specific/Janitorial/rag.rsi - state: rag - type: construction - name: improvised shotgun id: improvisedshotgun graph: ImprovisedShotgunGraph startNode: start targetNode: shotgun category: construction-category-weapons objectType: Item - description: A shitty, single-shot shotgun made from salvaged and hand-crafted gun parts. Ammo not included. - icon: - sprite: Objects/Weapons/Guns/Shotguns/improvised_shotgun.rsi - state: icon - type: construction - name: improvised shotgun shell id: ShellShotgunImprovised graph: ImprovisedShotgunShellGraph startNode: start targetNode: shell category: construction-category-weapons objectType: Item - description: A homemade shotgun shell that shoots painful glass shrapnel. The spread is so wide that it couldn't hit the broad side of a barn. - icon: - sprite: Objects/Weapons/Guns/Ammunition/Casings/shotgun_shell.rsi - state: improvised - type: construction - name: rifle stock id: riflestock graph: RifleStockGraph startNode: start targetNode: riflestock category: construction-category-weapons objectType: Item - description: A stock carved out of wood, vital for improvised firearms. - icon: - sprite: Objects/Misc/rifle_stock.rsi - state: icon - type: construction - name: fire bomb id: firebomb graph: FireBomb startNode: start targetNode: firebomb category: construction-category-weapons objectType: Item - description: A weak, improvised incendiary device. - icon: - sprite: Objects/Weapons/Bombs/ied.rsi - state: icon - type: construction - name: cotton woven cloth id: CottonWovenCloth graph: CottonObjects startNode: start targetNode: cottoncloth category: construction-category-misc - description: "A homemade piece of cotton cloth, it feels coarse." - icon: - sprite: Objects/Materials/materials.rsi - state: cloth_3 objectType: Item - type: construction - name: straw hat id: strawHat graph: StrawHat startNode: start targetNode: strawhat category: construction-category-clothing - description: A fancy hat for hot days! Not recommended to wear near fires. - icon: - sprite: Clothing/Head/Hats/straw_hat.rsi - state: icon objectType: Item - type: construction - name: pipe bomb id: pipebomb graph: PipeBomb startNode: start targetNode: pipebomb category: construction-category-weapons objectType: Item - description: An improvised explosive made from pipes and wire. - icon: - sprite: Objects/Weapons/Bombs/pipebomb.rsi - state: icon - type: construction - name: rolling pin id: rollingpin graph: WoodenRollingPin startNode: start targetNode: rollingpin category: construction-category-tools objectType: Item - description: A rolling pin, used for cooking and defending the kitchen. - icon: - sprite: Objects/Tools/rolling_pin.rsi - state: icon - type: construction - name: pet carrier id: PetCarrier graph: PetCarrier startNode: start targetNode: petCarrier category: construction-category-misc objectType: Item - description: Allows large animals to be carried comfortably. - icon: - sprite: Objects/Storage/petcarrier.rsi - state: icon - type: construction - name: goliath hardsuit id: HardsuitGoliath graph: HardsuitGoliath startNode: start targetNode: hardsuitGoliath category: construction-category-clothing objectType: Item - description: A lightweight hardsuit, adorned with a patchwork of thick, chitinous goliath hide. - icon: - sprite: Clothing/OuterClothing/Hardsuits/goliath.rsi - state: icon diff --git a/Resources/Prototypes/Recipes/Crafting/potato.yml b/Resources/Prototypes/Recipes/Crafting/potato.yml index 17f2cc4013..fb8e12c528 100644 --- a/Resources/Prototypes/Recipes/Crafting/potato.yml +++ b/Resources/Prototypes/Recipes/Crafting/potato.yml @@ -1,32 +1,23 @@ - type: construction - name: potato battery id: PowerCellPotato graph: PowerCellPotato startNode: start targetNode: potatobattery category: construction-category-misc - description: A truly ingenious source of power. - icon: { sprite: Objects/Power/power_cells.rsi, state: potato } objectType: Item - type: construction - name: potato artificial intelligence id: PotatoAI graph: PotatoAI startNode: start targetNode: potatoai category: construction-category-misc - description: The potato happens to be the perfect power source for this chip. - icon: { sprite: Objects/Fun/pai.rsi, state: icon-potato-off } objectType: Item - + - type: construction - name: supercompact AI chip id: PotatoAIChip graph: PotatoAIChip startNode: start targetNode: potatoaichip category: construction-category-misc - description: A masterfully(?) crafted AI chip, requiring a similarly improvised power source. - icon: { sprite: Objects/Misc/potatoai_chip.rsi, state: icon } - objectType: Item \ No newline at end of file + objectType: Item diff --git a/Resources/Prototypes/Recipes/Crafting/smokeables.yml b/Resources/Prototypes/Recipes/Crafting/smokeables.yml index e4280f6d66..cf30bf4edb 100644 --- a/Resources/Prototypes/Recipes/Crafting/smokeables.yml +++ b/Resources/Prototypes/Recipes/Crafting/smokeables.yml @@ -1,91 +1,67 @@ - type: construction - name: joint id: smokeableJoint graph: smokeableJoint startNode: start targetNode: joint category: construction-category-misc - description: "A roll of dried plant matter wrapped in thin paper." - icon: { sprite: Objects/Consumable/Smokeables/Cannabis/joint.rsi, state: unlit-icon } objectType: Item - + - type: construction - name: rainbow joint id: smokeableJointRainbow graph: smokeableJointRainbow startNode: start targetNode: jointRainbow category: construction-category-misc - description: "A roll of dried plant matter wrapped in thin paper." - icon: { sprite: Objects/Consumable/Smokeables/Cannabis/joint.rsi, state: unlit-icon } objectType: Item - type: construction - name: blunt id: smokeableBlunt graph: smokeableBlunt startNode: start targetNode: blunt category: construction-category-misc - description: "A roll of dried plant matter wrapped in a dried tobacco leaf." - icon: { sprite: Objects/Consumable/Smokeables/Cannabis/blunt.rsi, state: unlit-icon } objectType: Item - type: construction - name: rainbow blunt id: smokeableBluntRainbow graph: smokeableBluntRainbow startNode: start targetNode: bluntRainbow category: construction-category-misc - description: "A roll of dried plant matter wrapped in a dried tobacco leaf." - icon: { sprite: Objects/Consumable/Smokeables/Cannabis/blunt.rsi, state: unlit-icon } objectType: Item - type: construction - name: cigarette id: smokeableCigarette graph: smokeableCigarette startNode: start targetNode: cigarette category: construction-category-misc - description: "A roll of tobacco and nicotine." - icon: { sprite: Objects/Consumable/Smokeables/Cigarettes/cigarette.rsi, state: unlit-icon } objectType: Item # I wanted to put a hand-grinder here but we need construction graphs that use non-consumed catalysts first. - type: construction - name: ground cannabis id: smokeableGroundCannabis graph: smokeableGroundCannabis startNode: start targetNode: ground category: construction-category-misc - description: "Ground cannabis, ready to take you on a trip." - icon: { sprite: Objects/Misc/reagent_fillings.rsi, state: powderpile } # color: darkgreen objectType: Item - type: construction - name: ground rainbow cannabis id: smokeableGroundCannabisRainbow graph: smokeableGroundCannabisRainbow startNode: start targetNode: groundRainbow category: construction-category-misc - description: "Ground rainbow cannabis, ready to take you on a trip." - icon: { sprite: Objects/Specific/Hydroponics/rainbow_cannabis.rsi, state: powderpile_rainbow } objectType: Item - type: construction - name: ground tobacco id: smokeableGroundTobacco graph: smokeableGroundTobacco startNode: start targetNode: ground category: construction-category-misc - description: "Ground tobacco, perfect for hand-rolled cigarettes." - icon: { sprite: Objects/Misc/reagent_fillings.rsi, state: powderpile } # color: brown objectType: Item diff --git a/Resources/Prototypes/Recipes/Crafting/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/tallbox.yml index 7de80870af..acecfb1d7e 100644 --- a/Resources/Prototypes/Recipes/Crafting/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/tallbox.yml @@ -1,56 +1,41 @@ - type: construction id: ClosetSteel - name: closet graph: ClosetSteel startNode: start targetNode: done category: construction-category-storage - description: A tall steel box that cannot be locked. - icon: { sprite: Structures/Storage/closet.rsi, state: generic_icon } objectType: Structure - type: construction id: ClosetSteelSecure - name: secure closet graph: ClosetSteelSecure startNode: start targetNode: done category: construction-category-storage - description: A tall steel box that can be locked. - icon: { sprite: Structures/Storage/closet.rsi, state: secure_icon } objectType: Structure - type: construction id: ClosetFreezer - name: freezer graph: ClosetFreezer startNode: start targetNode: done category: construction-category-storage - description: A tall steel box with freezing abilities. - icon: { sprite: Structures/Storage/closet.rsi, state: freezer_icon } objectType: Structure - type: construction id: GunSafe - name: gun safe graph: GunSafe startNode: start targetNode: done category: construction-category-storage - description: A durable gun safe that can be locked. - icon: { sprite: Structures/Storage/closet.rsi, state: shotguncase } objectType: Structure - type: construction id: ClosetWall - name: wall closet graph: ClosetWall startNode: start targetNode: done category: construction-category-storage - description: A standard-issue Nanotrasen storage unit, now on walls. - icon: { sprite: Structures/Storage/wall_locker.rsi, state: generic_icon } objectType: Structure placementMode: SnapgridCenter canRotate: true diff --git a/Resources/Prototypes/Recipes/Crafting/tiles.yml b/Resources/Prototypes/Recipes/Crafting/tiles.yml index 433a3bec29..d9e19566be 100644 --- a/Resources/Prototypes/Recipes/Crafting/tiles.yml +++ b/Resources/Prototypes/Recipes/Crafting/tiles.yml @@ -1,199 +1,65 @@ # These should be lathe recipes but lathe code sucks so hard rn so they'll be crafted by hand. - type: construction - name: steel tile id: TileSteel graph: TileSteel startNode: start targetNode: steeltile category: construction-category-tiles - description: "Four steel station tiles." - icon: { sprite: Objects/Tiles/tile.rsi, state: steel } objectType: Item - type: construction - name: wood floor id: TileWood graph: TileWood startNode: start targetNode: woodtile category: construction-category-tiles - description: "Four pieces of wooden station flooring." - icon: { sprite: Objects/Tiles/tile.rsi, state: wood } objectType: Item - + - type: construction - name: filled brass plate id: TileBrassFilled graph: TilesBrass startNode: start targetNode: filledPlate category: construction-category-tiles - description: "Four pieces of brass station flooring, only compatible with brass plating." - icon: { sprite: Objects/Tiles/tile.rsi, state: brass-filled } objectType: Item - + - type: construction - name: smooth brass plate id: TileBrassReebe graph: TilesBrass startNode: start targetNode: reebe category: construction-category-tiles - description: "Four pieces of smooth brass station flooring, only compatible with brass plating." - icon: { sprite: Objects/Tiles/tile.rsi, state: reebe } objectType: Item - type: construction - name: white tile id: TileWhite graph: TileWhite startNode: start targetNode: whitetile category: construction-category-tiles - description: "Four white station tiles." - icon: { sprite: Objects/Tiles/tile.rsi, state: white } objectType: Item - type: construction - name: dark tile id: TileDark graph: TileDark startNode: start targetNode: darktile category: construction-category-tiles - description: "Four dark station tiles." - icon: { sprite: Objects/Tiles/tile.rsi, state: dark } objectType: Item - type: construction - name: flesh tile id: TileFlesh graph: TileFlesh startNode: start targetNode: fleshTile category: construction-category-tiles - description: "Four fleshy tiles." - icon: { sprite: Objects/Tiles/tile.rsi, state: meat } objectType: Item -# - type: construction -# name: techmaint floor -# id: tileTechmaint -# graph: tileTechmaint -# startNode: start -# targetNode: techmainttile -# category: construction-category-tiles -# description: "A piece of techmaint flooring." -# icon: { sprite: Objects/Tiles/tile.rsi, state: steel_techfloor_grid } -# objectType: Item -# -# - type: construction -# name: freezer tile -# id: tileFreezer -# graph: tileFreezer -# startNode: start -# targetNode: freezertile -# category: construction-category-tiles -# description: "A freezer station tile." -# icon: { sprite: Objects/Tiles/tile.rsi, state: showroom } -# objectType: Item -# -# - type: construction -# name: showroom tile -# id: tileShowroom -# graph: tileShowroom -# startNode: start -# targetNode: showroomtile -# category: construction-category-tiles -# description: "A showroom station tile." -# icon: { sprite: Objects/Tiles/tile.rsi, state: showroom } -# objectType: Item -# -# - type: construction -# name: green-circuit floor -# id: tileGCircuit -# graph: tileGCircuit -# startNode: start -# targetNode: gcircuittile -# category: construction-category-tiles -# description: "A piece of green-circuit flooring." -# icon: { sprite: Objects/Tiles/tile.rsi, state: gcircuit } -# objectType: Item -# -# - type: construction -# name: gold floor -# id: tileGold -# graph: tileGold -# startNode: start -# targetNode: goldtile -# category: construction-category-tiles -# description: "A piece of gold flooring." -# icon: { sprite: Objects/Tiles/tile.rsi, state: gold } -# objectType: Item -# -# - type: construction -# name: reinforced tile -# id: tileReinforced -# graph: tileReinforced -# startNode: start -# targetNode: reinforcedtile -# category: construction-category-tiles -# description: "A reinforced station tile." -# icon: { sprite: Objects/Tiles/tile.rsi, state: reinforced } -# objectType: Item -# -# - type: construction -# name: mono tile -# id: tileMono -# graph: tileMono -# startNode: start -# targetNode: monotile -# category: construction-category-tiles -# description: "A mono station tile." -# icon: { sprite: Objects/Tiles/tile.rsi, state: white_monofloor } -# objectType: Item -# -# - type: construction -# name: linoleum floor -# id: tileLino -# graph: tileLino -# startNode: start -# targetNode: linotile -# category: construction-category-tiles -# description: "A piece of linoleum flooring." -# icon: { sprite: Objects/Tiles/tile.rsi, state: white_monofloor } -# objectType: Item -# -# - type: construction -# name: hydro tile -# id: tileHydro -# graph: tileHydro -# startNode: start -# targetNode: hydrotile -# category: construction-category-tiles -# description: "A hydro station tile." -# icon: { sprite: Objects/Tiles/tile.rsi, state: hydro } -# objectType: Item -# -# - type: construction -# name: dirty tile -# id: tileDirty -# graph: tileDirty -# startNode: start -# targetNode: dirtytile -# category: construction-category-tiles -# description: "A dirty station tile." -# icon: { sprite: Objects/Tiles/tile.rsi, state: dirty } -# objectType: Item - - type: construction - name: large wood floor id: TileWoodLarge graph: TileWoodLarge startNode: start targetNode: woodtilelarge category: construction-category-tiles - description: "Four pieces of wooden station flooring." - icon: { sprite: Objects/Tiles/tile.rsi, state: wood-large } - objectType: Item \ No newline at end of file + objectType: Item diff --git a/Resources/Prototypes/Recipes/Crafting/toys.yml b/Resources/Prototypes/Recipes/Crafting/toys.yml index 4fd91bdb69..a3bc1bdf72 100644 --- a/Resources/Prototypes/Recipes/Crafting/toys.yml +++ b/Resources/Prototypes/Recipes/Crafting/toys.yml @@ -1,25 +1,15 @@ - type: construction - name: revenant plushie id: PlushieGhostRevenant graph: PlushieGhostRevenant startNode: start targetNode: plushie category: construction-category-misc objectType: Item - description: A toy to scare the medbay with. - icon: - sprite: Mobs/Ghosts/revenant.rsi - state: icon - type: construction - name: ian suit id: ClothingOuterSuitIan graph: ClothingOuterSuitIan startNode: start targetNode: suit category: construction-category-misc objectType: Item - description: Make yourself look just like Ian! - icon: - sprite: Clothing/OuterClothing/Suits/iansuit.rsi - state: icon diff --git a/Resources/Prototypes/Recipes/Crafting/web.yml b/Resources/Prototypes/Recipes/Crafting/web.yml index 55f73fef50..e1b47b1047 100644 --- a/Resources/Prototypes/Recipes/Crafting/web.yml +++ b/Resources/Prototypes/Recipes/Crafting/web.yml @@ -1,111 +1,76 @@ - type: construction - name: web tile id: TileWeb graph: WebObjects startNode: start targetNode: tile category: construction-category-tiles - description: "Nice and smooth." entityWhitelist: tags: - SpiderCraft - icon: - sprite: Objects/Tiles/web.rsi - state: icon objectType: Item - type: construction - name: web winter coat id: ClothingOuterWinterWeb graph: WebObjects startNode: start targetNode: coat category: construction-category-clothing - description: "Surprisingly warm and durable." entityWhitelist: tags: - SpiderCraft - icon: - sprite: Clothing/OuterClothing/WinterCoats/coat.rsi - state: WEB-icon objectType: Item - type: construction - name: web jumpsuit id: ClothingUniformJumpsuitWeb graph: WebObjects startNode: start targetNode: jumpsuit category: construction-category-clothing - description: "At least it's something." entityWhitelist: tags: - SpiderCraft - icon: - sprite: Clothing/Uniforms/Jumpsuit/web.rsi - state: icon objectType: Item - type: construction - name: web jumpskirt id: ClothingUniformJumpskirtWeb graph: WebObjects startNode: start targetNode: jumpskirt category: construction-category-clothing - description: "At least it's something." entityWhitelist: tags: - SpiderCraft - icon: - sprite: Clothing/Uniforms/Jumpskirt/web.rsi - state: icon objectType: Item - type: construction - name: silk woven cloth id: SilkWovenCloth graph: WebObjects startNode: start targetNode: cloth category: construction-category-materials - description: "Feels just like cloth, strangely enough." entityWhitelist: tags: - SpiderCraft - icon: - sprite: Objects/Materials/materials.rsi - state: cloth_3 objectType: Item - type: construction - name: web shield id: WebShield graph: WebObjects startNode: start targetNode: shield category: construction-category-clothing - description: "It's thick enough to handle a few blows, but probably not heat." entityWhitelist: tags: - SpiderCraft - icon: - sprite: Objects/Weapons/Melee/web-shield.rsi - state: icon objectType: Item - type: construction - name: web winter boots id: ClothingShoesBootsWinterWeb graph: WebObjects startNode: start targetNode: boots category: construction-category-clothing - description: "Tightly woven web should protect against the cold" entityWhitelist: tags: - SpiderCraft - icon: - sprite: Clothing/Shoes/Boots/winterbootsweb.rsi - state: icon objectType: Item diff --git a/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml b/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml index cd6aed7cdf..c3752b62ae 100644 --- a/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml +++ b/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml @@ -1,48 +1,48 @@ - type: stack id: Glass - name: glass + name: stack-glass icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: glass } spawn: SheetGlass1 maxCount: 30 - type: stack id: ReinforcedGlass - name: reinforced glass + name: stack-reinforced-glass icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: rglass } spawn: SheetRGlass1 maxCount: 30 - type: stack id: PlasmaGlass - name: plasma glass + name: stack-plasma-glass icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: pglass } spawn: SheetPGlass1 maxCount: 30 - type: stack id: ReinforcedPlasmaGlass - name: reinforced plasma glass + name: stack-reinforced-plasma-glass icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: rpglass } spawn: SheetRPGlass1 maxCount: 30 - type: stack id: UraniumGlass - name: uranium glass + name: stack-uranium-glass icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: uglass } spawn: SheetUGlass1 maxCount: 30 - type: stack id: ReinforcedUraniumGlass - name: reinforced uranium glass + name: stack-reinforced-uranium-glass icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: ruglass } spawn: SheetRUGlass1 maxCount: 30 - type: stack id: ClockworkGlass - name: clockwork glass + name: stack-clockwork-glass icon: { sprite: /Textures/Objects/Materials/Sheets/glass.rsi, state: cglass } spawn: SheetClockworkGlass1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml b/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml index 7520130b9b..90c37e3dda 100644 --- a/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml +++ b/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml @@ -1,20 +1,20 @@ - type: stack id: Steel - name: steel + name: stack-steel icon: { sprite: /Textures/Objects/Materials/Sheets/metal.rsi, state: steel } spawn: SheetSteel1 maxCount: 30 - type: stack id: Plasteel - name: plasteel + name: stack-plasteel icon: { sprite: /Textures/Objects/Materials/Sheets/metal.rsi, state: plasteel } spawn: SheetPlasteel1 maxCount: 30 - type: stack id: Brass - name: brass + name: stack-brass icon: { sprite: /Textures/Objects/Materials/Sheets/metal.rsi, state: brass } spawn: SheetBrass1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/Materials/Sheets/other.yml b/Resources/Prototypes/Stacks/Materials/Sheets/other.yml index 565b1fc1ae..a86b4bec6f 100644 --- a/Resources/Prototypes/Stacks/Materials/Sheets/other.yml +++ b/Resources/Prototypes/Stacks/Materials/Sheets/other.yml @@ -1,27 +1,27 @@ - type: stack id: Paper - name: paper + name: stack-paper icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: paper } spawn: SheetPaper1 maxCount: 30 - type: stack id: Plasma - name: plasma + name: stack-plasma icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: plasma } spawn: SheetPlasma1 maxCount: 30 - type: stack id: Plastic - name: plastic + name: stack-plastic icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: plastic } spawn: SheetPlastic1 maxCount: 30 - type: stack id: Uranium - name: uranium + name: stack-uranium icon: { sprite: /Textures/Objects/Materials/Sheets/other.rsi, state: uranium } spawn: SheetUranium1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/Materials/crystals.yml b/Resources/Prototypes/Stacks/Materials/crystals.yml index 28f4ed70ca..e5fda560c8 100644 --- a/Resources/Prototypes/Stacks/Materials/crystals.yml +++ b/Resources/Prototypes/Stacks/Materials/crystals.yml @@ -1,5 +1,5 @@ - type: stack id: Telecrystal - name: telecrystal + name: stack-telecrystal icon: Objects/Specific/Syndicate/telecrystal.rsi spawn: Telecrystal1 diff --git a/Resources/Prototypes/Stacks/Materials/ingots.yml b/Resources/Prototypes/Stacks/Materials/ingots.yml index 1fd67a096d..154dacc679 100644 --- a/Resources/Prototypes/Stacks/Materials/ingots.yml +++ b/Resources/Prototypes/Stacks/Materials/ingots.yml @@ -1,13 +1,13 @@ - type: stack id: Gold - name: gold + name: stack-gold icon: { sprite: "/Textures/Objects/Materials/ingots.rsi", state: gold } spawn: IngotGold1 maxCount: 30 - type: stack id: Silver - name: silver + name: stack-silver icon: { sprite: "/Textures/Objects/Materials/ingots.rsi", state: silver } spawn: IngotSilver1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/Materials/materials.yml b/Resources/Prototypes/Stacks/Materials/materials.yml index 69d4749548..a759922900 100644 --- a/Resources/Prototypes/Stacks/Materials/materials.yml +++ b/Resources/Prototypes/Stacks/Materials/materials.yml @@ -1,111 +1,111 @@ - type: stack id: Biomass - name: biomass + name: stack-biomass icon: { sprite: /Textures/Objects/Misc/monkeycube.rsi, state: cube } spawn: MaterialBiomass1 maxCount: 100 - type: stack id: WoodPlank - name: wood plank + name: stack-wood-plank icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: wood } spawn: MaterialWoodPlank1 maxCount: 30 - type: stack id: Cardboard - name: cardboard + name: stack-cardboard icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cardboard } spawn: MaterialCardboard1 maxCount: 30 - type: stack id: Cloth - name: cloth + name: stack-cloth icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cloth } spawn: MaterialCloth1 maxCount: 30 - type: stack id: Durathread - name: durathread + name: stack-durathread icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: durathread } spawn: MaterialDurathread1 maxCount: 30 - type: stack id: Diamond - name: diamond + name: stack-diamond icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: diamond } spawn: MaterialDiamond1 maxCount: 30 - type: stack id: Cotton - name: cotton + name: stack-cotton icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: cotton } spawn: MaterialCotton1 maxCount: 30 - type: stack id: Pyrotton - name: pyrotton + name: stack-pyrotton icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: pyrotton } spawn: MaterialPyrotton1 maxCount: 30 - type: stack id: Bananium - name: bananium + name: stack-bananium icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bananium } spawn: MaterialBananium1 maxCount: 10 - type: stack id: MeatSheets - name: meat sheet + name: stack-meat-sheet icon: { sprite: /Textures/Objects/Materials/Sheets/meaterial.rsi, state: meat } spawn: MaterialSheetMeat1 maxCount: 30 - type: stack id: WebSilk - name: silk + name: stack-silk icon: { sprite: /Textures/Objects/Materials/silk.rsi, state: icon } spawn: MaterialWebSilk1 maxCount: 50 - type: stack id: SpaceCarpTooth - name: space carp tooth - icon: { sprite: /Textures/Objects/Materials/Mob/carptooth.rsi, state: tooth} + name: stack-space-carp-tooth + icon: { sprite: /Textures/Objects/Materials/Mob/carptooth.rsi, state: tooth } spawn: MaterialToothSpaceCarp1 maxCount: 30 - type: stack id: SharkMinnowTooth - name: sharkminnow tooth - icon: { sprite: /Textures/Objects/Materials/Mob/sharktooth.rsi, state: tooth} + name: stack-sharkminnow-tooth + icon: { sprite: /Textures/Objects/Materials/Mob/sharktooth.rsi, state: tooth } spawn: MaterialToothSharkminnow1 maxCount: 30 - type: stack id: Bones - name: bones - icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bones} + name: stack-bones + icon: { sprite: /Textures/Objects/Materials/materials.rsi, state: bones } spawn: MaterialBones1 maxCount: 30 - type: stack id: Gunpowder - name: gunpowder + name: stack-gunpowder icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile } spawn: MaterialGunpowder maxCount: 60 - type: stack id: GoliathHide - name: goliath hide + name: stack-goliath-hide icon: { sprite: /Textures/Objects/Materials/hide.rsi, state: goliath_hide } spawn: MaterialGoliathHide1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/Materials/ore.yml b/Resources/Prototypes/Stacks/Materials/ore.yml index 3aaa04601a..240e584e40 100644 --- a/Resources/Prototypes/Stacks/Materials/ore.yml +++ b/Resources/Prototypes/Stacks/Materials/ore.yml @@ -1,70 +1,69 @@ - type: stack id: GoldOre - name: gold ore + name: stack-gold-ore icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: gold } spawn: GoldOre1 maxCount: 30 - + - type: stack id: DiamondOre - name: rough diamond + name: stack-rough-diamond icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: diamond } spawn: DiamondOre1 maxCount: 30 - type: stack id: SteelOre - name: iron ore + name: stack-iron-ore icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: iron } spawn: SteelOre1 maxCount: 30 - type: stack id: PlasmaOre - name: plasma ore + name: stack-plasma-ore icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: plasma } spawn: PlasmaOre1 maxCount: 30 - type: stack id: SilverOre - name: silver ore + name: stack-silver-ore icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: silver } spawn: SilverOre1 maxCount: 30 - type: stack id: SpaceQuartz - name: space quartz + name: stack-space-quartz icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: spacequartz } spawn: SpaceQuartz1 maxCount: 30 - type: stack id: UraniumOre - name: uranium ore + name: stack-uranium-ore icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: uranium } spawn: UraniumOre1 maxCount: 30 - - type: stack id: BananiumOre - name: bananium ore + name: stack-bananium-ore icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: bananium } spawn: BananiumOre1 maxCount: 30 - type: stack id: Coal - name: coal + name: stack-coal icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: coal } spawn: Coal1 maxCount: 30 - type: stack id: SaltOre - name: salt + name: stack-salt icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: salt } spawn: Salt1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/Materials/parts.yml b/Resources/Prototypes/Stacks/Materials/parts.yml index 50ceb28757..3b6fb4bcff 100644 --- a/Resources/Prototypes/Stacks/Materials/parts.yml +++ b/Resources/Prototypes/Stacks/Materials/parts.yml @@ -1,6 +1,6 @@ - type: stack id: MetalRod - name: rods + name: stack-rods icon: { sprite: /Textures/Objects/Materials/parts.rsi, state: rods } spawn: PartRodMetal1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/consumable_stacks.yml b/Resources/Prototypes/Stacks/consumable_stacks.yml index 971d3800b4..fcd10e5d7f 100644 --- a/Resources/Prototypes/Stacks/consumable_stacks.yml +++ b/Resources/Prototypes/Stacks/consumable_stacks.yml @@ -2,19 +2,19 @@ - type: stack id: Pancake - name: pancake + name: stack-pancake spawn: FoodBakedPancake maxCount: 9 - type: stack id: PancakeBb - name: blueberry pancake + name: stack-blueberry-pancake spawn: FoodBakedPancakeBb maxCount: 9 - type: stack id: PancakeCc - name: chocolate chip pancake + name: stack-chocolate-chip-pancake spawn: FoodBakedPancakeCc maxCount: 9 @@ -22,7 +22,7 @@ - type: stack id: PizzaBox - name: pizza box + name: stack-pizza-box icon: { sprite: Objects/Consumable/Food/Baked/pizza.rsi, state: box } spawn: FoodBoxPizza maxCount: 30 @@ -31,55 +31,55 @@ - type: stack id: PaperRolling - name: rolling paper + name: stack-rolling-paper icon: { sprite: /Textures/Objects/Consumable/Smokeables/Cigarettes/paper.rsi, state: cigpaper } spawn: PaperRolling maxCount: 5 - type: stack id: CigaretteFilter - name: cigarette filter + name: stack-cigarette-filter icon: { sprite: /Textures/Objects/Consumable/Smokeables/Cigarettes/paper.rsi, state: cigfilter } spawn: CigaretteFilter maxCount: 5 - type: stack id: GroundTobacco - name: ground tobacco + name: stack-ground-tobacco icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile } spawn: GroundTobacco maxCount: 5 - type: stack id: GroundCannabis - name: ground cannabis + name: stack-ground-cannabis icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile } spawn: GroundCannabis maxCount: - type: stack id: GroundCannabisRainbow - name: ground rainbow cannabis + name: stack-ground-rainbow-cannabis icon: { sprite: /Textures/Objects/Specific/Hydroponics/rainbow_cannabis.rsi, state: powderpile_rainbow } spawn: GroundCannabisRainbow maxCount: - type: stack id: LeavesTobaccoDried - name: dried tobacco leaves + name: stack-dried-tobacco-leaves icon: { sprite: /Textures/Objects/Specific/Hydroponics/tobacco.rsi, state: dried } spawn: LeavesTobaccoDried maxCount: 5 - type: stack id: LeavesCannabisDried - name: dried cannabis leaves + name: stack-dried-cannabis-leaves icon: { sprite: /Textures/Objects/Specific/Hydroponics/tobacco.rsi, state: dried } spawn: LeavesCannabisDried maxCount: 5 - type: stack id: LeavesCannabisRainbowDried - name: dried rainbow cannabis leaves + name: stack-dried-rainbow-cannabis-leaves icon: { sprite: /Textures/Objects/Specific/Hydroponics/rainbow_cannabis.rsi, state: dried } spawn: LeavesCannabisRainbowDried diff --git a/Resources/Prototypes/Stacks/engineering_stacks.yml b/Resources/Prototypes/Stacks/engineering_stacks.yml index b4550015dc..4d9fcbb57b 100644 --- a/Resources/Prototypes/Stacks/engineering_stacks.yml +++ b/Resources/Prototypes/Stacks/engineering_stacks.yml @@ -1,12 +1,12 @@ # they're uninflated by default so they're tiny - type: stack id: InflatableWall - name: inflatable wall + name: stack-inflatable-wall spawn: InflatableWallStack1 maxCount: 10 - type: stack id: InflatableDoor - name: inflatable door + name: stack-inflatable-door spawn: InflatableDoorStack1 maxCount: 4 diff --git a/Resources/Prototypes/Stacks/floor_tile_stacks.yml b/Resources/Prototypes/Stacks/floor_tile_stacks.yml index b5d5fb7dc0..3bc6c9f837 100644 --- a/Resources/Prototypes/Stacks/floor_tile_stacks.yml +++ b/Resources/Prototypes/Stacks/floor_tile_stacks.yml @@ -1,636 +1,636 @@ - type: stack id: FloorTileDark - name: dark tile + name: stack-dark-tile spawn: FloorTileItemDark maxCount: 30 - type: stack id: FloorTileDarkDiagonalMini - name: dark steel diagonal mini tile + name: stack-dark-steel-diagonal-mini-tile spawn: FloorTileItemDarkDiagonalMini maxCount: 30 - type: stack id: FloorTileDarkDiagonal - name: dark steel diagonal tile + name: stack-dark-steel-diagonal-tile spawn: FloorTileItemDarkDiagonal maxCount: 30 - type: stack id: FloorTileDarkHerringbone - name: dark steel herringbone + name: stack-dark-steel-herringbone spawn: FloorTileItemDarkHerringbone maxCount: 30 - type: stack id: FloorTileDarkMini - name: dark steel mini tile + name: stack-dark-steel-mini-tile spawn: FloorTileItemDarkMini maxCount: 30 - type: stack id: FloorTileDarkMono - name: dark steel mono tile + name: stack-dark-steel-mono-tile spawn: FloorTileItemDarkMono maxCount: 30 - type: stack id: FloorTileDarkPavement - name: dark steel pavement + name: stack-dark-steel-pavement spawn: FloorTileItemDarkPavement maxCount: 30 - type: stack id: FloorTileDarkPavementVertical - name: dark steel vertical pavement + name: stack-dark-steel-vertical-pavement spawn: FloorTileItemDarkPavementVertical maxCount: 30 - type: stack id: FloorTileDarkOffset - name: offset dark steel tile + name: stack-offset-dark-steel-tile spawn: FloorTileItemDarkOffset maxCount: 30 - type: stack id: FloorTileSteel - name: steel tile + name: stack-steel-tile spawn: FloorTileItemSteel maxCount: 30 - type: stack id: FloorTileSteelOffset - name: offset steel tile + name: stack-offset-steel-tile spawn: FloorTileItemSteelOffset maxCount: 30 - type: stack id: FloorTileSteelDiagonalMini - name: steel diagonal mini tile + name: stack-steel-diagonal-mini-tile spawn: FloorTileItemSteelDiagonalMini maxCount: 30 - type: stack id: FloorTileSteelDiagonal - name: steel diagonal tile + name: stack-steel-diagonal-tile spawn: FloorTileItemSteelDiagonal maxCount: 30 - type: stack id: FloorTileSteelHerringbone - name: steel herringbone + name: stack-steel-herringbone spawn: FloorTileItemSteelHerringbone maxCount: 30 - type: stack id: FloorTileSteelMini - name: steel mini tile + name: stack-steel-mini-tile spawn: FloorTileItemSteelMini maxCount: 30 - type: stack id: FloorTileSteelMono - name: steel mono tile + name: stack-steel-mono-tile spawn: FloorTileItemSteelMono maxCount: 30 - type: stack id: FloorTileSteelPavement - name: steel pavement + name: stack-steel-pavement spawn: FloorTileItemSteelPavement maxCount: 30 - type: stack id: FloorTileSteelPavementVertical - name: steel vertical pavement + name: stack-steel-vertical-pavement spawn: FloorTileItemSteelPavementVertical maxCount: 30 - type: stack id: FloorTileWhite - name: white tile + name: stack-white-tile spawn: FloorTileItemWhite maxCount: 30 - type: stack id: FloorTileWhiteOffset - name: offset white steel tile + name: stack-offset-white-steel-tile spawn: FloorTileItemWhiteOffset maxCount: 30 - type: stack id: FloorTileWhiteDiagonalMini - name: white steel diagonal mini tile + name: stack-white-steel-diagonal-mini-tile spawn: FloorTileItemWhiteDiagonalMini maxCount: 30 - type: stack id: FloorTileWhiteDiagonal - name: white steel diagonal tile + name: stack-white-steel-diagonal-tile spawn: FloorTileItemWhiteDiagonal maxCount: 30 - type: stack id: FloorTileWhiteHerringbone - name: white steel herringbone + name: stack-white-steel-herringbone spawn: FloorTileItemWhiteHerringbone maxCount: 30 - type: stack id: FloorTileWhiteMini - name: white steel mini tile + name: stack-white-steel-mini-tile spawn: FloorTileItemWhiteMini maxCount: 30 - type: stack id: FloorTileWhiteMono - name: white steel mono tile + name: stack-white-steel-mono-tile spawn: FloorTileItemWhiteMono maxCount: 30 - type: stack id: FloorTileWhitePavement - name: white steel pavement + name: stack-white-steel-pavement spawn: FloorTileItemWhitePavement maxCount: 30 - type: stack id: FloorTileWhitePavementVertical - name: white steel vertical pavement + name: stack-white-steel-vertical-pavement spawn: FloorTileItemWhitePavementVertical maxCount: 30 - type: stack id: FloorTileSteelCheckerDark - name: steel dark checker tile + name: stack-steel-dark-checker-tile spawn: FloorTileItemSteelCheckerDark maxCount: 30 - type: stack id: FloorTileSteelCheckerLight - name: steel light checker tile + name: stack-steel-light-checker-tile spawn: FloorTileItemSteelCheckerLight maxCount: 30 - type: stack id: FloorTileMetalDiamond - name: steel tile + name: stack-steel-tile spawn: FloorTileItemMetalDiamond maxCount: 30 - type: stack id: FloorTileWood - name: wood floor + name: stack-wood-floor spawn: FloorTileItemWood maxCount: 30 - type: stack id: FloorTileTechmaint - name: techmaint floor + name: stack-techmaint-floor spawn: FloorTileItemTechmaint maxCount: 30 - type: stack id: FloorTileFreezer - name: freezer tile + name: stack-freezer-tile spawn: FloorTileItemFreezer maxCount: 30 - type: stack id: FloorTileShowroom - name: showroom tile + name: stack-showroom-tile spawn: FloorTileItemShowroom maxCount: 30 - type: stack id: FloorTileGCircuit - name: green-circuit floor + name: stack-green-circuit-floor spawn: FloorTileItemGCircuit maxCount: 30 - type: stack id: FloorTileGold - name: gold floor + name: stack-gold-floor spawn: FloorTileItemGold maxCount: 30 - type: stack id: FloorTileMono - name: mono tile + name: stack-mono-tile spawn: FloorTileItemMono maxCount: 30 - type: stack id: FloorTileBrassFilled - name: filled brass plate + name: stack-filled-brass-plate spawn: FloorTileItemBrassFilled maxCount: 30 - type: stack id: FloorTileBrassReebe - name: smooth brass plate + name: stack-smooth-brass-plate spawn: FloorTileItemBrassReebe maxCount: 30 - type: stack id: FloorTileLino - name: linoleum floor + name: stack-linoleum-floor spawn: FloorTileItemLino maxCount: 30 - type: stack id: FloorTileHydro - name: hydro tile + name: stack-hydro-tile spawn: FloorTileItemHydro maxCount: 30 - type: stack id: FloorTileLime - name: lime tile + name: stack-lime-tile spawn: FloorTileItemLime maxCount: 30 - type: stack id: FloorTileDirty - name: dirty tile + name: stack-dirty-tile spawn: FloorTileItemDirty maxCount: 30 - type: stack id: FloorTileStackShuttleWhite - name: white shuttle tile + name: stack-white-shuttle-tile spawn: FloorTileItemShuttleWhite maxCount: 30 - type: stack id: FloorTileStackShuttleBlue - name: blue shuttle tile + name: stack-blue-shuttle-tile spawn: FloorTileItemShuttleBlue maxCount: 30 - type: stack id: FloorTileStackShuttleOrange - name: orange shuttle tile + name: stack-orange-shuttle-tile spawn: FloorTileItemShuttleOrange maxCount: 30 - type: stack id: FloorTileStackShuttlePurple - name: purple shuttle tile + name: stack-purple-shuttle-tile spawn: FloorTileItemShuttlePurple maxCount: 30 - type: stack id: FloorTileStackShuttleRed - name: red shuttle tile + name: stack-red-shuttle-tile spawn: FloorTileItemShuttleRed maxCount: 30 - type: stack id: FloorTileStackShuttleGrey - name: grey shuttle tile + name: stack-grey-shuttle-tile spawn: FloorTileItemShuttleGrey maxCount: 30 - type: stack id: FloorTileStackShuttleBlack - name: black shuttle tile + name: stack-black-shuttle-tile spawn: FloorTileItemShuttleBlack maxCount: 30 - type: stack id: FloorTileStackEighties - name: eighties floor tile + name: stack-eighties-floor-tile spawn: FloorTileItemEighties maxCount: 30 - type: stack id: FloorTileStackArcadeBlue - name: blue arcade tile + name: stack-blue-arcade-tile spawn: FloorTileItemArcadeBlue maxCount: 30 - type: stack id: FloorTileStackArcadeBlue2 - name: blue arcade tile + name: stack-blue-arcade-tile spawn: FloorTileItemArcadeBlue2 maxCount: 30 - type: stack id: FloorTileStackArcadeRed - name: red arcade tile + name: stack-red-arcade-tile spawn: FloorTileItemArcadeRed maxCount: 30 - type: stack id: FloorCarpetRed - name: red carpet tile + name: stack-red-carpet-tile spawn: FloorCarpetItemRed maxCount: 30 - type: stack id: FloorCarpetBlack - name: block carpet tile + name: stack-block-carpet-tile spawn: FloorCarpetItemBlack maxCount: 30 - type: stack id: FloorCarpetBlue - name: blue carpet tile + name: stack-blue-carpet-tile spawn: FloorCarpetItemBlue maxCount: 30 - type: stack id: FloorCarpetGreen - name: green carpet tile + name: stack-green-carpet-tile spawn: FloorCarpetItemGreen maxCount: 30 - type: stack id: FloorCarpetOrange - name: orange carpet tile + name: stack-orange-carpet-tile spawn: FloorCarpetItemOrange maxCount: 30 - type: stack id: FloorCarpetSkyBlue - name: skyblue carpet tile + name: stack-skyblue-carpet-tile spawn: FloorCarpetItemSkyBlue maxCount: 30 - type: stack id: FloorCarpetPurple - name: purple carpet tile + name: stack-purple-carpet-tile spawn: FloorCarpetItemPurple maxCount: 30 - type: stack id: FloorCarpetPink - name: pink carpet tile + name: stack-pink-carpet-tile spawn: FloorCarpetItemPink maxCount: 30 - type: stack id: FloorCarpetCyan - name: cyan carpet tile + name: stack-cyan-carpet-tile spawn: FloorCarpetItemCyan maxCount: 30 - type: stack id: FloorCarpetWhite - name: white carpet tile + name: stack-white-carpet-tile spawn: FloorCarpetItemWhite maxCount: 30 - type: stack id: FloorTileStackCarpetClown - name: clown carpet tile + name: stack-clown-carpet-tile spawn: FloorTileItemCarpetClown maxCount: 30 - type: stack id: FloorTileStackCarpetOffice - name: office carpet tile + name: stack-office-carpet-tile spawn: FloorTileItemCarpetOffice maxCount: 30 - type: stack id: FloorTileStackBoxing - name: boxing ring tile + name: stack-boxing-ring-tile spawn: FloorTileItemBoxing maxCount: 30 - type: stack id: FloorTileStackGym - name: gym floor tile + name: stack-gym-floor-tile spawn: FloorTileItemGym maxCount: 30 - type: stack id: FloorTileElevatorShaft - name: elevator shaft tile + name: stack-elevator-shaft-tile spawn: FloorTileItemElevatorShaft maxCount: 30 - type: stack id: FloorTileRockVault - name: rock vault tile + name: stack-rock-vault-tile spawn: FloorTileItemRockVault maxCount: 30 - type: stack id: FloorTileBlue - name: blue floor tile + name: stack-blue-floor-tile spawn: FloorTileItemBlue maxCount: 30 - type: stack id: FloorTileMining - name: mining floor tile + name: stack-mining-floor-tile spawn: FloorTileItemMining maxCount: 30 - type: stack id: FloorTileMiningDark - name: dark mining floor tile + name: stack-dark-mining-floor-tile spawn: FloorTileItemMiningDark maxCount: 30 - type: stack id: FloorTileMiningLight - name: light mining floor tile + name: stack-light-mining-floor-tile spawn: FloorTileItemMiningLight maxCount: 30 - type: stack id: FloorTileBar - name: item bar floor tile + name: stack-item-bar-floor-tile spawn: FloorTileItemBar maxCount: 30 - type: stack id: FloorTileClown - name: clown floor tile + name: stack-clown-floor-tile spawn: FloorTileItemClown maxCount: 30 - type: stack id: FloorTileMime - name: mime floor tile + name: stack-mime-floor-tile spawn: FloorTileItemMime maxCount: 30 - type: stack id: FloorTileKitchen - name: kitchen floor tile + name: stack-kitchen-floor-tile spawn: FloorTileItemKitchen maxCount: 30 - type: stack id: FloorTileLaundry - name: laundry floor tile + name: stack-laundry-floor-tile spawn: FloorTileItemLaundry maxCount: 30 - type: stack id: FloorTileConcrete - name: concrete tile + name: stack-concrete-tile spawn: FloorTileItemGrayConcrete maxCount: 30 - type: stack id: FloorTileConcreteMono - name: concrete mono tile + name: stack-concrete-mono-tile spawn: FloorTileItemConcreteMono maxCount: 30 - type: stack id: FloorTileConcreteSmooth - name: concrete smooth + name: stack-concrete-smooth spawn: FloorTileItemConcreteSmooth maxCount: 30 - type: stack id: FloorTileGrayConcrete - name: gray concrete tile + name: stack-gray-concrete-tile spawn: FloorTileItemGrayConcrete maxCount: 30 - type: stack id: FloorTileGrayConcreteMono - name: gray concrete mono tile + name: stack-gray-concrete-mono-tile spawn: FloorTileItemGrayConcreteMono maxCount: 30 - type: stack id: FloorTileGrayConcreteSmooth - name: gray concrete smooth + name: stack-gray-concrete-smooth spawn: FloorTileItemGrayConcreteSmooth maxCount: 30 - type: stack id: FloorTileOldConcrete - name: old concrete tile + name: stack-old-concrete-tile spawn: FloorTileItemOldConcrete maxCount: 30 - type: stack id: FloorTileOldConcreteMono - name: old concrete mono tile + name: stack-old-concrete-mono-tile spawn: FloorTileItemOldConcreteMono maxCount: 30 - type: stack id: FloorTileOldConcreteSmooth - name: old concrete smooth + name: stack-old-concrete-smooth spawn: FloorTileItemOldConcreteSmooth maxCount: 30 - type: stack id: FloorTileSilver - name: silver floor tile + name: stack-silver-floor-tile spawn: FloorTileItemSilver maxCount: 30 - type: stack id: FloorTileBCircuit - name: bcircuit floor tile + name: stack-bcircuit-floor-tile spawn: FloorTileItemBCircuit maxCount: 30 - type: stack id: FloorTileRCircuit - name: red-circuit floor + name: stack-red-circuit-floor spawn: FloorTileItemRCircuit maxCount: 30 - type: stack id: FloorTileGrass - name: grass floor tile + name: stack-grass-floor-tile spawn: FloorTileItemGrass maxCount: 30 - type: stack id: FloorTileGrassJungle - name: grass jungle floor tile + name: stack-grass-jungle-floor-tile spawn: FloorTileItemGrassJungle maxCount: 30 - type: stack id: FloorTileSnow - name: snow floor tile + name: stack-snow-floor-tile spawn: FloorTileItemSnow maxCount: 30 - type: stack id: FloorTileWoodPattern - name: wood pattern floor + name: stack-wood-patter-floor spawn: FloorTileItemWoodPattern maxCount: 30 - type: stack id: FloorTileFlesh - name: flesh floor + name: stack-flesh-floor spawn: FloorTileItemFlesh maxCount: 30 - type: stack id: FloorTileSteelMaint - name: steel maint floor + name: stack-steel-maint-floor spawn: FloorTileItemSteelMaint maxCount: 30 - type: stack id: FloorTileGratingMaint - name: grating maint floor + name: stack-grating-maint-floor spawn: FloorTileItemGratingMaint maxCount: 30 - type: stack id: FloorTileWeb - name: web tile + name: stack-web-tile spawn: FloorTileItemWeb maxCount: 30 # Faux science tiles - type: stack id: FloorTileAstroGrass - name: astro-grass floor + name: stack-astro-grass-floor spawn: FloorTileItemAstroGrass maxCount: 30 - type: stack id: FloorTileMowedAstroGrass - name: mowed astro-grass floor + name: stack-mowed-astro-grass-floor spawn: FloorTileItemMowedAstroGrass maxCount: 30 - type: stack id: FloorTileJungleAstroGrass - name: jungle astro-grass floor + name: stack-jungle-astro-grass-floor spawn: FloorTileItemJungleAstroGrass maxCount: 30 - type: stack id: FloorTileAstroIce - name: astro-ice floor + name: stack-astro-ice-floor spawn: FloorTileItemAstroIce maxCount: 30 - type: stack id: FloorTileAstroSnow - name: astro-snow floor + name: stack-astro-snow-floor spawn: FloorTileItemAstroSnow maxCount: 30 - type: stack id: FloorTileAstroAsteroidSand - name: asteroid astro-sand floor + name: stack-asteroid-astro-sand-floor spawn: FloorTileItemAstroAsteroidSand maxCount: 30 - type: stack id: FloorTileWoodLarge - name: large wood floor + name: stack-large-wood-floor spawn: FloorTileItemWoodLarge maxCount: 30 diff --git a/Resources/Prototypes/Stacks/medical_stacks.yml b/Resources/Prototypes/Stacks/medical_stacks.yml index 7ad3c21634..5c4e98f6f6 100644 --- a/Resources/Prototypes/Stacks/medical_stacks.yml +++ b/Resources/Prototypes/Stacks/medical_stacks.yml @@ -1,48 +1,48 @@ - type: stack id: Ointment - name: ointment + name: stack-ointment icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: ointment } spawn: Ointment maxCount: 10 - type: stack id: AloeCream - name: aloe cream + name: stack-aloe-cream icon: { sprite: "/Textures/Objects/Specific/Hydroponics/aloe.rsi", state: cream } spawn: AloeCream maxCount: 10 - type: stack id: Gauze - name: gauze + name: stack-gauze icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: gauze } spawn: Gauze maxCount: 10 - type: stack id: Brutepack - name: brutepack + name: stack-brutepack icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: gauze } spawn: Brutepack maxCount: 10 - type: stack id: Bloodpack - name: bloodpack + name: stack-bloodpack icon: { sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: bloodpack } spawn: Bloodpack maxCount: 10 - type: stack id: MedicatedSuture - name: medicated-suture + name: stack-medicated-suture icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: medicated-suture } spawn: MedicatedSuture maxCount: 10 - type: stack id: RegenerativeMesh - name: regenerative-mesh + name: stack-regenerative-mesh icon: {sprite: "/Textures/Objects/Specific/Medical/medical.rsi", state: regenerative-mesh} spawn: RegenerativeMesh maxCount: 10 diff --git a/Resources/Prototypes/Stacks/power_stacks.yml b/Resources/Prototypes/Stacks/power_stacks.yml index 7f015659e9..305c85943d 100644 --- a/Resources/Prototypes/Stacks/power_stacks.yml +++ b/Resources/Prototypes/Stacks/power_stacks.yml @@ -1,20 +1,20 @@ - type: stack id: Cable - name: lv cable + name: stack-lv-cable icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coil-30 } spawn: CableApcStack1 maxCount: 30 - type: stack id: CableMV - name: mv cable + name: stack-mv-cable icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilmv-30 } spawn: CableMVStack1 maxCount: 30 - type: stack id: CableHV - name: hv cable + name: stack-hv-cable icon: { sprite: "/Textures/Objects/Tools/cable-coils.rsi", state: coilhv-30 } spawn: CableHVStack1 maxCount: 30 diff --git a/Resources/Prototypes/Stacks/science_stacks.yml b/Resources/Prototypes/Stacks/science_stacks.yml index 647a5b2a7b..3c9d95df11 100644 --- a/Resources/Prototypes/Stacks/science_stacks.yml +++ b/Resources/Prototypes/Stacks/science_stacks.yml @@ -1,24 +1,24 @@ - type: stack id: ArtifactFragment - name: artifact fragment + name: stack-artifact-fragment spawn: ArtifactFragment1 maxCount: 30 - type: stack id: Capacitor - name: capacitor + name: stack-capacitor icon: { sprite: /Textures/Objects/Misc/stock_parts.rsi, state: capacitor } spawn: CapacitorStockPart maxCount: 10 - type: stack id: Manipulator - name: micro manipulator + name: stack-micro-manipulator spawn: MicroManipulatorStockPart maxCount: 10 - type: stack id: MatterBin - name: matter bin + name: stack-matter-bin spawn: MatterBinStockPart maxCount: 10