Localizable craftmenu (#32339)
* Now the name of the target craft items is taken directly from the prototypes * Deleting unnecessary fields * Deleting unnecessary fields * Added suffix field * Added override via localization keys * My favorite ItemList and TextureRect have been replaced with ListContainer and EntityPrototypeView * Fix suffix * Fix construction ghosts... maybe * Remove suffix from UI * Suffixes have been removed from prototypes * Added a description for the secret door * Fix search..? * The Icon field of ConstructionPrototype has been removed * StackPrototypes used in the construction menu have been localized * TagConstructionGraphStep used in the construction menu have been localized * The search bar has been localized * Fix localization and prototypes * Recipes are now only loaded when the crafting window is opened. * Fix crooked merge grid of the crafting menu. * Localization update * Fix cyborg graph * Revert "Recipes are now only loaded when the crafting window is opened." This reverts commit 97749483542c2d6272bda16edf49612c69a0761a. * Fix loc * fix merge * Fix upstream * Some of the logic has been moved to Shared * fix * Small adjustments * Very small change --------- Co-authored-by: EmoGarbage404 <retron404@gmail.com>
This commit is contained in:
@@ -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<IPrototypeManager>().TryIndex(targetProtoId, out EntityPrototype? proto))
|
||||
return;
|
||||
|
||||
manager.CurrentTextures = SpriteComponent.GetPrototypeTextures(proto, IoCManager.Resolve<IResourceCache>()).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<int, EntityUid> _ghosts = new();
|
||||
private readonly Dictionary<string, ConstructionGuide> _guideCache = new();
|
||||
|
||||
private readonly Dictionary<string, string> _recipesMetadataCache = [];
|
||||
|
||||
public bool CraftingEnabled { get; private set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -40,6 +41,8 @@ namespace Content.Client.Construction
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
WarmupRecipesCache();
|
||||
|
||||
UpdatesOutsidePrediction = true;
|
||||
SubscribeLocalEvent<LocalPlayerAttachedEvent>(HandlePlayerAttached);
|
||||
SubscribeNetworkEvent<AckStructureConstructionMessage>(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<ConstructionPrototype>())
|
||||
{
|
||||
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<ConstructionGraphNode>();
|
||||
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<TransformComponent>(ghost.Value).LocalRotation = dir.ToAngle();
|
||||
_ghosts.Add(comp.GhostId, ghost.Value);
|
||||
|
||||
var sprite = EntityManager.GetComponent<SpriteComponent>(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<SpriteComponent>(dummy);
|
||||
EntityManager.System<AppearanceSystem>().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<WallMountComponent>(ghost.Value).Arc = new(Math.Tau);
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<DefaultWindow xmlns="https://spacestation14.io">
|
||||
<DefaultWindow xmlns="https://spacestation14.io"
|
||||
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls">
|
||||
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
|
||||
<BoxContainer Orientation="Vertical" MinWidth="243" Margin="0 0 5 0">
|
||||
<BoxContainer Orientation="Horizontal" HorizontalExpand="True" Margin="0 0 0 5">
|
||||
<LineEdit Name="SearchBar" PlaceHolder="Search" HorizontalExpand="True"/>
|
||||
<LineEdit Name="SearchBar" PlaceHolder="{Loc 'construction-menu-search'}" HorizontalExpand="True"/>
|
||||
<OptionButton Name="OptionCategories" Access="Public" MinSize="130 0"/>
|
||||
</BoxContainer>
|
||||
<ItemList Name="Recipes" Access="Public" SelectMode="Single" VerticalExpand="True"/>
|
||||
<controls:ListContainer Name="Recipes" Access="Public" Group="True" Toggle="True" VerticalExpand="True" />
|
||||
<ScrollContainer Name="RecipesGridScrollContainer" VerticalExpand="True" Access="Public" Visible="False">
|
||||
<GridContainer Name="RecipesGrid" Columns="5" Access="Public"/>
|
||||
</ScrollContainer>
|
||||
@@ -18,7 +19,7 @@
|
||||
<Control>
|
||||
<BoxContainer Orientation="Vertical" HorizontalExpand="True" Margin="0 0 0 5">
|
||||
<BoxContainer Orientation="Horizontal" Align="Center">
|
||||
<TextureRect Name="TargetTexture" HorizontalAlignment="Right" Stretch="Keep" Margin="0 0 10 0"/>
|
||||
<EntityPrototypeView Name="TargetTexture" HorizontalAlignment="Right" Stretch="Fill" Margin="0 0 10 0"/>
|
||||
<BoxContainer Orientation="Vertical">
|
||||
<RichTextLabel Name="TargetName"/>
|
||||
<RichTextLabel Name="TargetDesc"/>
|
||||
|
||||
@@ -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<ItemList.Item?> RecipeSelected;
|
||||
event EventHandler<ConstructionMenu.ConstructionMenuListData?> RecipeSelected;
|
||||
event EventHandler RecipeFavorited;
|
||||
event EventHandler<bool> BuildButtonToggled;
|
||||
event EventHandler<bool> 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<ItemList.Item?>? RecipeSelected;
|
||||
public event EventHandler<ConstructionMenuListData?>? RecipeSelected;
|
||||
public event EventHandler? RecipeFavorited;
|
||||
public event EventHandler<bool>? BuildButtonToggled;
|
||||
public event EventHandler<bool>? 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<ConstructionPrototype> _favoritedRecipes = [];
|
||||
private Dictionary<string, TextureButton> _recipeButtons = new();
|
||||
private Dictionary<string, ContainerButton> _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<GameTopMenuBar>().CraftingButton.Visible;
|
||||
@@ -98,15 +98,18 @@ namespace Content.Client.Construction.UI
|
||||
|
||||
_placementManager.PlacementChanged += OnPlacementChanged;
|
||||
|
||||
_constructionView.OnClose += () => _uiManager.GetActiveUIWidget<GameTopMenuBar>().CraftingButton.Pressed = false;
|
||||
_constructionView.OnClose +=
|
||||
() => _uiManager.GetActiveUIWidget<GameTopMenuBar>().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<ConstructionPrototype>();
|
||||
|
||||
var isEmptyCategory = string.IsNullOrEmpty(category) || category == _forAllCategoryName;
|
||||
|
||||
if (isEmptyCategory)
|
||||
_selectedCategory = string.Empty;
|
||||
else
|
||||
_selectedCategory = category;
|
||||
|
||||
foreach (var recipe in _prototypeManager.EnumeratePrototypes<ConstructionPrototype>())
|
||||
{
|
||||
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<ConstructionMenu.ConstructionMenuListData> 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<ConstructionMenu.ConstructionMenuListData> GetAndSortRecipes((string, string) args)
|
||||
{
|
||||
var recipes = new List<ConstructionMenu.ConstructionMenuListData>();
|
||||
|
||||
var (search, category) = args;
|
||||
var isEmptyCategory = string.IsNullOrEmpty(category) || category == ForAllCategoryName;
|
||||
_selectedCategory = isEmptyCategory ? string.Empty : category;
|
||||
|
||||
foreach (var recipe in _prototypeManager.EnumeratePrototypes<ConstructionPrototype>())
|
||||
{
|
||||
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<ConstructionSystem>();
|
||||
|
||||
_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<GameTopMenuBar>().CraftingButton.SetClickPressed(false); // This does not call CraftingButtonToggled
|
||||
_uiManager.GetActiveUIWidget<GameTopMenuBar>()
|
||||
.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<GameTopMenuBar>().CraftingButton.SetClickPressed(true); // This does not call CraftingButtonToggled
|
||||
_uiManager.GetActiveUIWidget<GameTopMenuBar>()
|
||||
.CraftingButton.SetClickPressed(true); // This does not call CraftingButtonToggled
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -219,6 +219,7 @@ public sealed class CargoTest
|
||||
|
||||
- type: stack
|
||||
id: StackProto
|
||||
name: stack-steel
|
||||
spawn: A
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -28,17 +28,17 @@ namespace Content.Shared.Construction
|
||||
[DataField("transform")]
|
||||
public IGraphTransform[] TransformLogic = Array.Empty<IGraphTransform>();
|
||||
|
||||
[DataField("entity", customTypeSerializer: typeof(GraphNodeEntitySerializer), serverOnly:true)]
|
||||
[DataField("entity", customTypeSerializer: typeof(GraphNodeEntitySerializer))]
|
||||
public IGraphNodeEntity Entity { get; private set; } = new NullNodeEntity();
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 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
|
||||
/// </remarks>
|
||||
|
||||
@@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Works for both <see cref="ComputerBoardComponent"/> and <see cref="MachineBoardComponent"/>
|
||||
@@ -21,7 +19,7 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity
|
||||
if (uid == null)
|
||||
return null;
|
||||
|
||||
var containerSystem = args.EntityManager.EntitySysManager.GetEntitySystem<ContainerSystem>();
|
||||
var containerSystem = args.EntityManager.EntitySysManager.GetEntitySystem<SharedContainerSystem>();
|
||||
|
||||
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;
|
||||
@@ -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
|
||||
/// <summary>
|
||||
/// Hide from the construction list
|
||||
/// </summary>
|
||||
[DataField("hide")]
|
||||
[DataField]
|
||||
public bool Hide = false;
|
||||
|
||||
/// <summary>
|
||||
/// Friendly name displayed in the construction GUI.
|
||||
/// </summary>
|
||||
[DataField("name")]
|
||||
public string Name = string.Empty;
|
||||
public LocId? SetName;
|
||||
|
||||
public string? Name;
|
||||
|
||||
/// <summary>
|
||||
/// "Useful" description displayed in the construction GUI.
|
||||
/// </summary>
|
||||
[DataField("description")]
|
||||
public string Description = string.Empty;
|
||||
public LocId? SetDescription;
|
||||
|
||||
public string? Description;
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="ConstructionGraphPrototype"/> this construction will be using.
|
||||
/// </summary>
|
||||
[DataField("graph", customTypeSerializer: typeof(PrototypeIdSerializer<ConstructionGraphPrototype>), required: true)]
|
||||
public string Graph = string.Empty;
|
||||
[DataField(required: true)]
|
||||
public ProtoId<ConstructionGraphPrototype> Graph { get; private set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// The target <see cref="ConstructionGraphNode"/> this construction will guide the user to.
|
||||
/// </summary>
|
||||
[DataField("targetNode")]
|
||||
public string TargetNode = string.Empty;
|
||||
[DataField(required: true)]
|
||||
public string TargetNode { get; private set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The starting <see cref="ConstructionGraphNode"/> this construction will start at.
|
||||
/// </summary>
|
||||
[DataField("startNode")]
|
||||
public string StartNode = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Texture path inside the construction GUI.
|
||||
/// </summary>
|
||||
[DataField("icon")]
|
||||
public SpriteSpecifier Icon = SpriteSpecifier.Invalid;
|
||||
|
||||
/// <summary>
|
||||
/// Texture paths used for the construction ghost.
|
||||
/// </summary>
|
||||
[DataField("layers")]
|
||||
private List<SpriteSpecifier>? _layers;
|
||||
[DataField(required: true)]
|
||||
public string StartNode { get; private set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// If you can start building or complete steps on impassable terrain.
|
||||
/// </summary>
|
||||
[DataField("canBuildInImpassable")]
|
||||
[DataField]
|
||||
public bool CanBuildInImpassable { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// 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.
|
||||
/// </summary>
|
||||
[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";
|
||||
|
||||
/// <summary>
|
||||
/// Whether this construction can be constructed rotated or not.
|
||||
/// </summary>
|
||||
[DataField("canRotate")]
|
||||
[DataField]
|
||||
public bool CanRotate = true;
|
||||
|
||||
/// <summary>
|
||||
/// Construction to replace this construction with when the current one is 'flipped'
|
||||
/// </summary>
|
||||
[DataField("mirror", customTypeSerializer: typeof(PrototypeIdSerializer<ConstructionPrototype>))]
|
||||
public string? Mirror;
|
||||
[DataField]
|
||||
public ProtoId<ConstructionPrototype>? Mirror { get; private set; }
|
||||
|
||||
public IReadOnlyList<IConstructionCondition> Conditions => _conditions;
|
||||
public IReadOnlyList<SpriteSpecifier> Layers => _layers ?? new List<SpriteSpecifier> { Icon };
|
||||
}
|
||||
|
||||
public enum ConstructionType
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Content.Shared.Construction.Steps
|
||||
("componentName", Component))// Terrible.
|
||||
: Loc.GetString(
|
||||
"construction-insert-exact-entity",
|
||||
("entityName", Name)));
|
||||
("entityName", Loc.GetString(Name))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<StackPrototype>))]
|
||||
public string MaterialPrototypeId { get; private set; } = "Steel";
|
||||
[DataField("material", required:true)]
|
||||
public ProtoId<StackPrototype> 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<IPrototypeManager>().Index<StackPrototype>(MaterialPrototypeId);
|
||||
var material = IoCManager.Resolve<IPrototypeManager>().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<IPrototypeManager>().Index<StackPrototype>(MaterialPrototypeId);
|
||||
var material = IoCManager.Resolve<IPrototypeManager>().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,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
/// </summary>
|
||||
/// <remarks>This is a localization string ID.</remarks>
|
||||
[DataField]
|
||||
public string Name { get; private set; } = string.Empty;
|
||||
public LocId Name { get; private set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// An icon that will be used to represent this stack type.
|
||||
|
||||
@@ -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
|
||||
|
||||
7
Resources/Locale/en-US/recipes/components.ftl
Normal file
7
Resources/Locale/en-US/recipes/components.ftl
Normal file
@@ -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
|
||||
2
Resources/Locale/en-US/recipes/recipes.ftl
Normal file
2
Resources/Locale/en-US/recipes/recipes.ftl
Normal file
@@ -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.
|
||||
144
Resources/Locale/en-US/recipes/tags.ftl
Normal file
144
Resources/Locale/en-US/recipes/tags.ftl
Normal file
@@ -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
|
||||
234
Resources/Locale/en-US/stack/stacks.ftl
Normal file
234
Resources/Locale/en-US/stack/stacks.ftl
Normal file
@@ -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
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
- type: stack
|
||||
id: Credit
|
||||
name: speso
|
||||
name: stack-credit
|
||||
icon: { sprite: /Textures/Objects/Economy/cash.rsi, state: cash }
|
||||
spawn: SpaceCash
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Stack
|
||||
- type: stack
|
||||
id: Fulton
|
||||
name: fulton
|
||||
name: stack-fulton
|
||||
icon:
|
||||
sprite: /Textures/Objects/Tools/fulton.rsi
|
||||
state: extraction_pack
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
entity: ClothingHeadHelmetJusticeEmpty
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
- to: lit
|
||||
steps:
|
||||
- tag: Torch
|
||||
name: construction-graph-tag-torch
|
||||
doAfter: 2
|
||||
|
||||
- node: lit
|
||||
entity: PumpkinLantern
|
||||
entity: PumpkinLantern
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
entity: BorgChassisDerelict
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
mechPrototype: MechRipley
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
- to: apc
|
||||
steps:
|
||||
- component: ApcElectronics
|
||||
name: "APC electronics"
|
||||
name: construction-graph-component-apc-electronics
|
||||
doAfter: 2
|
||||
- to: start
|
||||
completed:
|
||||
|
||||
@@ -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?
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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?
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
- to: upgraded
|
||||
steps:
|
||||
- tag: WeaponPistolCHIMPUpgradeKit
|
||||
name: construction-graph-tag-weapon-pistol-chimp-upgrade-kit
|
||||
doAfter: 2
|
||||
|
||||
- node: upgraded
|
||||
entity: WeaponPistolCHIMPUpgraded
|
||||
entity: WeaponPistolCHIMPUpgraded
|
||||
|
||||
@@ -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
|
||||
objectType: Item
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
- !type:TileNotBlocked
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
objectType: Item
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
entity: PotatoAIChip
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user