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 System.Linq;
|
||||||
using Content.Shared.Construction.Prototypes;
|
using Content.Shared.Construction.Prototypes;
|
||||||
|
using Robust.Client.GameObjects;
|
||||||
using Robust.Client.Placement;
|
using Robust.Client.Placement;
|
||||||
using Robust.Client.Utility;
|
using Robust.Client.ResourceManagement;
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Client.Construction
|
namespace Content.Client.Construction
|
||||||
{
|
{
|
||||||
@@ -45,7 +47,14 @@ namespace Content.Client.Construction
|
|||||||
public override void StartHijack(PlacementManager manager)
|
public override void StartHijack(PlacementManager manager)
|
||||||
{
|
{
|
||||||
base.StartHijack(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.Diagnostics.CodeAnalysis;
|
||||||
|
using System.Linq;
|
||||||
using Content.Client.Popups;
|
using Content.Client.Popups;
|
||||||
using Content.Shared.Construction;
|
using Content.Shared.Construction;
|
||||||
using Content.Shared.Construction.Prototypes;
|
using Content.Shared.Construction.Prototypes;
|
||||||
using Content.Shared.Construction.Steps;
|
|
||||||
using Content.Shared.Examine;
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.Input;
|
using Content.Shared.Input;
|
||||||
using Content.Shared.Interaction;
|
|
||||||
using Content.Shared.Wall;
|
using Content.Shared.Wall;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Client.GameObjects;
|
using Robust.Client.GameObjects;
|
||||||
@@ -15,6 +14,7 @@ using Robust.Shared.Input.Binding;
|
|||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Client.Construction
|
namespace Content.Client.Construction
|
||||||
{
|
{
|
||||||
@@ -25,7 +25,6 @@ namespace Content.Client.Construction
|
|||||||
public sealed class ConstructionSystem : SharedConstructionSystem
|
public sealed class ConstructionSystem : SharedConstructionSystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
|
||||||
[Dependency] private readonly ExamineSystemShared _examineSystem = default!;
|
[Dependency] private readonly ExamineSystemShared _examineSystem = default!;
|
||||||
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
||||||
[Dependency] private readonly PopupSystem _popupSystem = 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<int, EntityUid> _ghosts = new();
|
||||||
private readonly Dictionary<string, ConstructionGuide> _guideCache = new();
|
private readonly Dictionary<string, ConstructionGuide> _guideCache = new();
|
||||||
|
|
||||||
|
private readonly Dictionary<string, string> _recipesMetadataCache = [];
|
||||||
|
|
||||||
public bool CraftingEnabled { get; private set; }
|
public bool CraftingEnabled { get; private set; }
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
@@ -40,6 +41,8 @@ namespace Content.Client.Construction
|
|||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
|
WarmupRecipesCache();
|
||||||
|
|
||||||
UpdatesOutsidePrediction = true;
|
UpdatesOutsidePrediction = true;
|
||||||
SubscribeLocalEvent<LocalPlayerAttachedEvent>(HandlePlayerAttached);
|
SubscribeLocalEvent<LocalPlayerAttachedEvent>(HandlePlayerAttached);
|
||||||
SubscribeNetworkEvent<AckStructureConstructionMessage>(HandleAckStructure);
|
SubscribeNetworkEvent<AckStructureConstructionMessage>(HandleAckStructure);
|
||||||
@@ -63,6 +66,77 @@ namespace Content.Client.Construction
|
|||||||
ClearGhost(component.GhostId);
|
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)
|
private void OnConstructionGuideReceived(ResponseConstructionGuide ev)
|
||||||
{
|
{
|
||||||
_guideCache[ev.ConstructionId] = ev.Guide;
|
_guideCache[ev.ConstructionId] = ev.Guide;
|
||||||
@@ -88,7 +162,7 @@ namespace Content.Client.Construction
|
|||||||
|
|
||||||
private void HandleConstructionGhostExamined(EntityUid uid, ConstructionGhostComponent component, ExaminedEvent args)
|
private void HandleConstructionGhostExamined(EntityUid uid, ConstructionGhostComponent component, ExaminedEvent args)
|
||||||
{
|
{
|
||||||
if (component.Prototype == null)
|
if (component.Prototype?.Name is null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
using (args.PushGroup(nameof(ConstructionGhostComponent)))
|
using (args.PushGroup(nameof(ConstructionGhostComponent)))
|
||||||
@@ -97,7 +171,7 @@ namespace Content.Client.Construction
|
|||||||
"construction-ghost-examine-message",
|
"construction-ghost-examine-message",
|
||||||
("name", component.Prototype.Name)));
|
("name", component.Prototype.Name)));
|
||||||
|
|
||||||
if (!_prototypeManager.TryIndex(component.Prototype.Graph, out ConstructionGraphPrototype? graph))
|
if (!PrototypeManager.TryIndex(component.Prototype.Graph, out var graph))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var startNode = graph.Nodes[component.Prototype.StartNode];
|
var startNode = graph.Nodes[component.Prototype.StartNode];
|
||||||
@@ -198,6 +272,9 @@ namespace Content.Client.Construction
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!TryGetRecipePrototype(prototype.ID, out var targetProtoId) || !PrototypeManager.TryIndex(targetProtoId, out EntityPrototype? targetProto))
|
||||||
|
return false;
|
||||||
|
|
||||||
if (GhostPresent(loc))
|
if (GhostPresent(loc))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -214,17 +291,44 @@ namespace Content.Client.Construction
|
|||||||
comp.GhostId = ghost.GetHashCode();
|
comp.GhostId = ghost.GetHashCode();
|
||||||
EntityManager.GetComponent<TransformComponent>(ghost.Value).LocalRotation = dir.ToAngle();
|
EntityManager.GetComponent<TransformComponent>(ghost.Value).LocalRotation = dir.ToAngle();
|
||||||
_ghosts.Add(comp.GhostId, ghost.Value);
|
_ghosts.Add(comp.GhostId, ghost.Value);
|
||||||
|
|
||||||
var sprite = EntityManager.GetComponent<SpriteComponent>(ghost.Value);
|
var sprite = EntityManager.GetComponent<SpriteComponent>(ghost.Value);
|
||||||
sprite.Color = new Color(48, 255, 48, 128);
|
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.AddBlankLayer(0);
|
||||||
sprite.LayerSetSprite(i, prototype.Layers[i]);
|
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.LayerSetShader(i, "unshaded");
|
||||||
sprite.LayerSetVisible(i, true);
|
sprite.LayerSetVisible(i, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EntityManager.DeleteEntity(dummy);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
if (prototype.CanBuildInImpassable)
|
if (prototype.CanBuildInImpassable)
|
||||||
EnsureComp<WallMountComponent>(ghost.Value).Arc = new(Math.Tau);
|
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="Horizontal" HorizontalExpand="True">
|
||||||
<BoxContainer Orientation="Vertical" MinWidth="243" Margin="0 0 5 0">
|
<BoxContainer Orientation="Vertical" MinWidth="243" Margin="0 0 5 0">
|
||||||
<BoxContainer Orientation="Horizontal" HorizontalExpand="True" Margin="0 0 0 5">
|
<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"/>
|
<OptionButton Name="OptionCategories" Access="Public" MinSize="130 0"/>
|
||||||
</BoxContainer>
|
</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">
|
<ScrollContainer Name="RecipesGridScrollContainer" VerticalExpand="True" Access="Public" Visible="False">
|
||||||
<GridContainer Name="RecipesGrid" Columns="5" Access="Public"/>
|
<GridContainer Name="RecipesGrid" Columns="5" Access="Public"/>
|
||||||
</ScrollContainer>
|
</ScrollContainer>
|
||||||
@@ -18,7 +19,7 @@
|
|||||||
<Control>
|
<Control>
|
||||||
<BoxContainer Orientation="Vertical" HorizontalExpand="True" Margin="0 0 0 5">
|
<BoxContainer Orientation="Vertical" HorizontalExpand="True" Margin="0 0 0 5">
|
||||||
<BoxContainer Orientation="Horizontal" Align="Center">
|
<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">
|
<BoxContainer Orientation="Vertical">
|
||||||
<RichTextLabel Name="TargetName"/>
|
<RichTextLabel Name="TargetName"/>
|
||||||
<RichTextLabel Name="TargetDesc"/>
|
<RichTextLabel Name="TargetDesc"/>
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
using System;
|
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
|
using Content.Client.UserInterface.Controls;
|
||||||
|
using Content.Shared.Construction.Prototypes;
|
||||||
using Robust.Client.AutoGenerated;
|
using Robust.Client.AutoGenerated;
|
||||||
using Robust.Client.Graphics;
|
|
||||||
using Robust.Client.UserInterface.Controls;
|
using Robust.Client.UserInterface.Controls;
|
||||||
using Robust.Client.UserInterface.CustomControls;
|
using Robust.Client.UserInterface.CustomControls;
|
||||||
using Robust.Client.UserInterface.XAML;
|
using Robust.Client.UserInterface.XAML;
|
||||||
using Robust.Shared.Graphics;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.IoC;
|
|
||||||
using Robust.Shared.Localization;
|
|
||||||
|
|
||||||
|
|
||||||
namespace Content.Client.Construction.UI
|
namespace Content.Client.Construction.UI
|
||||||
{
|
{
|
||||||
@@ -28,7 +25,7 @@ namespace Content.Client.Construction.UI
|
|||||||
bool GridViewButtonPressed { get; set; }
|
bool GridViewButtonPressed { get; set; }
|
||||||
bool BuildButtonPressed { get; set; }
|
bool BuildButtonPressed { get; set; }
|
||||||
|
|
||||||
ItemList Recipes { get; }
|
ListContainer Recipes { get; }
|
||||||
ItemList RecipeStepList { get; }
|
ItemList RecipeStepList { get; }
|
||||||
|
|
||||||
|
|
||||||
@@ -36,14 +33,14 @@ namespace Content.Client.Construction.UI
|
|||||||
GridContainer RecipesGrid { get; }
|
GridContainer RecipesGrid { get; }
|
||||||
|
|
||||||
event EventHandler<(string search, string catagory)> PopulateRecipes;
|
event EventHandler<(string search, string catagory)> PopulateRecipes;
|
||||||
event EventHandler<ItemList.Item?> RecipeSelected;
|
event EventHandler<ConstructionMenu.ConstructionMenuListData?> RecipeSelected;
|
||||||
event EventHandler RecipeFavorited;
|
event EventHandler RecipeFavorited;
|
||||||
event EventHandler<bool> BuildButtonToggled;
|
event EventHandler<bool> BuildButtonToggled;
|
||||||
event EventHandler<bool> EraseButtonToggled;
|
event EventHandler<bool> EraseButtonToggled;
|
||||||
event EventHandler ClearAllGhosts;
|
event EventHandler ClearAllGhosts;
|
||||||
|
|
||||||
void ClearRecipeInfo();
|
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();
|
void ResetPlacement();
|
||||||
|
|
||||||
#region Window Control
|
#region Window Control
|
||||||
@@ -94,8 +91,36 @@ namespace Content.Client.Construction.UI
|
|||||||
Title = Loc.GetString("construction-menu-title");
|
Title = Loc.GetString("construction-menu-title");
|
||||||
|
|
||||||
BuildButton.Text = Loc.GetString("construction-menu-place-ghost");
|
BuildButton.Text = Loc.GetString("construction-menu-place-ghost");
|
||||||
Recipes.OnItemSelected += obj => RecipeSelected?.Invoke(this, obj.ItemList[obj.ItemIndex]);
|
Recipes.ItemPressed += (_, data) => RecipeSelected?.Invoke(this, data as ConstructionMenuListData);
|
||||||
Recipes.OnItemDeselected += _ => RecipeSelected?.Invoke(this, null);
|
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 += _ =>
|
SearchBar.OnTextChanged += _ =>
|
||||||
PopulateRecipes?.Invoke(this, (SearchBar.Text, Categories[OptionCategories.SelectedId]));
|
PopulateRecipes?.Invoke(this, (SearchBar.Text, Categories[OptionCategories.SelectedId]));
|
||||||
@@ -121,7 +146,7 @@ namespace Content.Client.Construction.UI
|
|||||||
|
|
||||||
public event EventHandler? ClearAllGhosts;
|
public event EventHandler? ClearAllGhosts;
|
||||||
public event EventHandler<(string search, string catagory)>? PopulateRecipes;
|
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? RecipeFavorited;
|
||||||
public event EventHandler<bool>? BuildButtonToggled;
|
public event EventHandler<bool>? BuildButtonToggled;
|
||||||
public event EventHandler<bool>? EraseButtonToggled;
|
public event EventHandler<bool>? EraseButtonToggled;
|
||||||
@@ -133,13 +158,17 @@ namespace Content.Client.Construction.UI
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void SetRecipeInfo(
|
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.Disabled = false;
|
||||||
BuildButton.Text = Loc.GetString(isItem ? "construction-menu-place-ghost" : "construction-menu-craft");
|
BuildButton.Text = Loc.GetString(isItem ? "construction-menu-place-ghost" : "construction-menu-craft");
|
||||||
TargetName.SetMessage(name);
|
TargetName.SetMessage(name);
|
||||||
TargetDesc.SetMessage(description);
|
TargetDesc.SetMessage(description);
|
||||||
TargetTexture.Texture = iconTexture;
|
TargetTexture.SetPrototype(targetPrototype?.ID);
|
||||||
FavoriteButton.Visible = true;
|
FavoriteButton.Visible = true;
|
||||||
FavoriteButton.Text = Loc.GetString(
|
FavoriteButton.Text = Loc.GetString(
|
||||||
isFavorite ? "construction-add-favorite-button" : "construction-remove-from-favorite-button");
|
isFavorite ? "construction-add-favorite-button" : "construction-remove-from-favorite-button");
|
||||||
@@ -150,9 +179,11 @@ namespace Content.Client.Construction.UI
|
|||||||
BuildButton.Disabled = true;
|
BuildButton.Disabled = true;
|
||||||
TargetName.SetMessage(string.Empty);
|
TargetName.SetMessage(string.Empty);
|
||||||
TargetDesc.SetMessage(string.Empty);
|
TargetDesc.SetMessage(string.Empty);
|
||||||
TargetTexture.Texture = null;
|
TargetTexture.SetPrototype(null);
|
||||||
FavoriteButton.Visible = false;
|
FavoriteButton.Visible = false;
|
||||||
RecipeStepList.Clear();
|
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.Player;
|
||||||
using Robust.Client.UserInterface;
|
using Robust.Client.UserInterface;
|
||||||
using Robust.Client.UserInterface.Controls;
|
using Robust.Client.UserInterface.Controls;
|
||||||
using Robust.Client.Utility;
|
|
||||||
using Robust.Shared.Enums;
|
using Robust.Shared.Enums;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using static Robust.Client.UserInterface.Controls.BaseButton;
|
|
||||||
|
|
||||||
namespace Content.Client.Construction.UI
|
namespace Content.Client.Construction.UI
|
||||||
{
|
{
|
||||||
@@ -30,18 +28,20 @@ namespace Content.Client.Construction.UI
|
|||||||
[Dependency] private readonly IPlacementManager _placementManager = default!;
|
[Dependency] private readonly IPlacementManager _placementManager = default!;
|
||||||
[Dependency] private readonly IUserInterfaceManager _uiManager = default!;
|
[Dependency] private readonly IUserInterfaceManager _uiManager = default!;
|
||||||
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||||
|
private readonly SpriteSystem _spriteSystem;
|
||||||
|
|
||||||
private readonly IConstructionMenuView _constructionView;
|
private readonly IConstructionMenuView _constructionView;
|
||||||
private readonly EntityWhitelistSystem _whitelistSystem;
|
private readonly EntityWhitelistSystem _whitelistSystem;
|
||||||
private readonly SpriteSystem _spriteSystem;
|
|
||||||
|
|
||||||
private ConstructionSystem? _constructionSystem;
|
private ConstructionSystem? _constructionSystem;
|
||||||
private ConstructionPrototype? _selected;
|
private ConstructionPrototype? _selected;
|
||||||
private List<ConstructionPrototype> _favoritedRecipes = [];
|
private List<ConstructionPrototype> _favoritedRecipes = [];
|
||||||
private Dictionary<string, TextureButton> _recipeButtons = new();
|
private Dictionary<string, ContainerButton> _recipeButtons = new();
|
||||||
private string _selectedCategory = string.Empty;
|
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
|
private bool CraftingAvailable
|
||||||
{
|
{
|
||||||
get => _uiManager.GetActiveUIWidget<GameTopMenuBar>().CraftingButton.Visible;
|
get => _uiManager.GetActiveUIWidget<GameTopMenuBar>().CraftingButton.Visible;
|
||||||
@@ -98,15 +98,18 @@ namespace Content.Client.Construction.UI
|
|||||||
|
|
||||||
_placementManager.PlacementChanged += OnPlacementChanged;
|
_placementManager.PlacementChanged += OnPlacementChanged;
|
||||||
|
|
||||||
_constructionView.OnClose += () => _uiManager.GetActiveUIWidget<GameTopMenuBar>().CraftingButton.Pressed = false;
|
_constructionView.OnClose +=
|
||||||
|
() => _uiManager.GetActiveUIWidget<GameTopMenuBar>().CraftingButton.Pressed = false;
|
||||||
_constructionView.ClearAllGhosts += (_, _) => _constructionSystem?.ClearAllGhosts();
|
_constructionView.ClearAllGhosts += (_, _) => _constructionSystem?.ClearAllGhosts();
|
||||||
_constructionView.PopulateRecipes += OnViewPopulateRecipes;
|
_constructionView.PopulateRecipes += OnViewPopulateRecipes;
|
||||||
_constructionView.RecipeSelected += OnViewRecipeSelected;
|
_constructionView.RecipeSelected += OnViewRecipeSelected;
|
||||||
_constructionView.BuildButtonToggled += (_, b) => BuildButtonToggled(b);
|
_constructionView.BuildButtonToggled += (_, b) => BuildButtonToggled(b);
|
||||||
_constructionView.EraseButtonToggled += (_, b) =>
|
_constructionView.EraseButtonToggled += (_, b) =>
|
||||||
{
|
{
|
||||||
if (_constructionSystem is null) return;
|
if (_constructionSystem is null)
|
||||||
if (b) _placementManager.Clear();
|
return;
|
||||||
|
if (b)
|
||||||
|
_placementManager.Clear();
|
||||||
_placementManager.ToggleEraserHijacked(new ConstructionPlacementHijack(_constructionSystem, null));
|
_placementManager.ToggleEraserHijacked(new ConstructionPlacementHijack(_constructionSystem, null));
|
||||||
_constructionView.EraseButtonPressed = b;
|
_constructionView.EraseButtonPressed = b;
|
||||||
};
|
};
|
||||||
@@ -117,7 +120,7 @@ namespace Content.Client.Construction.UI
|
|||||||
OnViewPopulateRecipes(_constructionView, (string.Empty, string.Empty));
|
OnViewPopulateRecipes(_constructionView, (string.Empty, string.Empty));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnHudCraftingButtonToggled(ButtonToggledEventArgs args)
|
public void OnHudCraftingButtonToggled(BaseButton.ButtonToggledEventArgs args)
|
||||||
{
|
{
|
||||||
WindowOpen = args.Pressed;
|
WindowOpen = args.Pressed;
|
||||||
}
|
}
|
||||||
@@ -139,7 +142,7 @@ namespace Content.Client.Construction.UI
|
|||||||
_constructionView.ResetPlacement();
|
_constructionView.ResetPlacement();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnViewRecipeSelected(object? sender, ItemList.Item? item)
|
private void OnViewRecipeSelected(object? sender, ConstructionMenu.ConstructionMenuListData? item)
|
||||||
{
|
{
|
||||||
if (item is null)
|
if (item is null)
|
||||||
{
|
{
|
||||||
@@ -148,12 +151,15 @@ namespace Content.Client.Construction.UI
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_selected = (ConstructionPrototype) item.Metadata!;
|
_selected = item.Prototype;
|
||||||
if (_placementManager.IsActive && !_placementManager.Eraser) UpdateGhostPlacement();
|
|
||||||
|
if (_placementManager is { IsActive: true, Eraser: false })
|
||||||
|
UpdateGhostPlacement();
|
||||||
|
|
||||||
PopulateInfo(_selected);
|
PopulateInfo(_selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnGridViewRecipeSelected(object? sender, ConstructionPrototype? recipe)
|
private void OnGridViewRecipeSelected(object? _, ConstructionPrototype? recipe)
|
||||||
{
|
{
|
||||||
if (recipe is null)
|
if (recipe is null)
|
||||||
{
|
{
|
||||||
@@ -163,62 +169,21 @@ namespace Content.Client.Construction.UI
|
|||||||
}
|
}
|
||||||
|
|
||||||
_selected = recipe;
|
_selected = recipe;
|
||||||
if (_placementManager.IsActive && !_placementManager.Eraser) UpdateGhostPlacement();
|
|
||||||
|
if (_placementManager is { IsActive: true, Eraser: false })
|
||||||
|
UpdateGhostPlacement();
|
||||||
|
|
||||||
PopulateInfo(_selected);
|
PopulateInfo(_selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnViewPopulateRecipes(object? sender, (string search, string catagory) args)
|
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 actualRecipes = GetAndSortRecipes(args);
|
||||||
|
|
||||||
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 recipesList = _constructionView.Recipes;
|
var recipesList = _constructionView.Recipes;
|
||||||
recipesList.Clear();
|
|
||||||
|
|
||||||
var recipesGrid = _constructionView.RecipesGrid;
|
var recipesGrid = _constructionView.RecipesGrid;
|
||||||
recipesGrid.RemoveAllChildren();
|
recipesGrid.RemoveAllChildren();
|
||||||
|
|
||||||
@@ -227,17 +192,35 @@ namespace Content.Client.Construction.UI
|
|||||||
|
|
||||||
if (_constructionView.GridViewButtonPressed)
|
if (_constructionView.GridViewButtonPressed)
|
||||||
{
|
{
|
||||||
foreach (var recipe in recipes)
|
recipesList.PopulateList([]);
|
||||||
|
PopulateGrid(recipesGrid, actualRecipes);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
var itemButton = new TextureButton
|
recipesList.PopulateList(actualRecipes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PopulateGrid(GridContainer recipesGrid,
|
||||||
|
IEnumerable<ConstructionMenu.ConstructionMenuListData> actualRecipes)
|
||||||
{
|
{
|
||||||
TextureNormal = _spriteSystem.Frame0(recipe.Icon),
|
foreach (var recipe in actualRecipes)
|
||||||
VerticalAlignment = Control.VAlignment.Center,
|
{
|
||||||
Name = recipe.Name,
|
var protoView = new EntityPrototypeView()
|
||||||
ToolTip = recipe.Name,
|
{
|
||||||
Scale = new Vector2(1.35f),
|
Scale = new Vector2(1.2f),
|
||||||
ToggleMode = true,
|
|
||||||
};
|
};
|
||||||
|
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
|
var itemButtonPanelContainer = new PanelContainer
|
||||||
{
|
{
|
||||||
PanelOverride = new StyleBoxFlat { BackgroundColor = StyleNano.ButtonColorDefault },
|
PanelOverride = new StyleBoxFlat { BackgroundColor = StyleNano.ButtonColorDefault },
|
||||||
@@ -250,37 +233,79 @@ namespace Content.Client.Construction.UI
|
|||||||
|
|
||||||
if (buttonToggledEventArgs.Pressed &&
|
if (buttonToggledEventArgs.Pressed &&
|
||||||
_selected != null &&
|
_selected != null &&
|
||||||
_recipeButtons.TryGetValue(_selected.Name, out var oldButton))
|
_recipeButtons.TryGetValue(_selected.Name!, out var oldButton))
|
||||||
{
|
{
|
||||||
oldButton.Pressed = false;
|
oldButton.Pressed = false;
|
||||||
SelectGridButton(oldButton, false);
|
SelectGridButton(oldButton, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
OnGridViewRecipeSelected(this, buttonToggledEventArgs.Pressed ? recipe : null);
|
OnGridViewRecipeSelected(this, buttonToggledEventArgs.Pressed ? recipe.Prototype : null);
|
||||||
};
|
};
|
||||||
|
|
||||||
recipesGrid.AddChild(itemButtonPanelContainer);
|
recipesGrid.AddChild(itemButtonPanelContainer);
|
||||||
_recipeButtons[recipe.Name] = itemButton;
|
_recipeButtons[recipe.Prototype.Name!] = itemButton;
|
||||||
var isCurrentButtonSelected = _selected == recipe;
|
var isCurrentButtonSelected = _selected == recipe.Prototype;
|
||||||
itemButton.Pressed = isCurrentButtonSelected;
|
itemButton.Pressed = isCurrentButtonSelected;
|
||||||
SelectGridButton(itemButton, isCurrentButtonSelected);
|
SelectGridButton(itemButton, isCurrentButtonSelected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
private List<ConstructionMenu.ConstructionMenuListData> GetAndSortRecipes((string, string) args)
|
||||||
{
|
{
|
||||||
foreach (var recipe in recipes)
|
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>())
|
||||||
{
|
{
|
||||||
recipesList.Add(GetItem(recipe, recipesList));
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SelectGridButton(TextureButton button, bool select)
|
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)
|
if (button.Parent is not PanelContainer buttonPanel)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
button.Modulate = select ? Color.Green : Color.White;
|
button.Modulate = select ? Color.Green : Color.Transparent;
|
||||||
var buttonColor = select ? StyleNano.ButtonColorDefault : Color.Transparent;
|
var buttonColor = select ? StyleNano.ButtonColorDefault : Color.Transparent;
|
||||||
buttonPanel.PanelOverride = new StyleBoxFlat { BackgroundColor = buttonColor };
|
buttonPanel.PanelOverride = new StyleBoxFlat { BackgroundColor = buttonColor };
|
||||||
}
|
}
|
||||||
@@ -302,12 +327,12 @@ namespace Content.Client.Construction.UI
|
|||||||
|
|
||||||
// hard-coded to show all recipes
|
// hard-coded to show all recipes
|
||||||
var idx = 0;
|
var idx = 0;
|
||||||
categoriesArray[idx++] = _forAllCategoryName;
|
categoriesArray[idx++] = ForAllCategoryName;
|
||||||
|
|
||||||
// hard-coded to show favorites if it need
|
// hard-coded to show favorites if it need
|
||||||
if (isFavorites)
|
if (isFavorites)
|
||||||
{
|
{
|
||||||
categoriesArray[idx++] = _favoriteCatName;
|
categoriesArray[idx++] = FavoriteCatName;
|
||||||
}
|
}
|
||||||
|
|
||||||
var sortedProtoCategories = uniqueCategories.OrderBy(Loc.GetString);
|
var sortedProtoCategories = uniqueCategories.OrderBy(Loc.GetString);
|
||||||
@@ -325,18 +350,31 @@ namespace Content.Client.Construction.UI
|
|||||||
|
|
||||||
if (!string.IsNullOrEmpty(selectCategory) && selectCategory == categoriesArray[i])
|
if (!string.IsNullOrEmpty(selectCategory) && selectCategory == categoriesArray[i])
|
||||||
_constructionView.OptionCategories.SelectId(i);
|
_constructionView.OptionCategories.SelectId(i);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_constructionView.Categories = categoriesArray;
|
_constructionView.Categories = categoriesArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PopulateInfo(ConstructionPrototype prototype)
|
private void PopulateInfo(ConstructionPrototype? prototype)
|
||||||
{
|
{
|
||||||
|
if (_constructionSystem is null)
|
||||||
|
return;
|
||||||
|
|
||||||
_constructionView.ClearRecipeInfo();
|
_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(
|
_constructionView.SetRecipeInfo(
|
||||||
prototype.Name, prototype.Description, _spriteSystem.Frame0(prototype.Icon),
|
prototype.Name!,
|
||||||
|
prototype.Description!,
|
||||||
|
proto,
|
||||||
prototype.Type != ConstructionType.Item,
|
prototype.Type != ConstructionType.Item,
|
||||||
!_favoritedRecipes.Contains(prototype));
|
!_favoritedRecipes.Contains(prototype));
|
||||||
|
|
||||||
@@ -349,16 +387,17 @@ namespace Content.Client.Construction.UI
|
|||||||
if (_constructionSystem?.GetGuide(prototype) is not { } guide)
|
if (_constructionSystem?.GetGuide(prototype) is not { } guide)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
foreach (var entry in guide.Entries)
|
foreach (var entry in guide.Entries)
|
||||||
{
|
{
|
||||||
var text = entry.Arguments != null
|
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)
|
if (entry.EntryNumber is { } number)
|
||||||
{
|
{
|
||||||
text = Loc.GetString("construction-presenter-step-wrapper",
|
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)
|
// 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)
|
private void BuildButtonToggled(bool pressed)
|
||||||
{
|
{
|
||||||
if (pressed)
|
if (pressed)
|
||||||
{
|
{
|
||||||
if (_selected == null) return;
|
if (_selected == null)
|
||||||
|
return;
|
||||||
|
|
||||||
// not bound to a construction system
|
// not bound to a construction system
|
||||||
if (_constructionSystem is null)
|
if (_constructionSystem is null)
|
||||||
@@ -405,7 +433,8 @@ namespace Content.Client.Construction.UI
|
|||||||
{
|
{
|
||||||
IsTile = false,
|
IsTile = false,
|
||||||
PlacementOption = _selected.PlacementMode
|
PlacementOption = _selected.PlacementMode
|
||||||
}, new ConstructionPlacementHijack(_constructionSystem, _selected));
|
},
|
||||||
|
new ConstructionPlacementHijack(_constructionSystem, _selected));
|
||||||
|
|
||||||
UpdateGhostPlacement();
|
UpdateGhostPlacement();
|
||||||
}
|
}
|
||||||
@@ -432,35 +461,36 @@ namespace Content.Client.Construction.UI
|
|||||||
{
|
{
|
||||||
IsTile = false,
|
IsTile = false,
|
||||||
PlacementOption = _selected.PlacementMode,
|
PlacementOption = _selected.PlacementMode,
|
||||||
}, new ConstructionPlacementHijack(constructSystem, _selected));
|
},
|
||||||
|
new ConstructionPlacementHijack(constructSystem, _selected));
|
||||||
|
|
||||||
_constructionView.BuildButtonPressed = true;
|
_constructionView.BuildButtonPressed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSystemLoaded(object? sender, SystemChangedArgs args)
|
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)
|
private void OnSystemUnloaded(object? sender, SystemChangedArgs args)
|
||||||
{
|
{
|
||||||
if (args.System is ConstructionSystem) SystemBindingChanged(null);
|
if (args.System is ConstructionSystem)
|
||||||
|
SystemBindingChanged(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnViewFavoriteRecipe()
|
private void OnViewFavoriteRecipe()
|
||||||
{
|
{
|
||||||
if (_selected is not ConstructionPrototype recipe)
|
if (_selected is null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!_favoritedRecipes.Remove(_selected))
|
if (!_favoritedRecipes.Remove(_selected))
|
||||||
_favoritedRecipes.Add(_selected);
|
_favoritedRecipes.Add(_selected);
|
||||||
|
|
||||||
if (_selectedCategory == _favoriteCatName)
|
if (_selectedCategory == FavoriteCatName)
|
||||||
{
|
{
|
||||||
if (_favoritedRecipes.Count > 0)
|
OnViewPopulateRecipes(_constructionView,
|
||||||
OnViewPopulateRecipes(_constructionView, (string.Empty, _favoriteCatName));
|
_favoritedRecipes.Count > 0 ? (string.Empty, FavoriteCatName) : (string.Empty, string.Empty));
|
||||||
else
|
|
||||||
OnViewPopulateRecipes(_constructionView, (string.Empty, string.Empty));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PopulateInfo(_selected);
|
PopulateInfo(_selected);
|
||||||
@@ -492,6 +522,9 @@ namespace Content.Client.Construction.UI
|
|||||||
private void BindToSystem(ConstructionSystem system)
|
private void BindToSystem(ConstructionSystem system)
|
||||||
{
|
{
|
||||||
_constructionSystem = system;
|
_constructionSystem = system;
|
||||||
|
|
||||||
|
OnViewPopulateRecipes(_constructionView, (string.Empty, string.Empty));
|
||||||
|
|
||||||
system.ToggleCraftingWindow += SystemOnToggleMenu;
|
system.ToggleCraftingWindow += SystemOnToggleMenu;
|
||||||
system.FlipConstructionPrototype += SystemFlipConstructionPrototype;
|
system.FlipConstructionPrototype += SystemFlipConstructionPrototype;
|
||||||
system.CraftingAvailabilityChanged += SystemCraftingAvailabilityChanged;
|
system.CraftingAvailabilityChanged += SystemCraftingAvailabilityChanged;
|
||||||
@@ -533,7 +566,8 @@ namespace Content.Client.Construction.UI
|
|||||||
if (IsAtFront)
|
if (IsAtFront)
|
||||||
{
|
{
|
||||||
WindowOpen = false;
|
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
|
else
|
||||||
_constructionView.MoveToFront();
|
_constructionView.MoveToFront();
|
||||||
@@ -541,7 +575,8 @@ namespace Content.Client.Construction.UI
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
WindowOpen = true;
|
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
|
- type: stack
|
||||||
id: StackProto
|
id: StackProto
|
||||||
|
name: stack-steel
|
||||||
spawn: A
|
spawn: A
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ using Content.Shared.Construction;
|
|||||||
using Content.Shared.DoAfter;
|
using Content.Shared.DoAfter;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Server.Containers;
|
using Robust.Server.Containers;
|
||||||
using Robust.Shared.Prototypes;
|
|
||||||
using Robust.Shared.Random;
|
using Robust.Shared.Random;
|
||||||
using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem;
|
using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem;
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace Content.Shared.Construction
|
|||||||
[DataField("transform")]
|
[DataField("transform")]
|
||||||
public IGraphTransform[] TransformLogic = Array.Empty<IGraphTransform>();
|
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();
|
public IGraphNodeEntity Entity { get; private set; } = new NullNodeEntity();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
using Content.Server.Construction.Components;
|
|
||||||
using Content.Shared.Construction;
|
|
||||||
using Content.Shared.Construction.Components;
|
using Content.Shared.Construction.Components;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Server.Containers;
|
using Robust.Shared.Containers;
|
||||||
|
|
||||||
namespace Content.Server.Construction.NodeEntities;
|
namespace Content.Shared.Construction.NodeEntities;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Works for both <see cref="ComputerBoardComponent"/> and <see cref="MachineBoardComponent"/>
|
/// Works for both <see cref="ComputerBoardComponent"/> and <see cref="MachineBoardComponent"/>
|
||||||
@@ -21,7 +19,7 @@ public sealed partial class BoardNodeEntity : IGraphNodeEntity
|
|||||||
if (uid == null)
|
if (uid == null)
|
||||||
return 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)
|
if (!containerSystem.TryGetContainer(uid.Value, Container, out var container)
|
||||||
|| container.ContainedEntities.Count == 0)
|
|| container.ContainedEntities.Count == 0)
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
using Content.Shared.Construction.Conditions;
|
using Content.Shared.Construction.Conditions;
|
||||||
using Content.Shared.Whitelist;
|
using Content.Shared.Whitelist;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
||||||
using Robust.Shared.Utility;
|
|
||||||
|
|
||||||
namespace Content.Shared.Construction.Prototypes;
|
namespace Content.Shared.Construction.Prototypes;
|
||||||
|
|
||||||
@@ -14,65 +12,57 @@ public sealed partial class ConstructionPrototype : IPrototype
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Hide from the construction list
|
/// Hide from the construction list
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("hide")]
|
[DataField]
|
||||||
public bool Hide = false;
|
public bool Hide = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Friendly name displayed in the construction GUI.
|
/// Friendly name displayed in the construction GUI.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("name")]
|
[DataField("name")]
|
||||||
public string Name = string.Empty;
|
public LocId? SetName;
|
||||||
|
|
||||||
|
public string? Name;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// "Useful" description displayed in the construction GUI.
|
/// "Useful" description displayed in the construction GUI.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("description")]
|
[DataField("description")]
|
||||||
public string Description = string.Empty;
|
public LocId? SetDescription;
|
||||||
|
|
||||||
|
public string? Description;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The <see cref="ConstructionGraphPrototype"/> this construction will be using.
|
/// The <see cref="ConstructionGraphPrototype"/> this construction will be using.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("graph", customTypeSerializer: typeof(PrototypeIdSerializer<ConstructionGraphPrototype>), required: true)]
|
[DataField(required: true)]
|
||||||
public string Graph = string.Empty;
|
public ProtoId<ConstructionGraphPrototype> Graph { get; private set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The target <see cref="ConstructionGraphNode"/> this construction will guide the user to.
|
/// The target <see cref="ConstructionGraphNode"/> this construction will guide the user to.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("targetNode")]
|
[DataField(required: true)]
|
||||||
public string TargetNode = string.Empty;
|
public string TargetNode { get; private set; } = default!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The starting <see cref="ConstructionGraphNode"/> this construction will start at.
|
/// The starting <see cref="ConstructionGraphNode"/> this construction will start at.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("startNode")]
|
[DataField(required: true)]
|
||||||
public string StartNode = string.Empty;
|
public string StartNode { get; private set; } = default!;
|
||||||
|
|
||||||
/// <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;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// If you can start building or complete steps on impassable terrain.
|
/// If you can start building or complete steps on impassable terrain.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("canBuildInImpassable")]
|
[DataField]
|
||||||
public bool CanBuildInImpassable { get; private set; }
|
public bool CanBuildInImpassable { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// If not null, then this is used to check if the entity trying to construct this is whitelisted.
|
/// 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.
|
/// If they're not whitelisted, hide the item.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("entityWhitelist")]
|
[DataField]
|
||||||
public EntityWhitelist? EntityWhitelist = null;
|
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;
|
[DataField("objectType")] public ConstructionType Type { get; private set; } = ConstructionType.Structure;
|
||||||
|
|
||||||
@@ -80,23 +70,22 @@ public sealed partial class ConstructionPrototype : IPrototype
|
|||||||
[IdDataField]
|
[IdDataField]
|
||||||
public string ID { get; private set; } = default!;
|
public string ID { get; private set; } = default!;
|
||||||
|
|
||||||
[DataField("placementMode")]
|
[DataField]
|
||||||
public string PlacementMode = "PlaceFree";
|
public string PlacementMode = "PlaceFree";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Whether this construction can be constructed rotated or not.
|
/// Whether this construction can be constructed rotated or not.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("canRotate")]
|
[DataField]
|
||||||
public bool CanRotate = true;
|
public bool CanRotate = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Construction to replace this construction with when the current one is 'flipped'
|
/// Construction to replace this construction with when the current one is 'flipped'
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("mirror", customTypeSerializer: typeof(PrototypeIdSerializer<ConstructionPrototype>))]
|
[DataField]
|
||||||
public string? Mirror;
|
public ProtoId<ConstructionPrototype>? Mirror { get; private set; }
|
||||||
|
|
||||||
public IReadOnlyList<IConstructionCondition> Conditions => _conditions;
|
public IReadOnlyList<IConstructionCondition> Conditions => _conditions;
|
||||||
public IReadOnlyList<SpriteSpecifier> Layers => _layers ?? new List<SpriteSpecifier> { Icon };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ConstructionType
|
public enum ConstructionType
|
||||||
|
|||||||
@@ -5,24 +5,26 @@ namespace Content.Shared.Construction.Steps
|
|||||||
{
|
{
|
||||||
public abstract partial class ArbitraryInsertConstructionGraphStep : EntityInsertConstructionGraphStep
|
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)
|
public override void DoExamine(ExaminedEvent examinedEvent)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(Name))
|
if (string.IsNullOrEmpty(Name))
|
||||||
return;
|
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()
|
public override ConstructionGuideEntry GenerateGuideEntry()
|
||||||
{
|
{
|
||||||
|
var stepName = Loc.GetString(Name);
|
||||||
return new ConstructionGuideEntry
|
return new ConstructionGuideEntry
|
||||||
{
|
{
|
||||||
Localization = "construction-presenter-arbitrary-step",
|
Localization = "construction-presenter-arbitrary-step",
|
||||||
Arguments = new (string, object)[]{("name", Name)},
|
Arguments = new (string, object)[]{("name", stepName)},
|
||||||
Icon = Icon,
|
Icon = Icon,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace Content.Shared.Construction.Steps
|
|||||||
("componentName", Component))// Terrible.
|
("componentName", Component))// Terrible.
|
||||||
: Loc.GetString(
|
: Loc.GetString(
|
||||||
"construction-insert-exact-entity",
|
"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.Examine;
|
||||||
using Content.Shared.Stacks;
|
using Content.Shared.Stacks;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
||||||
|
|
||||||
namespace Content.Shared.Construction.Steps
|
namespace Content.Shared.Construction.Steps
|
||||||
{
|
{
|
||||||
@@ -11,16 +10,17 @@ namespace Content.Shared.Construction.Steps
|
|||||||
{
|
{
|
||||||
// TODO: Make this use the material system.
|
// TODO: Make this use the material system.
|
||||||
// TODO TODO: Make the material system not shit.
|
// TODO TODO: Make the material system not shit.
|
||||||
[DataField("material", required:true, customTypeSerializer:typeof(PrototypeIdSerializer<StackPrototype>))]
|
[DataField("material", required:true)]
|
||||||
public string MaterialPrototypeId { get; private set; } = "Steel";
|
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)
|
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)
|
public override bool EntityValid(EntityUid uid, IEntityManager entityManager, IComponentFactory compFactory)
|
||||||
@@ -40,12 +40,13 @@ namespace Content.Shared.Construction.Steps
|
|||||||
|
|
||||||
public override ConstructionGuideEntry GenerateGuideEntry()
|
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()
|
return new ConstructionGuideEntry()
|
||||||
{
|
{
|
||||||
Localization = "construction-presenter-material-step",
|
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,
|
Icon = material.Icon,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using System.Diagnostics;
|
|
||||||
using System.Globalization;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using Content.Shared.Eye.Blinding.Components;
|
using Content.Shared.Eye.Blinding.Components;
|
||||||
using Content.Shared.Ghost;
|
using Content.Shared.Ghost;
|
||||||
using Content.Shared.Interaction;
|
using Content.Shared.Interaction;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Shared.Stacks;
|
namespace Content.Shared.Stacks;
|
||||||
@@ -16,7 +15,7 @@ public sealed partial class StackPrototype : IPrototype
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>This is a localization string ID.</remarks>
|
/// <remarks>This is a localization string ID.</remarks>
|
||||||
[DataField]
|
[DataField]
|
||||||
public string Name { get; private set; } = string.Empty;
|
public LocId Name { get; private set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// An icon that will be used to represent this stack type.
|
/// 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-clear-all = Clear All
|
||||||
construction-menu-eraser-mode = Eraser Mode
|
construction-menu-eraser-mode = Eraser Mode
|
||||||
construction-menu-craft = Craft
|
construction-menu-craft = Craft
|
||||||
|
construction-menu-search = Search
|
||||||
construction-menu-grid-view = Grid View
|
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
|
- type: stack
|
||||||
id: Credit
|
id: Credit
|
||||||
name: speso
|
name: stack-credit
|
||||||
icon: { sprite: /Textures/Objects/Economy/cash.rsi, state: cash }
|
icon: { sprite: /Textures/Objects/Economy/cash.rsi, state: cash }
|
||||||
spawn: SpaceCash
|
spawn: SpaceCash
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Stack
|
# Stack
|
||||||
- type: stack
|
- type: stack
|
||||||
id: Fulton
|
id: Fulton
|
||||||
name: fulton
|
name: stack-fulton
|
||||||
icon:
|
icon:
|
||||||
sprite: /Textures/Objects/Tools/fulton.rsi
|
sprite: /Textures/Objects/Tools/fulton.rsi
|
||||||
state: extraction_pack
|
state: extraction_pack
|
||||||
|
|||||||
@@ -7,19 +7,19 @@
|
|||||||
- to: jumpsuit
|
- to: jumpsuit
|
||||||
steps:
|
steps:
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: ClownSuit
|
- tag: ClownSuit
|
||||||
name: a clown suit
|
name: construction-graph-tag-clown-suit
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Uniforms/Jumpsuit/clown.rsi
|
sprite: Clothing/Uniforms/Jumpsuit/clown.rsi
|
||||||
state: icon
|
state: icon
|
||||||
@@ -45,19 +45,19 @@
|
|||||||
- to: shoes
|
- to: shoes
|
||||||
steps:
|
steps:
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: ClownShoes
|
- tag: ClownShoes
|
||||||
name: clown shoes
|
name: construction-graph-tag-clown-shoes
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Shoes/Specific/clown.rsi
|
sprite: Clothing/Shoes/Specific/clown.rsi
|
||||||
state: icon
|
state: icon
|
||||||
@@ -83,19 +83,19 @@
|
|||||||
- to: mask
|
- to: mask
|
||||||
steps:
|
steps:
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BananaPeel
|
- tag: BananaPeel
|
||||||
name: a banana peel
|
name: construction-graph-tag-banana-peel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: peel
|
state: peel
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: ClownMask
|
- tag: ClownMask
|
||||||
name: a clown mask
|
name: construction-graph-tag-clown-mask
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Mask/clown.rsi
|
sprite: Clothing/Mask/clown.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -10,37 +10,37 @@
|
|||||||
amount: 5
|
amount: 5
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: SuitEVA
|
- tag: SuitEVA
|
||||||
name: an EVA suit
|
name: construction-graph-tag-eva-suit
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/OuterClothing/Suits/eva.rsi
|
sprite: Clothing/OuterClothing/Suits/eva.rsi
|
||||||
state: icon
|
state: icon
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: HelmetEVA
|
- tag: HelmetEVA
|
||||||
name: an EVA helmet
|
name: construction-graph-tag-eva-helmet
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Head/Helmets/eva.rsi
|
sprite: Clothing/Head/Helmets/eva.rsi
|
||||||
state: icon
|
state: icon
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrayonPurple
|
- tag: CrayonPurple
|
||||||
name: purple crayon
|
name: construction-graph-tag-purple-crayon
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/crayons.rsi
|
sprite: Objects/Fun/crayons.rsi
|
||||||
state: purple
|
state: purple
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrayonRed
|
- tag: CrayonRed
|
||||||
name: red crayon
|
name: construction-graph-tag-red-crayon
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/crayons.rsi
|
sprite: Objects/Fun/crayons.rsi
|
||||||
state: red
|
state: red
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrayonYellow
|
- tag: CrayonYellow
|
||||||
name: yellow crayon
|
name: construction-graph-tag-yellow-crayon
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/crayons.rsi
|
sprite: Objects/Fun/crayons.rsi
|
||||||
state: yellow
|
state: yellow
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: ClownRecorder
|
- tag: ClownRecorder
|
||||||
name: clown recorder
|
name: construction-graph-tag-clown-recorder
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/clownrecorder.rsi
|
sprite: Objects/Fun/clownrecorder.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
- to: shoes
|
- to: shoes
|
||||||
steps:
|
steps:
|
||||||
- tag: ToyRubberDuck
|
- tag: ToyRubberDuck
|
||||||
name: a rubber ducky
|
name: construction-graph-tag-rubber-ducky
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/ducky.rsi
|
sprite: Objects/Fun/ducky.rsi
|
||||||
state: icon
|
state: icon
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: ToyRubberDuck
|
- tag: ToyRubberDuck
|
||||||
name: a rubber ducky
|
name: construction-graph-tag-rubber-ducky
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/ducky.rsi
|
sprite: Objects/Fun/ducky.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
- to: glassesSec
|
- to: glassesSec
|
||||||
steps:
|
steps:
|
||||||
- tag: Sunglasses
|
- tag: Sunglasses
|
||||||
name: sun glasses
|
name: construction-graph-tag-sun-glasses
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
|
sprite: Clothing/Eyes/Glasses/sunglasses.rsi
|
||||||
state: icon
|
state: icon
|
||||||
doAfter: 5
|
doAfter: 5
|
||||||
- tag: HudSecurity
|
- tag: HudSecurity
|
||||||
name: security hud
|
name: construction-graph-tag-security-hud
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Eyes/Hud/sec.rsi
|
sprite: Clothing/Eyes/Hud/sec.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
- to: helmet
|
- to: helmet
|
||||||
steps:
|
steps:
|
||||||
- tag: SecurityHelmet
|
- tag: SecurityHelmet
|
||||||
name: security helmet
|
name: construction-graph-tag-security-helmet
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Head/Helmets/security.rsi
|
sprite: Clothing/Head/Helmets/security.rsi
|
||||||
state: icon
|
state: icon
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
- material: Glass
|
- material: Glass
|
||||||
amount: 1
|
amount: 1
|
||||||
- tag: LightBulb
|
- tag: LightBulb
|
||||||
name: light bulb
|
name: construction-graph-tag-light-bulb
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/light_bulb.rsi
|
sprite: Objects/Power/light_bulb.rsi
|
||||||
state: normal
|
state: normal
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
- to: shoes
|
- to: shoes
|
||||||
steps:
|
steps:
|
||||||
- tag: PlushieLizard #Weh!
|
- tag: PlushieLizard #Weh!
|
||||||
name: lizard plushie
|
name: construction-graph-tag-lizard-plushie
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/toys.rsi
|
sprite: Objects/Fun/toys.rsi
|
||||||
state: plushie_lizard
|
state: plushie_lizard
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: PlushieLizard
|
- tag: PlushieLizard
|
||||||
name: lizard plushie
|
name: construction-graph-tag-lizard-plushie
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/toys.rsi
|
sprite: Objects/Fun/toys.rsi
|
||||||
state: plushie_lizard
|
state: plushie_lizard
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
- to: medsecHud
|
- to: medsecHud
|
||||||
steps:
|
steps:
|
||||||
- tag: HudMedical
|
- tag: HudMedical
|
||||||
name: medical hud
|
name: construction-graph-tag-medical-hud
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Eyes/Hud/med.rsi
|
sprite: Clothing/Eyes/Hud/med.rsi
|
||||||
state: icon
|
state: icon
|
||||||
doAfter: 5
|
doAfter: 5
|
||||||
- tag: HudSecurity
|
- tag: HudSecurity
|
||||||
name: security hud
|
name: construction-graph-tag-security-hud
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Eyes/Hud/sec.rsi
|
sprite: Clothing/Eyes/Hud/sec.rsi
|
||||||
state: icon
|
state: icon
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
amount: 5
|
amount: 5
|
||||||
doAfter: 5
|
doAfter: 5
|
||||||
- tag: Radio
|
- tag: Radio
|
||||||
name: radio
|
name: construction-graph-tag-radio
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Devices/communication.rsi
|
sprite: Objects/Devices/communication.rsi
|
||||||
state: walkietalkie
|
state: walkietalkie
|
||||||
|
|||||||
@@ -10,31 +10,31 @@
|
|||||||
amount: 5
|
amount: 5
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: SuitEVA
|
- tag: SuitEVA
|
||||||
name: an EVA suit
|
name: construction-graph-tag-eva-suit
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/OuterClothing/Suits/eva.rsi
|
sprite: Clothing/OuterClothing/Suits/eva.rsi
|
||||||
state: icon
|
state: icon
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: HelmetEVA
|
- tag: HelmetEVA
|
||||||
name: an EVA helmet
|
name: construction-graph-tag-eva-helmet
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Head/Helmets/eva.rsi
|
sprite: Clothing/Head/Helmets/eva.rsi
|
||||||
state: icon
|
state: icon
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrayonRed
|
- tag: CrayonRed
|
||||||
name: red crayon
|
name: construction-graph-tag-red-crayon
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/crayons.rsi
|
sprite: Objects/Fun/crayons.rsi
|
||||||
state: red
|
state: red
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrayonBlack
|
- tag: CrayonBlack
|
||||||
name: black crayon
|
name: construction-graph-tag-black-crayon
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/crayons.rsi
|
sprite: Objects/Fun/crayons.rsi
|
||||||
state: black
|
state: black
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: MimeBelt
|
- tag: MimeBelt
|
||||||
name: suspenders
|
name: construction-graph-tag-suspenders
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Belt/suspenders_red.rsi
|
sprite: Clothing/Belt/suspenders_red.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
- to: bananiumHorn
|
- to: bananiumHorn
|
||||||
steps:
|
steps:
|
||||||
- tag: Pipe
|
- tag: Pipe
|
||||||
name: pipe
|
name: construction-graph-tag-pipe
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
||||||
state: pipeStraight
|
state: pipeStraight
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
amount: 4
|
amount: 4
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BikeHorn
|
- tag: BikeHorn
|
||||||
name: bike horn
|
name: construction-graph-tag-clown-bike-horn
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/bikehorn.rsi
|
sprite: Objects/Fun/bikehorn.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
- to: lit
|
- to: lit
|
||||||
steps:
|
steps:
|
||||||
- tag: Torch
|
- tag: Torch
|
||||||
|
name: construction-graph-tag-torch
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
|
|
||||||
- node: lit
|
- node: lit
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Species/Human/parts.rsi
|
sprite: Mobs/Species/Human/parts.rsi
|
||||||
state: "head_m"
|
state: "head_m"
|
||||||
name: human head
|
name: construction-graph-tag-human-head
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
|
|
||||||
- node: chairCursed
|
- node: chairCursed
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- component: ComputerBoard
|
- component: ComputerBoard
|
||||||
store: board
|
store: board
|
||||||
name: any computer circuit board
|
name: construction-graph-component-any-computer-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "id_mod"
|
state: "id_mod"
|
||||||
|
|||||||
@@ -16,14 +16,14 @@
|
|||||||
store: part-container
|
store: part-container
|
||||||
|
|
||||||
- component: Flash
|
- component: Flash
|
||||||
name: flash
|
name: construction-graph-component-flash
|
||||||
store: part-container
|
store: part-container
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Weapons/Melee/flash.rsi
|
sprite: Objects/Weapons/Melee/flash.rsi
|
||||||
state: flash
|
state: flash
|
||||||
|
|
||||||
- component: Flash
|
- component: Flash
|
||||||
name: second flash
|
name: construction-graph-component-second-flash
|
||||||
store: part-container
|
store: part-container
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Weapons/Melee/flash.rsi
|
sprite: Objects/Weapons/Melee/flash.rsi
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
data: 4
|
data: 4
|
||||||
|
|
||||||
- tag: HamtrCentralControlModule
|
- tag: HamtrCentralControlModule
|
||||||
name: HAMTR central control module
|
name: construction-graph-tag-hamtr-central-control-module
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "mainboard"
|
state: "mainboard"
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
data: 6
|
data: 6
|
||||||
|
|
||||||
- tag: HamtrPeripheralsControlModule
|
- tag: HamtrPeripheralsControlModule
|
||||||
name: HAMTR peripherals control module
|
name: construction-graph-tag-hamtr-peripherals-control-module
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: id_mod
|
state: id_mod
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
#currently mechs don't support upgrading. add them back in once that's squared away.
|
#currently mechs don't support upgrading. add them back in once that's squared away.
|
||||||
|
|
||||||
- component: PowerCell
|
- component: PowerCell
|
||||||
name: power cell
|
name: construction-graph-component-power-cell
|
||||||
store: battery-container
|
store: battery-container
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/power_cells.rsi
|
sprite: Objects/Power/power_cells.rsi
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
data: 1
|
data: 1
|
||||||
|
|
||||||
- tag: HonkerCentralControlModule
|
- tag: HonkerCentralControlModule
|
||||||
name: H.O.N.K. central control module
|
name: construction-graph-tag-honk-central-control-module
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "mainboard"
|
state: "mainboard"
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
data: 3
|
data: 3
|
||||||
|
|
||||||
- tag: HonkerPeripheralsControlModule
|
- tag: HonkerPeripheralsControlModule
|
||||||
name: H.O.N.K. peripherals control module
|
name: construction-graph-tag-honk-peripherals-control-module
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: id_mod
|
state: id_mod
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
data: 5
|
data: 5
|
||||||
|
|
||||||
- tag: HonkerTargetingControlModule
|
- tag: HonkerTargetingControlModule
|
||||||
name: H.O.N.K. weapon control and targeting module
|
name: construction-graph-tag-honk-weapon-control-and-targeting-module
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: id_mod
|
state: id_mod
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
#currently mechs don't support upgrading. add them back in once that's squared away.
|
#currently mechs don't support upgrading. add them back in once that's squared away.
|
||||||
|
|
||||||
- component: PowerCell
|
- component: PowerCell
|
||||||
name: power cell
|
name: construction-graph-component-power-cell
|
||||||
store: battery-container
|
store: battery-container
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/power_cells.rsi
|
sprite: Objects/Power/power_cells.rsi
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: "Clothing/Mask/clown.rsi"
|
sprite: "Clothing/Mask/clown.rsi"
|
||||||
state: "icon"
|
state: "icon"
|
||||||
name: "a clown's mask"
|
name: construction-graph-tag-clown-mask
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
completed:
|
completed:
|
||||||
- !type:VisualizerDataInt
|
- !type:VisualizerDataInt
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: "Clothing/Shoes/Specific/clown.rsi"
|
sprite: "Clothing/Shoes/Specific/clown.rsi"
|
||||||
state: "icon"
|
state: "icon"
|
||||||
name: "a clown's shoes"
|
name: construction-graph-tag-clown-shoes
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
completed:
|
completed:
|
||||||
- !type:VisualizerDataInt
|
- !type:VisualizerDataInt
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
data: 4
|
data: 4
|
||||||
|
|
||||||
- tag: RipleyCentralControlModule
|
- tag: RipleyCentralControlModule
|
||||||
name: ripley central control module
|
name: construction-graph-tag-ripley-central-control-module
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "mainboard"
|
state: "mainboard"
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
data: 6
|
data: 6
|
||||||
|
|
||||||
- tag: RipleyPeripheralsControlModule
|
- tag: RipleyPeripheralsControlModule
|
||||||
name: ripley peripherals control module
|
name: construction-graph-tag-ripley-peripherals-control-module
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: id_mod
|
state: id_mod
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
#currently mechs don't support upgrading. add them back in once that's squared away.
|
#currently mechs don't support upgrading. add them back in once that's squared away.
|
||||||
|
|
||||||
- component: PowerCell
|
- component: PowerCell
|
||||||
name: power cell
|
name: construction-graph-component-power-cell
|
||||||
store: battery-container
|
store: battery-container
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/power_cells.rsi
|
sprite: Objects/Power/power_cells.rsi
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
- to: vim
|
- to: vim
|
||||||
steps:
|
steps:
|
||||||
- tag: VoiceTrigger
|
- tag: VoiceTrigger
|
||||||
name: a voice trigger
|
name: construction-graph-tag-voice-trigger
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Devices/voice.rsi"
|
sprite: "Objects/Devices/voice.rsi"
|
||||||
state: "voice"
|
state: "voice"
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
key: "enum.MechAssemblyVisuals.State"
|
key: "enum.MechAssemblyVisuals.State"
|
||||||
data: 1
|
data: 1
|
||||||
- component: PowerCell
|
- component: PowerCell
|
||||||
name: a power cell
|
name: construction-graph-component-power-cell
|
||||||
store: battery-container
|
store: battery-container
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/power_cells.rsi
|
sprite: Objects/Power/power_cells.rsi
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- component: DoorElectronics
|
- component: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-component-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: DoorElectronics
|
- tag: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-tag-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: DoorElectronics
|
- tag: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: door electronics
|
name: construction-graph-tag-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Structures/conveyor.rsi
|
sprite: Structures/conveyor.rsi
|
||||||
state: conveyor_loose
|
state: conveyor_loose
|
||||||
name: conveyor belt assembly
|
name: construction-graph-tag-conveyor-belt-assembly
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- node: item
|
- node: item
|
||||||
entity: ConveyorBeltAssembly
|
entity: ConveyorBeltAssembly
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: FirelockElectronics
|
- tag: FirelockElectronics
|
||||||
store: board
|
store: board
|
||||||
name: firelock electronics
|
name: construction-graph-tag-firelock-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "mainboard"
|
state: "mainboard"
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
- !type:EntityAnchored
|
- !type:EntityAnchored
|
||||||
steps:
|
steps:
|
||||||
- tag: SignalTrigger
|
- tag: SignalTrigger
|
||||||
name: a signal trigger
|
name: construction-graph-tag-signal-trigger
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Devices/signaltrigger.rsi
|
sprite: Objects/Devices/signaltrigger.rsi
|
||||||
state: signaltrigger
|
state: signaltrigger
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
- to: electronics
|
- to: electronics
|
||||||
steps:
|
steps:
|
||||||
- component: PowerCell
|
- component: PowerCell
|
||||||
name: power cell
|
name: construction-graph-component-power-cell
|
||||||
store: battery-container
|
store: battery-container
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/power_cells.rsi
|
sprite: Objects/Power/power_cells.rsi
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
steps:
|
steps:
|
||||||
- component: DoorElectronics
|
- component: DoorElectronics
|
||||||
name: door electronics
|
name: construction-graph-component-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- component: DoorElectronics
|
- component: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-component-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- component: DoorElectronics
|
- component: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-component-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: DoorElectronics
|
- tag: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-tag-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: DoorElectronics
|
- tag: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-tag-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
@@ -379,7 +379,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- component: DoorElectronics
|
- component: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-component-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
@@ -491,7 +491,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: DoorElectronics
|
- tag: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-tag-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
@@ -566,7 +566,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: DoorElectronics
|
- tag: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-tag-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
@@ -644,7 +644,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: DoorElectronics
|
- tag: DoorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "door electronics circuit board"
|
name: construction-graph-tag-door-electronics-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics"
|
state: "door_electronics"
|
||||||
|
|||||||
@@ -40,12 +40,17 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/multitool.rsi
|
sprite: Objects/Tools/multitool.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: a multitool
|
name: construction-graph-tag-multitool
|
||||||
- material: Cable
|
- material: Cable
|
||||||
amount: 2
|
amount: 2
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- to: memory_cell
|
- to: memory_cell
|
||||||
steps:
|
steps:
|
||||||
|
- tag: CapacitorStockPart
|
||||||
|
icon:
|
||||||
|
sprite: Objects/Misc/stock_parts.rsi
|
||||||
|
state: capacitor
|
||||||
|
name: construction-graph-tag-capacitor
|
||||||
- material: Capacitor
|
- material: Capacitor
|
||||||
amount: 1
|
amount: 1
|
||||||
- material: Cable
|
- material: Cable
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
- to: apc
|
- to: apc
|
||||||
steps:
|
steps:
|
||||||
- component: ApcElectronics
|
- component: ApcElectronics
|
||||||
name: "APC electronics"
|
name: construction-graph-component-apc-electronics
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- to: start
|
- to: start
|
||||||
completed:
|
completed:
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: AirAlarmElectronics
|
- tag: AirAlarmElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "air alarm electronics"
|
name: construction-graph-tag-air-alarm-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics" # /tg/ uses the same sprite, right?
|
state: "door_electronics" # /tg/ uses the same sprite, right?
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: FireAlarmElectronics
|
- tag: FireAlarmElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "fire alarm electronics"
|
name: construction-graph-tag-fire-alarm-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics" # /tg/ uses the same sprite, right?
|
state: "door_electronics" # /tg/ uses the same sprite, right?
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
- to: frame_mailing
|
- to: frame_mailing
|
||||||
steps:
|
steps:
|
||||||
- tag: MailingUnitElectronics
|
- tag: MailingUnitElectronics
|
||||||
name: mailing unit electronics
|
name: construction-graph-tag-mailing-unit-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "net_wired"
|
state: "net_wired"
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: IntercomElectronics
|
- tag: IntercomElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "intercom electronics"
|
name: construction-graph-tag-intercom-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "id_mod"
|
state: "id_mod"
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalCyan
|
- tag: CrystalCyan
|
||||||
name: cyan crystal shard
|
name: construction-graph-tag-cyan-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalBlue
|
- tag: CrystalBlue
|
||||||
name: blue crystal shard
|
name: construction-graph-tag-blue-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalYellow
|
- tag: CrystalYellow
|
||||||
name: yellow crystal shard
|
name: construction-graph-tag-yellow-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalPink
|
- tag: CrystalPink
|
||||||
name: pink crystal shard
|
name: construction-graph-tag-pink-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalOrange
|
- tag: CrystalOrange
|
||||||
name: orange crystal shard
|
name: construction-graph-tag-orange-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalBlack
|
- tag: CrystalBlack
|
||||||
name: black crystal shard
|
name: construction-graph-tag-black-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalRed
|
- tag: CrystalRed
|
||||||
name: red crystal shard
|
name: construction-graph-tag-red-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalGreen
|
- tag: CrystalGreen
|
||||||
name: green crystal shard
|
name: construction-graph-tag-green-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -171,7 +171,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalCyan
|
- tag: CrystalCyan
|
||||||
name: cyan crystal shard
|
name: construction-graph-tag-cyan-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -192,7 +192,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalBlue
|
- tag: CrystalBlue
|
||||||
name: blue crystal shard
|
name: construction-graph-tag-blue-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -212,7 +212,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalYellow
|
- tag: CrystalYellow
|
||||||
name: yellow crystal shard
|
name: construction-graph-tag-yellow-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalPink
|
- tag: CrystalPink
|
||||||
name: pink crystal shard
|
name: construction-graph-tag-pink-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -252,7 +252,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalOrange
|
- tag: CrystalOrange
|
||||||
name: orange crystal shard
|
name: construction-graph-tag-orange-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -272,7 +272,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalBlack
|
- tag: CrystalBlack
|
||||||
name: black crystal shard
|
name: construction-graph-tag-black-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -292,7 +292,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalRed
|
- tag: CrystalRed
|
||||||
name: red crystal shard
|
name: construction-graph-tag-red-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -312,7 +312,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: CrystalGreen
|
- tag: CrystalGreen
|
||||||
name: green crystal shard
|
name: construction-graph-tag-green-crystal-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/crystal.rsi
|
sprite: Objects/Materials/Shards/crystal.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
- to: solarassembly
|
- to: solarassembly
|
||||||
steps:
|
steps:
|
||||||
- tag: SolarAssemblyFlatpack
|
- tag: SolarAssemblyFlatpack
|
||||||
name: solar assembly parts
|
name: construction-graph-tag-solar-assembly-parts
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Devices/flatpack.rsi
|
sprite: Objects/Devices/flatpack.rsi
|
||||||
state: solar-assembly-part
|
state: solar-assembly-part
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
- !type:EntityAnchored
|
- !type:EntityAnchored
|
||||||
steps:
|
steps:
|
||||||
- tag: SolarTrackerElectronics
|
- tag: SolarTrackerElectronics
|
||||||
name: solar tracker electronics
|
name: construction-graph-tag-solar-tracker-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/module.rsi
|
sprite: Objects/Misc/module.rsi
|
||||||
state: engineering
|
state: engineering
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: StationMapElectronics
|
- tag: StationMapElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "station map electronics"
|
name: construction-graph-tag-station-map-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "door_electronics" # /tg/ uses the same sprite, right?
|
state: "door_electronics" # /tg/ uses the same sprite, right?
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: TimerSignalElectronics
|
- tag: TimerSignalElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "signal timer electronics"
|
name: construction-graph-tag-signal-timer-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "charger_APC"
|
state: "charger_APC"
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: TimerScreenElectronics
|
- tag: TimerScreenElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "screen timer electronics"
|
name: construction-graph-tag-screen-timer-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "charger_APC"
|
state: "charger_APC"
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: TimerBrigElectronics
|
- tag: TimerBrigElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "brig timer electronics"
|
name: construction-graph-tag-brig-timer-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "charger_APC"
|
state: "charger_APC"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: WallmountGeneratorElectronics
|
- tag: WallmountGeneratorElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "wallmount generator circuit board"
|
name: construction-graph-tag-wallmount-generator-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "charger_APC"
|
state: "charger_APC"
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: WallmountGeneratorAPUElectronics
|
- tag: WallmountGeneratorAPUElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "wallmount APU circuit board"
|
name: construction-graph-tag-wallmount-apu-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "charger_APC"
|
state: "charger_APC"
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: WallmountSubstationElectronics
|
- tag: WallmountSubstationElectronics
|
||||||
store: board
|
store: board
|
||||||
name: "wallmount substation circuit board"
|
name: construction-graph-tag-wallmount-substation-circuit-board
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Misc/module.rsi"
|
sprite: "Objects/Misc/module.rsi"
|
||||||
state: "charger_APC"
|
state: "charger_APC"
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
- PowerCell
|
- PowerCell
|
||||||
- PowerCellSmall
|
- PowerCellSmall
|
||||||
store: powercell
|
store: powercell
|
||||||
name: a powercell
|
name: construction-graph-tag-power-cell
|
||||||
icon:
|
icon:
|
||||||
sprite: "Objects/Power/power_cells.rsi"
|
sprite: "Objects/Power/power_cells.rsi"
|
||||||
state: "medium"
|
state: "medium"
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
- tool: Screwing
|
- tool: Screwing
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: SurveillanceCameraMonitorCircuitboard
|
- tag: SurveillanceCameraMonitorCircuitboard
|
||||||
name: surveillance camera monitor board
|
name: construction-graph-tag-surveillance-camera-monitor-board
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/module.rsi
|
sprite: Objects/Misc/module.rsi
|
||||||
state: cpuboard
|
state: cpuboard
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
- tool: Screwing
|
- tool: Screwing
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: ComputerTelevisionCircuitboard
|
- tag: ComputerTelevisionCircuitboard
|
||||||
name: television board
|
name: construction-graph-tag-television-board
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/module.rsi
|
sprite: Objects/Misc/module.rsi
|
||||||
state: cpuboard
|
state: cpuboard
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
- to: icon
|
- to: icon
|
||||||
steps:
|
steps:
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: a glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BrimFlatcapGrey
|
- tag: BrimFlatcapGrey
|
||||||
name: a grey flatcap
|
name: construction-graph-tag-grey-flatcap
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Head/Hats/greyflatcap.rsi
|
sprite: Clothing/Head/Hats/greyflatcap.rsi
|
||||||
state: icon
|
state: icon
|
||||||
@@ -29,13 +29,13 @@
|
|||||||
- to: icon
|
- to: icon
|
||||||
steps:
|
steps:
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: a glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: BrimFlatcapBrown
|
- tag: BrimFlatcapBrown
|
||||||
name: a brown flatcap
|
name: construction-graph-tag-brown-flatcap
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Head/Hats/brownflatcap.rsi
|
sprite: Clothing/Head/Hats/brownflatcap.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
sprite: Objects/Misc/cablecuffs.rsi
|
sprite: Objects/Misc/cablecuffs.rsi
|
||||||
state: cuff
|
state: cuff
|
||||||
color: red
|
color: red
|
||||||
name: cuffs
|
name: construction-graph-tag-cuffs
|
||||||
- material: Steel
|
- material: Steel
|
||||||
amount: 6
|
amount: 6
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: PlasmaGlassShard
|
- tag: PlasmaGlassShard
|
||||||
name: plasma glass shard
|
name: construction-graph-tag-plasma-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: UraniumGlassShard
|
- tag: UraniumGlassShard
|
||||||
name: uranium glass shard
|
name: construction-graph-tag-uranium-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
|
|||||||
@@ -48,13 +48,13 @@
|
|||||||
steps:
|
steps:
|
||||||
- component: PayloadTrigger
|
- component: PayloadTrigger
|
||||||
store: payloadTrigger
|
store: payloadTrigger
|
||||||
name: trigger
|
name: construction-graph-component-payload-trigger
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- to: caseWithPayload
|
- to: caseWithPayload
|
||||||
steps:
|
steps:
|
||||||
- tag: Payload
|
- tag: Payload
|
||||||
store: payload
|
store: payload
|
||||||
name: payload
|
name: construction-graph-tag-payload
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
|
|
||||||
- node: caseWithTrigger
|
- node: caseWithTrigger
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: Payload
|
- tag: Payload
|
||||||
store: payload
|
store: payload
|
||||||
name: payload
|
name: construction-graph-tag-payload
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
|
|
||||||
- node: caseWithPayload
|
- node: caseWithPayload
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- component: PayloadTrigger
|
- component: PayloadTrigger
|
||||||
store: payloadTrigger
|
store: payloadTrigger
|
||||||
name: trigger
|
name: construction-graph-component-payload-trigger
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
|
|
||||||
- node: grenade
|
- node: grenade
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
- to: start
|
- to: start
|
||||||
completed:
|
completed:
|
||||||
- !type:SpawnPrototype
|
- !type:SpawnPrototype
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
steps:
|
steps:
|
||||||
- tag: Payload
|
- tag: Payload
|
||||||
store: payload
|
store: payload
|
||||||
name: payload
|
name: construction-graph-tag-payload
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
|
|
||||||
- node: mine
|
- node: mine
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
impact: High
|
impact: High
|
||||||
steps:
|
steps:
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
impact: High
|
impact: High
|
||||||
steps:
|
steps:
|
||||||
- tag: ReinforcedGlassShard
|
- tag: ReinforcedGlassShard
|
||||||
name: reinforced glass shard
|
name: construction-graph-tag-reinforced-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
impact: High
|
impact: High
|
||||||
steps:
|
steps:
|
||||||
- tag: PlasmaGlassShard
|
- tag: PlasmaGlassShard
|
||||||
name: plasma glass shard
|
name: construction-graph-tag-plasma-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
impact: High
|
impact: High
|
||||||
steps:
|
steps:
|
||||||
- tag: UraniumGlassShard
|
- tag: UraniumGlassShard
|
||||||
name: uranium glass shard
|
name: construction-graph-tag-uranium-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
amount: 3
|
amount: 3
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
amount: 3
|
amount: 3
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: ReinforcedGlassShard
|
- tag: ReinforcedGlassShard
|
||||||
name: reinforced glass shard
|
name: construction-graph-tag-reinforced-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
amount: 3
|
amount: 3
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: PlasmaGlassShard
|
- tag: PlasmaGlassShard
|
||||||
name: plasma glass shard
|
name: construction-graph-tag-plasma-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
amount: 3
|
amount: 3
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: UraniumGlassShard
|
- tag: UraniumGlassShard
|
||||||
name: uranium glass shard
|
name: construction-graph-tag-uranium-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
- to: upgraded
|
- to: upgraded
|
||||||
steps:
|
steps:
|
||||||
- tag: WeaponPistolCHIMPUpgradeKit
|
- tag: WeaponPistolCHIMPUpgradeKit
|
||||||
|
name: construction-graph-tag-weapon-pistol-chimp-upgrade-kit
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
|
|
||||||
- node: upgraded
|
- node: upgraded
|
||||||
|
|||||||
@@ -1,142 +1,103 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: clown hardsuit
|
|
||||||
id: ClownHardsuit
|
id: ClownHardsuit
|
||||||
graph: ClownHardsuit
|
graph: ClownHardsuit
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: clownHardsuit
|
targetNode: clownHardsuit
|
||||||
category: construction-category-clothing
|
category: construction-category-clothing
|
||||||
description: A modified hardsuit fit for a clown.
|
|
||||||
icon: { sprite: Clothing/OuterClothing/Hardsuits/clown.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: mime hardsuit
|
|
||||||
id: MimeHardsuit
|
id: MimeHardsuit
|
||||||
graph: MimeHardsuit
|
graph: MimeHardsuit
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: mimeHardsuit
|
targetNode: mimeHardsuit
|
||||||
category: construction-category-clothing
|
category: construction-category-clothing
|
||||||
description: A modified hardsuit fit for a mime.
|
|
||||||
icon: { sprite: Clothing/OuterClothing/Hardsuits/mime.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: bone armor
|
|
||||||
id: BoneArmor
|
id: BoneArmor
|
||||||
graph: BoneArmor
|
graph: BoneArmor
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: armor
|
targetNode: armor
|
||||||
category: construction-category-clothing
|
category: construction-category-clothing
|
||||||
description: Armor made of bones.
|
|
||||||
icon: { sprite: Clothing/OuterClothing/Armor/bone_armor.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: bone helmet
|
|
||||||
id: BoneHelmet
|
id: BoneHelmet
|
||||||
graph: BoneHelmet
|
graph: BoneHelmet
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: helmet
|
targetNode: helmet
|
||||||
category: construction-category-clothing
|
category: construction-category-clothing
|
||||||
description: Helmet made of bones.
|
|
||||||
icon: { sprite: Clothing/Head/Helmets/bone_helmet.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: banana clown mask
|
|
||||||
id: BananaClownMask
|
id: BananaClownMask
|
||||||
graph: BananaClownMask
|
graph: BananaClownMask
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: mask
|
targetNode: mask
|
||||||
category: construction-category-clothing
|
category: construction-category-clothing
|
||||||
description: A clown mask upgraded with banana peels.
|
|
||||||
icon: { sprite: Clothing/Mask/clown_banana.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: banana clown suit
|
|
||||||
id: BananaClownJumpsuit
|
id: BananaClownJumpsuit
|
||||||
graph: BananaClownJumpsuit
|
graph: BananaClownJumpsuit
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: jumpsuit
|
targetNode: jumpsuit
|
||||||
category: construction-category-clothing
|
category: construction-category-clothing
|
||||||
description: A clown suit upgraded with banana peels.
|
|
||||||
icon: { sprite: Clothing/Uniforms/Jumpsuit/clown_banana.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: banana clown shoes
|
|
||||||
id: BananaClownShoes
|
id: BananaClownShoes
|
||||||
graph: BananaClownShoes
|
graph: BananaClownShoes
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: shoes
|
targetNode: shoes
|
||||||
category: construction-category-clothing
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: medsec hud
|
|
||||||
id: ClothingEyesHudMedSec
|
id: ClothingEyesHudMedSec
|
||||||
graph: HudMedSec
|
graph: HudMedSec
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: medsecHud
|
targetNode: medsecHud
|
||||||
category: construction-category-clothing
|
category: construction-category-clothing
|
||||||
description: Two huds joined by arms
|
|
||||||
icon: { sprite: Clothing/Eyes/Hud/medsec.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: ducky slippers
|
|
||||||
id: ClothingShoeSlippersDuck
|
id: ClothingShoeSlippersDuck
|
||||||
graph: ClothingShoeSlippersDuck
|
graph: ClothingShoeSlippersDuck
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: shoes
|
targetNode: shoes
|
||||||
category: construction-category-clothing
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: lizard plushie slippers
|
|
||||||
id: ClothingShoeSlippersLizard
|
id: ClothingShoeSlippersLizard
|
||||||
graph: ClothingShoeSlippersLizard
|
graph: ClothingShoeSlippersLizard
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: shoes
|
targetNode: shoes
|
||||||
category: construction-category-clothing
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: security glasses
|
|
||||||
id: ClothingEyesGlassesSecurity
|
id: ClothingEyesGlassesSecurity
|
||||||
graph: GlassesSecHUD
|
graph: GlassesSecHUD
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: glassesSec
|
targetNode: glassesSec
|
||||||
category: construction-category-clothing
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: quiver
|
|
||||||
id: ClothingBeltQuiver
|
id: ClothingBeltQuiver
|
||||||
graph: Quiver
|
graph: Quiver
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: Quiver
|
targetNode: Quiver
|
||||||
category: construction-category-clothing
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: justice helm
|
|
||||||
id: ClothingHeadHelmetJustice
|
id: ClothingHeadHelmetJustice
|
||||||
graph: HelmetJustice
|
graph: HelmetJustice
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: helmet
|
targetNode: helmet
|
||||||
category: construction-category-clothing
|
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
|
- type: construction
|
||||||
name: bananium horn
|
|
||||||
id: HornBananium
|
id: HornBananium
|
||||||
graph: BananiumHorn
|
graph: BananiumHorn
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: bananiumHorn
|
targetNode: bananiumHorn
|
||||||
category: construction-category-weapons
|
category: construction-category-weapons
|
||||||
description: An air horn made from bananium.
|
|
||||||
icon: { sprite: Objects/Fun/bananiumhorn.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
#chairs
|
#chairs
|
||||||
- type: construction
|
- type: construction
|
||||||
name: chair
|
|
||||||
id: Chair
|
id: Chair
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chair
|
targetNode: chair
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: You sit in this. Either by will or force.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: chair
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -17,16 +12,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: stool
|
|
||||||
id: Stool
|
id: Stool
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: stool
|
targetNode: stool
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: You sit in this. Either by will or force.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: stool
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -34,16 +24,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: bar stool
|
|
||||||
id: StoolBar
|
id: StoolBar
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: stoolBar
|
targetNode: stoolBar
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: You sit in this. Either by will or force.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: bar
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -51,16 +36,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: brass chair
|
|
||||||
id: ChairBrass
|
id: ChairBrass
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairBrass
|
targetNode: chairBrass
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -68,16 +48,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: office chair
|
|
||||||
id: ChairOfficeLight
|
id: ChairOfficeLight
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairOffice
|
targetNode: chairOffice
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -85,16 +60,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: dark office chair
|
|
||||||
id: ChairOfficeDark
|
id: ChairOfficeDark
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairOfficeDark
|
targetNode: chairOfficeDark
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -102,16 +72,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: comfy chair
|
|
||||||
id: ChairComfy
|
id: ChairComfy
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairComfy
|
targetNode: chairComfy
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: It looks comfy.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: comfy
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -119,16 +84,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: pilots chair
|
|
||||||
id: chairPilotSeat
|
id: chairPilotSeat
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairPilotSeat
|
targetNode: chairPilotSeat
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: Fit for a captain.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: shuttle
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -136,16 +96,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wooden chair
|
|
||||||
id: ChairWood
|
id: ChairWood
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairWood
|
targetNode: chairWood
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: You sit in this. Either by will or force.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: wooden
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -153,16 +108,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: meat chair
|
|
||||||
id: ChairMeat
|
id: ChairMeat
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairMeat
|
targetNode: chairMeat
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: Uncomfortably sweaty.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: meat
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -170,16 +120,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: ritual chair
|
|
||||||
id: ChairRitual
|
id: ChairRitual
|
||||||
graph: RitualSeat
|
graph: RitualSeat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairRitual
|
targetNode: chairRitual
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A strangely carved chair.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/chairs.rsi
|
|
||||||
state: ritual
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -187,16 +132,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: folding chair
|
|
||||||
id: ChairFolding
|
id: ChairFolding
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairFolding
|
targetNode: chairFolding
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: An easy to carry chair.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/folding_chair.rsi
|
|
||||||
state: folding
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -204,16 +144,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: steel bench
|
|
||||||
id: ChairSteelBench
|
id: ChairSteelBench
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairSteelBench
|
targetNode: chairSteelBench
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -221,16 +156,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wooden bench
|
|
||||||
id: ChairWoodBench
|
id: ChairWoodBench
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chairWoodBench
|
targetNode: chairWoodBench
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -238,16 +168,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: comfortable red bench
|
|
||||||
id: RedComfBench
|
id: RedComfBench
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: redComfBench
|
targetNode: redComfBench
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A bench with an extremely comfortable backrest.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Bench/comf_bench.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -255,16 +180,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: comfortable blue bench
|
|
||||||
id: BlueComfBench
|
id: BlueComfBench
|
||||||
graph: Seat
|
graph: Seat
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: blueComfBench
|
targetNode: blueComfBench
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A bench with an extremely comfortable backrest.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Bench/comf_bench.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -273,16 +193,11 @@
|
|||||||
|
|
||||||
#tables
|
#tables
|
||||||
- type: construction
|
- type: construction
|
||||||
name: steel table
|
|
||||||
id: Table
|
id: Table
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: Table
|
targetNode: Table
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -290,16 +205,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced steel table
|
|
||||||
id: TableReinforced
|
id: TableReinforced
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableReinforced
|
targetNode: TableReinforced
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -307,16 +217,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: glass table
|
|
||||||
id: TableGlass
|
id: TableGlass
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableGlass
|
targetNode: TableGlass
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -324,16 +229,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced glass table
|
|
||||||
id: TableReinforcedGlass
|
id: TableReinforcedGlass
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableReinforcedGlass
|
targetNode: TableReinforcedGlass
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -341,16 +241,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: plasma glass table
|
|
||||||
id: TablePlasmaGlass
|
id: TablePlasmaGlass
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TablePlasmaGlass
|
targetNode: TablePlasmaGlass
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -358,16 +253,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: brass table
|
|
||||||
id: TableBrass
|
id: TableBrass
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableBrass
|
targetNode: TableBrass
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A shiny, corrosion resistant brass table. Steampunk!
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/brass.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -375,16 +265,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wood table
|
|
||||||
id: TableWood
|
id: TableWood
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableWood
|
targetNode: TableWood
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -392,16 +277,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: poker table
|
|
||||||
id: TableCarpet
|
id: TableCarpet
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableCarpet
|
targetNode: TableCarpet
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -409,16 +289,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy black table
|
|
||||||
id: TableFancyBlack
|
id: TableFancyBlack
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyBlack
|
targetNode: TableFancyBlack
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/black.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -426,16 +301,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy blue table
|
|
||||||
id: TableFancyBlue
|
id: TableFancyBlue
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyBlue
|
targetNode: TableFancyBlue
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/blue.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -443,16 +313,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy cyan table
|
|
||||||
id: TableFancyCyan
|
id: TableFancyCyan
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyCyan
|
targetNode: TableFancyCyan
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/cyan.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -460,16 +325,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy green table
|
|
||||||
id: TableFancyGreen
|
id: TableFancyGreen
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyGreen
|
targetNode: TableFancyGreen
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/green.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -477,16 +337,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy orange table
|
|
||||||
id: TableFancyOrange
|
id: TableFancyOrange
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyOrange
|
targetNode: TableFancyOrange
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/orange.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -494,16 +349,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy purple table
|
|
||||||
id: TableFancyPurple
|
id: TableFancyPurple
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyPurple
|
targetNode: TableFancyPurple
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/purple.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -511,16 +361,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy pink table
|
|
||||||
id: TableFancyPink
|
id: TableFancyPink
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyPink
|
targetNode: TableFancyPink
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/pink.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -528,16 +373,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy red table
|
|
||||||
id: TableFancyRed
|
id: TableFancyRed
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyRed
|
targetNode: TableFancyRed
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/red.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -545,16 +385,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fancy white table
|
|
||||||
id: TableFancyWhite
|
id: TableFancyWhite
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: TableFancyWhite
|
targetNode: TableFancyWhite
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A table covered with a beautiful cloth.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/Fancy/white.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -562,16 +397,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: metal counter
|
|
||||||
id: TableCounterMetal
|
id: TableCounterMetal
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CounterMetal
|
targetNode: CounterMetal
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -579,16 +409,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wood counter
|
|
||||||
id: TableCounterWood
|
id: TableCounterWood
|
||||||
graph: Table
|
graph: Table
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CounterWood
|
targetNode: CounterWood
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -597,16 +422,11 @@
|
|||||||
|
|
||||||
#bathroom
|
#bathroom
|
||||||
- type: construction
|
- type: construction
|
||||||
name: toilet
|
|
||||||
id: ToiletEmpty
|
id: ToiletEmpty
|
||||||
graph: Toilet
|
graph: Toilet
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: toilet
|
targetNode: toilet
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: A human excrement flushing apparatus.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/toilet.rsi
|
|
||||||
state: disposal
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -616,15 +436,10 @@
|
|||||||
#bedroom
|
#bedroom
|
||||||
- type: construction
|
- type: construction
|
||||||
id: Bed
|
id: Bed
|
||||||
name: bed
|
|
||||||
description: This is used to lie in, sleep in or strap on. Resting here provides extremely slow healing.
|
|
||||||
graph: bed
|
graph: bed
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: bed
|
targetNode: bed
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
|
||||||
state: bed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -633,15 +448,10 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: MedicalBed
|
id: MedicalBed
|
||||||
name: medical bed
|
|
||||||
description: A hospital bed for patients to recover in. Resting here provides fairly slow healing.
|
|
||||||
graph: bed
|
graph: bed
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: medicalbed
|
targetNode: medicalbed
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
|
||||||
state: bed-MED
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -650,15 +460,10 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: DogBed
|
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
|
graph: bed
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: dogbed
|
targetNode: dogbed
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
|
||||||
state: dogbed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -667,15 +472,10 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: Dresser
|
id: Dresser
|
||||||
name: dresser
|
|
||||||
description: Wooden dresser, can store things inside itself.
|
|
||||||
graph: Dresser
|
graph: Dresser
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: dresser
|
targetNode: dresser
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
|
||||||
state: dresser
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -685,15 +485,10 @@
|
|||||||
#racks
|
#racks
|
||||||
- type: construction
|
- type: construction
|
||||||
id: Rack
|
id: Rack
|
||||||
name: rack
|
|
||||||
description: A rack for storing things on.
|
|
||||||
graph: Rack
|
graph: Rack
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: Rack
|
targetNode: Rack
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
|
||||||
state: rack
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -703,15 +498,10 @@
|
|||||||
#misc
|
#misc
|
||||||
- type: construction
|
- type: construction
|
||||||
id: MeatSpike
|
id: MeatSpike
|
||||||
name: meat spike
|
|
||||||
description: A spike found in kitchens butchering animals.
|
|
||||||
graph: MeatSpike
|
graph: MeatSpike
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: MeatSpike
|
targetNode: MeatSpike
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/meat_spike.rsi
|
|
||||||
state: spike
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -720,165 +510,110 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: Curtains
|
id: Curtains
|
||||||
name: curtains
|
|
||||||
description: Contains less than 1% mercury.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: Curtains
|
targetNode: Curtains
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/hospital.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsBlack
|
id: CurtainsBlack
|
||||||
name: black curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsBlack
|
targetNode: CurtainsBlack
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/black.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsBlue
|
id: CurtainsBlue
|
||||||
name: blue curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsBlue
|
targetNode: CurtainsBlue
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/blue.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsCyan
|
id: CurtainsCyan
|
||||||
name: cyan curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsCyan
|
targetNode: CurtainsCyan
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/cyan.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsGreen
|
id: CurtainsGreen
|
||||||
name: green curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsGreen
|
targetNode: CurtainsGreen
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/green.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsOrange
|
id: CurtainsOrange
|
||||||
name: orange curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsOrange
|
targetNode: CurtainsOrange
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/orange.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsPink
|
id: CurtainsPink
|
||||||
name: pink curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsPink
|
targetNode: CurtainsPink
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/pink.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsPurple
|
id: CurtainsPurple
|
||||||
name: purple curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsPurple
|
targetNode: CurtainsPurple
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/purple.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsRed
|
id: CurtainsRed
|
||||||
name: red curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsRed
|
targetNode: CurtainsRed
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/red.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: CurtainsWhite
|
id: CurtainsWhite
|
||||||
name: white curtains
|
|
||||||
description: Hides what others shouldn't see.
|
|
||||||
graph: Curtains
|
graph: Curtains
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: CurtainsWhite
|
targetNode: CurtainsWhite
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/Curtains/white.rsi
|
|
||||||
state: closed
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: Bookshelf
|
id: Bookshelf
|
||||||
name: bookshelf
|
|
||||||
description: Mostly filled with books.
|
|
||||||
graph: Bookshelf
|
graph: Bookshelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: bookshelf
|
targetNode: bookshelf
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/bookshelf.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -887,15 +622,10 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: NoticeBoard
|
id: NoticeBoard
|
||||||
name: notice board
|
|
||||||
description: Wooden notice board, can store paper inside itself.
|
|
||||||
graph: NoticeBoard
|
graph: NoticeBoard
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: noticeBoard
|
targetNode: noticeBoard
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/noticeboard.rsi
|
|
||||||
state: noticeboard
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -905,15 +635,10 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: Mannequin
|
id: Mannequin
|
||||||
name: mannequin
|
|
||||||
description: Wooden mannequin designed for clothing displaying
|
|
||||||
graph: Mannequin
|
graph: Mannequin
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: mannequin
|
targetNode: mannequin
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
icon:
|
|
||||||
sprite: Structures/Decoration/mannequin.rsi
|
|
||||||
state: mannequin
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
canRotate: true
|
||||||
|
|||||||
@@ -1,175 +1,127 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: cyan light tube
|
|
||||||
id: CyanLight
|
id: CyanLight
|
||||||
graph: CyanLight
|
graph: CyanLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: blue light tube
|
|
||||||
id: BlueLight
|
id: BlueLight
|
||||||
graph: BlueLight
|
graph: BlueLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: yellow light tube
|
|
||||||
id: YellowLight
|
id: YellowLight
|
||||||
graph: YellowLight
|
graph: YellowLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: pink light tube
|
|
||||||
id: PinkLight
|
id: PinkLight
|
||||||
graph: PinkLight
|
graph: PinkLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: orange light tube
|
|
||||||
id: OrangeLight
|
id: OrangeLight
|
||||||
graph: OrangeLight
|
graph: OrangeLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: black light tube
|
|
||||||
id: BlackLight
|
id: BlackLight
|
||||||
graph: BlackLight
|
graph: BlackLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: red light tube
|
|
||||||
id: RedLight
|
id: RedLight
|
||||||
graph: RedLight
|
graph: RedLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: green light tube
|
|
||||||
id: GreenLight
|
id: GreenLight
|
||||||
graph: GreenLight
|
graph: GreenLight
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: cyan light bulb
|
|
||||||
id: CyanLightBulb
|
id: CyanLightBulb
|
||||||
graph: CyanLightBulb
|
graph: CyanLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: blue light bulb
|
|
||||||
id: BlueLightBulb
|
id: BlueLightBulb
|
||||||
graph: BlueLightBulb
|
graph: BlueLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: yellow light bulb
|
|
||||||
id: YellowLightBulb
|
id: YellowLightBulb
|
||||||
graph: YellowLightBulb
|
graph: YellowLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: pink light bulb
|
|
||||||
id: PinkLightBulb
|
id: PinkLightBulb
|
||||||
graph: PinkLightBulb
|
graph: PinkLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: orange light bulb
|
|
||||||
id: OrangeLightBulb
|
id: OrangeLightBulb
|
||||||
graph: OrangeLightBulb
|
graph: OrangeLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: black light bulb
|
|
||||||
id: BlackLightBulb
|
id: BlackLightBulb
|
||||||
graph: BlackLightBulb
|
graph: BlackLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: red light bulb
|
|
||||||
id: RedLightBulb
|
id: RedLightBulb
|
||||||
graph: RedLightBulb
|
graph: RedLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: green light bulb
|
|
||||||
id: GreenLightBulb
|
id: GreenLightBulb
|
||||||
graph: GreenLightBulb
|
graph: GreenLightBulb
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-utilities
|
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
|
objectType: Item
|
||||||
|
|||||||
@@ -1,20 +1,13 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: computer
|
|
||||||
id: Computer
|
id: Computer
|
||||||
graph: Computer
|
graph: Computer
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: computer
|
targetNode: computer
|
||||||
category: construction-category-machines
|
category: construction-category-machines
|
||||||
description: A frame used to construct anything with a computer circuitboard.
|
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Machines/parts.rsi
|
|
||||||
state: 4
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: machine frame
|
|
||||||
description: A machine under construction. Needs more parts.
|
|
||||||
id: MachineFrame
|
id: MachineFrame
|
||||||
graph: Machine
|
graph: Machine
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -22,38 +15,25 @@
|
|||||||
category: construction-category-machines
|
category: construction-category-machines
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Machines/parts.rsi
|
|
||||||
state: "box_0"
|
|
||||||
|
|
||||||
# Switching
|
# Switching
|
||||||
- type: construction
|
- type: construction
|
||||||
name: two-way lever
|
|
||||||
id: TwoWayLeverRecipe
|
id: TwoWayLeverRecipe
|
||||||
graph: LeverGraph
|
graph: LeverGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: LeverNode
|
targetNode: LeverNode
|
||||||
category: construction-category-machines
|
category: construction-category-machines
|
||||||
description: A lever to control machines. It has 3 modes.
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/conveyor.rsi
|
|
||||||
state: switch-off
|
|
||||||
conditions:
|
conditions:
|
||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: light switch
|
|
||||||
id: LightSwitchRecipe
|
id: LightSwitchRecipe
|
||||||
graph: LightSwitchGraph
|
graph: LightSwitchGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: LightSwitchNode
|
targetNode: LightSwitchNode
|
||||||
category: construction-category-machines
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
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.
|
hide: true #TODO: Fix the lightswitch, issue #34659. Until then, keep hidden so people don't build it and get confused.
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: signal switch
|
|
||||||
id: SignalSwitchRecipe
|
id: SignalSwitchRecipe
|
||||||
graph: SignalSwitchGraph
|
graph: SignalSwitchGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SignalSwitchNode
|
targetNode: SignalSwitchNode
|
||||||
category: construction-category-machines
|
category: construction-category-machines
|
||||||
description: It's a switch for toggling power to things.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/switch.rsi
|
|
||||||
state: on
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -81,16 +56,11 @@
|
|||||||
- !type:WallmountCondition
|
- !type:WallmountCondition
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: signal button
|
|
||||||
id: SignalButtonRecipe
|
id: SignalButtonRecipe
|
||||||
graph: SignalButtonGraph
|
graph: SignalButtonGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SignalButtonNode
|
targetNode: SignalButtonNode
|
||||||
category: construction-category-machines
|
category: construction-category-machines
|
||||||
description: It's a button for activating something.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/switch.rsi
|
|
||||||
state: on
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -99,16 +69,11 @@
|
|||||||
- !type:WallmountCondition
|
- !type:WallmountCondition
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: directional light switch
|
|
||||||
id: LightSwitchDirectionalRecipe
|
id: LightSwitchDirectionalRecipe
|
||||||
graph: LightSwitchDirectionalGraph
|
graph: LightSwitchDirectionalGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: LightSwitchDirectionalNode
|
targetNode: LightSwitchDirectionalNode
|
||||||
category: construction-category-machines
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
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.
|
hide: true #TODO: Fix the lightswitch, issue #34659. Until then, keep hidden so people don't build it and get confused.
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: directional signal switch
|
|
||||||
id: SignalSwitchDirectionalRecipe
|
id: SignalSwitchDirectionalRecipe
|
||||||
graph: SignalSwitchDirectionalGraph
|
graph: SignalSwitchDirectionalGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SignalSwitchDirectionalNode
|
targetNode: SignalSwitchDirectionalNode
|
||||||
category: construction-category-machines
|
category: construction-category-machines
|
||||||
description: It's a switch for toggling power to things.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/switch.rsi
|
|
||||||
state: on
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -136,16 +96,11 @@
|
|||||||
- !type:WallmountCondition
|
- !type:WallmountCondition
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: directional signal button
|
|
||||||
id: SignalButtonDirectionalRecipe
|
id: SignalButtonDirectionalRecipe
|
||||||
graph: SignalButtonDirectionalGraph
|
graph: SignalButtonDirectionalGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SignalButtonDirectionalNode
|
targetNode: SignalButtonDirectionalNode
|
||||||
category: construction-category-machines
|
category: construction-category-machines
|
||||||
description: It's a button for activating something.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/switch.rsi
|
|
||||||
state: on
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: true
|
canRotate: true
|
||||||
|
|||||||
@@ -1,131 +1,95 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: metal rod
|
|
||||||
id: MetalRod
|
id: MetalRod
|
||||||
graph: MetalRod
|
graph: MetalRod
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: MetalRod
|
targetNode: MetalRod
|
||||||
category: construction-category-materials
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced glass
|
|
||||||
description: A reinforced sheet of glass.
|
|
||||||
id: SheetRGlass
|
id: SheetRGlass
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetRGlass
|
targetNode: SheetRGlass
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: clockwork glass
|
|
||||||
description: A brass-reinforced sheet of glass.
|
|
||||||
id: SheetClockworkGlass
|
id: SheetClockworkGlass
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetClockworkGlass
|
targetNode: SheetClockworkGlass
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: cglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: plasma glass
|
|
||||||
description: A sheet of translucent plasma.
|
|
||||||
id: SheetPGlass
|
id: SheetPGlass
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetPGlass
|
targetNode: SheetPGlass
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: pglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced plasma glass
|
|
||||||
description: A reinforced sheet of translucent plasma.
|
|
||||||
id: SheetRPGlass
|
id: SheetRPGlass
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetRPGlass
|
targetNode: SheetRPGlass
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rpglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced plasma glass
|
|
||||||
description: A reinforced sheet of translucent plasma.
|
|
||||||
id: SheetRPGlass0
|
id: SheetRPGlass0
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetRPGlass0
|
targetNode: SheetRPGlass0
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rpglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced plasma glass
|
|
||||||
description: A reinforced sheet of translucent plasma.
|
|
||||||
id: SheetRPGlass1
|
id: SheetRPGlass1
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetRPGlass1
|
targetNode: SheetRPGlass1
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: rpglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: durathread
|
|
||||||
id: MaterialDurathread
|
id: MaterialDurathread
|
||||||
graph: Durathread
|
graph: Durathread
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: MaterialDurathread
|
targetNode: MaterialDurathread
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
description: A high-quality thread used to make durable clothes.
|
|
||||||
icon: { sprite: Objects/Materials/materials.rsi, state: durathread }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: uranium glass
|
|
||||||
description: A sheet of uranium glass.
|
|
||||||
id: SheetUGlass
|
id: SheetUGlass
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetUGlass
|
targetNode: SheetUGlass
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: uglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced uranium glass
|
|
||||||
description: A reinforced sheet of uranium glass.
|
|
||||||
id: SheetRUGlass
|
id: SheetRUGlass
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetRUGlass
|
targetNode: SheetRUGlass
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: ruglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced uranium glass
|
|
||||||
description: A reinforced sheet of uranium glass.
|
|
||||||
id: SheetRUGlass0
|
id: SheetRUGlass0
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetRUGlass0
|
targetNode: SheetRUGlass0
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: ruglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced uranium glass
|
|
||||||
description: A reinforced sheet of uranium glass.
|
|
||||||
id: SheetRUGlass1
|
id: SheetRUGlass1
|
||||||
graph: Glass
|
graph: Glass
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: SheetRUGlass1
|
targetNode: SheetRUGlass1
|
||||||
category: construction-category-materials
|
category: construction-category-materials
|
||||||
icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: ruglass }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
@@ -1,25 +1,15 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: modular grenade
|
|
||||||
id: ModularGrenadeRecipe
|
id: ModularGrenadeRecipe
|
||||||
graph: ModularGrenadeGraph
|
graph: ModularGrenadeGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: grenade
|
targetNode: grenade
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: modular mine
|
|
||||||
id: ModularMineRecipe
|
id: ModularMineRecipe
|
||||||
graph: ModularMineGraph
|
graph: ModularMineGraph
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: mine
|
targetNode: mine
|
||||||
category: construction-category-weapons
|
category: construction-category-weapons
|
||||||
description: Construct a landmine using a payload.
|
|
||||||
icon:
|
|
||||||
sprite: Objects/Misc/landmine.rsi
|
|
||||||
state: landmine
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
#bureaucracy
|
#bureaucracy
|
||||||
- type: construction
|
- type: construction
|
||||||
id: FilingCabinet
|
id: FilingCabinet
|
||||||
name: filing cabinet
|
|
||||||
description: A cabinet for all your filing needs.
|
|
||||||
graph: FilingCabinet
|
graph: FilingCabinet
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: filingCabinet
|
targetNode: filingCabinet
|
||||||
category: construction-category-storage
|
category: construction-category-storage
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/cabinets.rsi
|
|
||||||
state: filingcabinet
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -18,15 +13,10 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: TallCabinet
|
id: TallCabinet
|
||||||
name: tall cabinet
|
|
||||||
description: A cabinet for all your filing needs.
|
|
||||||
graph: FilingCabinet
|
graph: FilingCabinet
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: tallCabinet
|
targetNode: tallCabinet
|
||||||
category: construction-category-storage
|
category: construction-category-storage
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/cabinets.rsi
|
|
||||||
state: tallcabinet
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -35,15 +25,10 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ChestDrawer
|
id: ChestDrawer
|
||||||
name: chest drawer
|
|
||||||
description: A small drawer for all your filing needs, Now with wheels!
|
|
||||||
graph: FilingCabinet
|
graph: FilingCabinet
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chestDrawer
|
targetNode: chestDrawer
|
||||||
category: construction-category-storage
|
category: construction-category-storage
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/cabinets.rsi
|
|
||||||
state: chestdrawer
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -53,15 +38,10 @@
|
|||||||
# ItemCabinets
|
# ItemCabinets
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShowCase
|
id: ShowCase
|
||||||
name: showcase
|
|
||||||
description: A sturdy showcase for an expensive exhibit.
|
|
||||||
graph: GlassBox
|
graph: GlassBox
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: glassBox
|
targetNode: glassBox
|
||||||
category: construction-category-storage
|
category: construction-category-storage
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/glassbox.rsi
|
|
||||||
state: icon
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -72,14 +52,9 @@
|
|||||||
# Normals
|
# Normals
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfWood
|
id: ShelfWood
|
||||||
name: wooden shelf
|
|
||||||
description: A convenient place to place, well, anything really.
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfWood
|
targetNode: ShelfWood
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/wood.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -88,14 +63,9 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfMetal
|
id: ShelfMetal
|
||||||
name: metal shelf
|
|
||||||
description: A sturdy place to place, well, anything really.
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfMetal
|
targetNode: ShelfMetal
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/metal.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -104,14 +74,9 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfGlass
|
id: ShelfGlass
|
||||||
name: glass shelf
|
|
||||||
description: Just like a normal shelf! But fragile and without the walls!
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfGlass
|
targetNode: ShelfGlass
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/glass.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -121,14 +86,9 @@
|
|||||||
# Reinforced
|
# Reinforced
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfRWood
|
id: ShelfRWood
|
||||||
name: sturdy wooden shelf
|
|
||||||
description: The perfect place to store all your vintage records.
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfRWood
|
targetNode: ShelfRWood
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/wood.rsi
|
|
||||||
state: rbase
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -137,14 +97,9 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfRMetal
|
id: ShelfRMetal
|
||||||
name: sturdy metal shelf
|
|
||||||
description: Nice and strong, and keeps your maints loot secure.
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfRMetal
|
targetNode: ShelfRMetal
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/metal.rsi
|
|
||||||
state: rbase
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -153,14 +108,9 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfRGlass
|
id: ShelfRGlass
|
||||||
name: sturdy glass shelf
|
|
||||||
description: See through, decent strength, shiny plastic case. Whats not to love?
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfRGlass
|
targetNode: ShelfRGlass
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/glass.rsi
|
|
||||||
state: rbase
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -170,14 +120,9 @@
|
|||||||
# Departmental
|
# Departmental
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfBar
|
id: ShelfBar
|
||||||
name: bar shelf
|
|
||||||
description: A convenient place for all your extra booze, specifically designed to hold more bottles!
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfBar
|
targetNode: ShelfBar
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/Departments/Service/bar.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -186,14 +131,9 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfKitchen
|
id: ShelfKitchen
|
||||||
name: kitchen shelf
|
|
||||||
description: Holds your knifes, spice, and everything nice!
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfKitchen
|
targetNode: ShelfKitchen
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/Departments/Service/kitchen.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -202,14 +142,9 @@
|
|||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: ShelfChemistry
|
id: ShelfChemistry
|
||||||
name: chemical shelf
|
|
||||||
description: Perfect for keeping the most important chemicals safe, and out of the clumsy clowns hands!
|
|
||||||
graph: Shelf
|
graph: Shelf
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ShelfChemistry
|
targetNode: ShelfChemistry
|
||||||
icon:
|
|
||||||
sprite: Structures/Storage/Shelfs/Departments/Medical/chemistry.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,54 +1,39 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: torch
|
|
||||||
id: LightTorch
|
id: LightTorch
|
||||||
graph: LightTorch
|
graph: LightTorch
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: torch
|
targetNode: torch
|
||||||
category: construction-category-tools
|
category: construction-category-tools
|
||||||
description: A torch fashioned from some wood.
|
|
||||||
icon: { sprite: Objects/Misc/torch.rsi, state: icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: logic gate
|
|
||||||
id: LogicGate
|
id: LogicGate
|
||||||
graph: LogicGate
|
graph: LogicGate
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: logic_gate
|
targetNode: logic_gate
|
||||||
category: construction-category-tools
|
category: construction-category-tools
|
||||||
description: A binary logic gate for signals.
|
|
||||||
icon: { sprite: Objects/Devices/gates.rsi, state: or_icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: edge detector
|
|
||||||
id: EdgeDetector
|
id: EdgeDetector
|
||||||
graph: LogicGate
|
graph: LogicGate
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: edge_detector
|
targetNode: edge_detector
|
||||||
category: construction-category-tools
|
category: construction-category-tools
|
||||||
description: An edge detector for signals.
|
|
||||||
icon: { sprite: Objects/Devices/gates.rsi, state: edge_detector }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: power sensor
|
|
||||||
id: PowerSensor
|
id: PowerSensor
|
||||||
graph: LogicGate
|
graph: LogicGate
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: power_sensor
|
targetNode: power_sensor
|
||||||
category: construction-category-tools
|
category: construction-category-tools
|
||||||
description: A power network checking device for signals.
|
|
||||||
icon: { sprite: Objects/Devices/gates.rsi, state: power_sensor }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: memory cell
|
|
||||||
id: MemoryCell
|
id: MemoryCell
|
||||||
graph: LogicGate
|
graph: LogicGate
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: memory_cell
|
targetNode: memory_cell
|
||||||
category: construction-category-tools
|
category: construction-category-tools
|
||||||
description: A memory cell for signals.
|
|
||||||
icon: { sprite: Objects/Devices/gates.rsi, state: memory_cell }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|||||||
@@ -1,44 +1,29 @@
|
|||||||
# SURVEILLANCE
|
# SURVEILLANCE
|
||||||
- type: construction
|
- type: construction
|
||||||
name: camera
|
|
||||||
id: camera
|
id: camera
|
||||||
graph: SurveillanceCamera
|
graph: SurveillanceCamera
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: camera
|
targetNode: camera
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
description: "Surveillance camera. It's watching. Soon."
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/camera.rsi
|
|
||||||
state: camera
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: telescreen
|
|
||||||
id: WallmountTelescreen
|
id: WallmountTelescreen
|
||||||
graph: WallmountTelescreen
|
graph: WallmountTelescreen
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: Telescreen
|
targetNode: Telescreen
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
description: "A surveillance camera monitor for the wall."
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Machines/computers.rsi
|
|
||||||
state: telescreen_frame
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: station map
|
|
||||||
id: StationMap
|
id: StationMap
|
||||||
graph: StationMap
|
graph: StationMap
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: station_map
|
targetNode: station_map
|
||||||
category: construction-category-structures
|
category: construction-category-structures
|
||||||
description: A station map.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Machines/station_map.rsi
|
|
||||||
state: station_map0
|
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -48,84 +33,57 @@
|
|||||||
|
|
||||||
# POWER
|
# POWER
|
||||||
- type: construction
|
- type: construction
|
||||||
name: APC
|
|
||||||
id: APC
|
id: APC
|
||||||
graph: APC
|
graph: APC
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: apc
|
targetNode: apc
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
description: "Area Power Controller (APC). Controls power. In an area."
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Power/apc.rsi
|
|
||||||
state: base
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: cable terminal
|
|
||||||
id: CableTerminal
|
id: CableTerminal
|
||||||
graph: CableTerminal
|
graph: CableTerminal
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: cable_terminal
|
targetNode: cable_terminal
|
||||||
category: construction-category-utilities
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wallmount substation
|
|
||||||
id: WallmountSubstation
|
id: WallmountSubstation
|
||||||
graph: WallmountSubstation
|
graph: WallmountSubstation
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: substation
|
targetNode: substation
|
||||||
category: construction-category-utilities
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wallmount generator
|
|
||||||
id: WallmountGenerator
|
id: WallmountGenerator
|
||||||
graph: WallmountGenerator
|
graph: WallmountGenerator
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: generator
|
targetNode: generator
|
||||||
category: construction-category-utilities
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wallmount APU
|
|
||||||
id: WallmountGeneratorAPU
|
id: WallmountGeneratorAPU
|
||||||
graph: WallmountGenerator
|
graph: WallmountGenerator
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: APU
|
targetNode: APU
|
||||||
category: construction-category-utilities
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
|
|
||||||
# DISPOSALS
|
# DISPOSALS
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal unit
|
|
||||||
description: A pneumatic waste disposal unit.
|
|
||||||
id: DisposalUnit
|
id: DisposalUnit
|
||||||
graph: DisposalMachine
|
graph: DisposalMachine
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -133,13 +91,8 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: "disposal"
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: mailing unit
|
|
||||||
description: A pneumatic mail delivery unit.
|
|
||||||
id: MailingUnit
|
id: MailingUnit
|
||||||
graph: DisposalMachine
|
graph: DisposalMachine
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -147,27 +100,17 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: "mailing"
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal pipe
|
|
||||||
id: DisposalPipe
|
id: DisposalPipe
|
||||||
description: A huge pipe segment used for constructing disposal systems.
|
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: pipe
|
targetNode: pipe
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-s
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal tagger
|
|
||||||
description: A pipe that tags entities for routing.
|
|
||||||
id: DisposalTagger
|
id: DisposalTagger
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -175,13 +118,8 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-tagger
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal trunk
|
|
||||||
description: A pipe trunk used as an entry point for disposal systems.
|
|
||||||
id: DisposalTrunk
|
id: DisposalTrunk
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -189,13 +127,8 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-t
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal router
|
|
||||||
description: A three-way router. Entities with matching tags get routed to the side.
|
|
||||||
id: DisposalRouter
|
id: DisposalRouter
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -203,15 +136,10 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-j1s
|
|
||||||
mirror: DisposalRouterFlipped
|
mirror: DisposalRouterFlipped
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
hide: true
|
hide: true
|
||||||
name: disposal router
|
|
||||||
description: A three-way router. Entities with matching tags get routed to the side.
|
|
||||||
id: DisposalRouterFlipped
|
id: DisposalRouterFlipped
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -219,14 +147,9 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-j2s
|
|
||||||
mirror: DisposalRouter
|
mirror: DisposalRouter
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal signal router
|
|
||||||
description: A signal-controlled three-way router.
|
|
||||||
id: DisposalSignalRouter
|
id: DisposalSignalRouter
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -234,15 +157,10 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: signal-router-free
|
|
||||||
mirror: DisposalSignalRouterFlipped
|
mirror: DisposalSignalRouterFlipped
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
hide: true
|
hide: true
|
||||||
name: disposal signal router
|
|
||||||
description: A signal-controlled three-way router.
|
|
||||||
id: DisposalSignalRouterFlipped
|
id: DisposalSignalRouterFlipped
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -250,14 +168,9 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: signal-router-flipped-free
|
|
||||||
mirror: DisposalSignalRouter
|
mirror: DisposalSignalRouter
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal junction
|
|
||||||
description: A three-way junction. The arrow indicates where items exit.
|
|
||||||
id: DisposalJunction
|
id: DisposalJunction
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -265,15 +178,10 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-j1
|
|
||||||
mirror: DisposalJunctionFlipped
|
mirror: DisposalJunctionFlipped
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
hide: true
|
hide: true
|
||||||
name: disposal junction
|
|
||||||
description: A three-way junction. The arrow indicates where items exit.
|
|
||||||
id: DisposalJunctionFlipped
|
id: DisposalJunctionFlipped
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -281,14 +189,9 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-j2
|
|
||||||
mirror: DisposalJunction
|
mirror: DisposalJunction
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal Y junction
|
|
||||||
description: A three-way junction with another exit point.
|
|
||||||
id: DisposalYJunction
|
id: DisposalYJunction
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -296,13 +199,8 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-y
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: disposal bend
|
|
||||||
description: A tube bent at a 90 degree angle.
|
|
||||||
id: DisposalBend
|
id: DisposalBend
|
||||||
graph: DisposalPipe
|
graph: DisposalPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -310,22 +208,14 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/disposal.rsi
|
|
||||||
state: conpipe-c
|
|
||||||
|
|
||||||
# ATMOS
|
# ATMOS
|
||||||
- type: construction
|
- type: construction
|
||||||
name: air alarm
|
|
||||||
id: AirAlarmFixture
|
id: AirAlarmFixture
|
||||||
graph: AirAlarm
|
graph: AirAlarm
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: air_alarm
|
targetNode: air_alarm
|
||||||
category: construction-category-structures
|
category: construction-category-structures
|
||||||
description: An air alarm. Alarms... air?
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/air_monitors.rsi
|
|
||||||
state: alarm0
|
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -334,16 +224,11 @@
|
|||||||
- !type:WallmountCondition {}
|
- !type:WallmountCondition {}
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: fire alarm
|
|
||||||
id: FireAlarm
|
id: FireAlarm
|
||||||
graph: FireAlarm
|
graph: FireAlarm
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: fire_alarm
|
targetNode: fire_alarm
|
||||||
category: construction-category-structures
|
category: construction-category-structures
|
||||||
description: A fire alarm. Spicy!
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/air_monitors.rsi
|
|
||||||
state: fire0
|
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -352,110 +237,73 @@
|
|||||||
- !type:WallmountCondition {}
|
- !type:WallmountCondition {}
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: air sensor
|
|
||||||
id: AirSensor
|
id: AirSensor
|
||||||
graph: AirSensor
|
graph: AirSensor
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: sensor
|
targetNode: sensor
|
||||||
category: construction-category-structures
|
category: construction-category-structures
|
||||||
description: An air sensor. Senses air.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Specific/Atmospherics/sensor.rsi
|
|
||||||
state: gsensor1
|
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
canRotate: true
|
canRotate: true
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: gas pipe sensor
|
|
||||||
id: GasPipeSensor
|
id: GasPipeSensor
|
||||||
graph: GasPipeSensor
|
graph: GasPipeSensor
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: sensor
|
targetNode: sensor
|
||||||
category: construction-category-structures
|
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
|
placementMode: SnapgridCenter
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
canRotate: true
|
canRotate: true
|
||||||
|
|
||||||
# ATMOS PIPES
|
# ATMOS PIPES
|
||||||
- type: construction
|
- type: construction
|
||||||
name: gas pipe half
|
|
||||||
id: GasPipeHalf
|
id: GasPipeHalf
|
||||||
description: Half of a gas pipe. No skateboards.
|
|
||||||
graph: GasPipe
|
graph: GasPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: half
|
targetNode: half
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
|
||||||
state: pipeHalf
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: gas pipe straight
|
|
||||||
id: GasPipeStraight
|
id: GasPipeStraight
|
||||||
description: A straight pipe segment.
|
|
||||||
graph: GasPipe
|
graph: GasPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: straight
|
targetNode: straight
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
|
||||||
state: pipeStraight
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: gas pipe bend
|
|
||||||
id: GasPipeBend
|
id: GasPipeBend
|
||||||
description: A pipe segment bent at a 90 degree angle.
|
|
||||||
graph: GasPipe
|
graph: GasPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: bend
|
targetNode: bend
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
|
||||||
state: pipeBend
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: gas pipe T junction
|
|
||||||
id: GasPipeTJunction
|
id: GasPipeTJunction
|
||||||
description: A pipe segment with a T junction.
|
|
||||||
graph: GasPipe
|
graph: GasPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: tjunction
|
targetNode: tjunction
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
|
||||||
state: pipeTJunction
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: gas pipe fourway
|
|
||||||
id: GasPipeFourway
|
id: GasPipeFourway
|
||||||
description: A pipe segment with a fourway junction.
|
|
||||||
graph: GasPipe
|
graph: GasPipe
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: fourway
|
targetNode: fourway
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
|
||||||
state: pipeFourway
|
|
||||||
|
|
||||||
# ATMOS UNARY
|
# ATMOS UNARY
|
||||||
- type: construction
|
- type: construction
|
||||||
name: air vent
|
|
||||||
description: Pumps gas into the room.
|
|
||||||
id: GasVentPump
|
id: GasVentPump
|
||||||
graph: GasUnary
|
graph: GasUnary
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -463,20 +311,10 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: passive vent
|
|
||||||
description: Unpowered vent that equalises gases on both sides.
|
|
||||||
id: GasPassiveVent
|
id: GasPassiveVent
|
||||||
graph: GasUnary
|
graph: GasUnary
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -484,20 +322,10 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: air scrubber
|
|
||||||
description: Sucks gas into connected pipes.
|
|
||||||
id: GasVentScrubber
|
id: GasVentScrubber
|
||||||
graph: GasUnary
|
graph: GasUnary
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -505,20 +333,10 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: air injector
|
|
||||||
description: Injects air into the atmosphere.
|
|
||||||
id: GasOutletInjector
|
id: GasOutletInjector
|
||||||
graph: GasUnary
|
graph: GasUnary
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -526,42 +344,22 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
# ATMOS BINARY
|
# ATMOS BINARY
|
||||||
- type: construction
|
- type: construction
|
||||||
name: gas pump
|
|
||||||
id: GasPressurePump
|
id: GasPressurePump
|
||||||
description: A pump that moves gas by pressure.
|
|
||||||
graph: GasBinary
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: pressurepump
|
targetNode: pressurepump
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: volumetric gas pump
|
|
||||||
description: A pump that moves gas by volume.
|
|
||||||
id: GasVolumePump
|
id: GasVolumePump
|
||||||
graph: GasBinary
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
@@ -569,162 +367,89 @@
|
|||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: GasPassiveGate
|
id: GasPassiveGate
|
||||||
name: passive gate
|
|
||||||
description: A one-way air valve that does not require power.
|
|
||||||
graph: GasBinary
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: passivegate
|
targetNode: passivegate
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: GasValve
|
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
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: valve
|
targetNode: valve
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: SignalControlledValve
|
id: SignalControlledValve
|
||||||
name: signal valve
|
|
||||||
description: Valve controlled by signal inputs.
|
|
||||||
graph: GasBinary
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: signalvalve
|
targetNode: signalvalve
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: GasPort
|
id: GasPort
|
||||||
name: connector port
|
|
||||||
description: For connecting portable devices related to atmospherics control.
|
|
||||||
graph: GasBinary
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: port
|
targetNode: port
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: GasDualPortVentPump
|
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
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: dualportventpump
|
targetNode: dualportventpump
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
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
|
- type: construction
|
||||||
id: HeatExchanger
|
id: HeatExchanger
|
||||||
name: radiator
|
|
||||||
description: Transfers heat between the pipe and its surroundings.
|
|
||||||
graph: GasBinary
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: radiator
|
targetNode: radiator
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/heatexchanger.rsi
|
|
||||||
state: heStraight
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: HeatExchangerBend
|
id: HeatExchangerBend
|
||||||
name: radiator bend
|
|
||||||
description: Transfers heat between the pipe and its surroundings.
|
|
||||||
graph: GasBinary
|
graph: GasBinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: bendradiator
|
targetNode: bendradiator
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/heatexchanger.rsi
|
|
||||||
state: heBend
|
|
||||||
|
|
||||||
# ATMOS TRINARY
|
# ATMOS TRINARY
|
||||||
- type: construction
|
- type: construction
|
||||||
id: GasFilter
|
id: GasFilter
|
||||||
name: gas filter
|
|
||||||
description: Very useful for filtering gases.
|
|
||||||
graph: GasTrinary
|
graph: GasTrinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: filter
|
targetNode: filter
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/gasfilter.rsi
|
|
||||||
state: gasFilter
|
|
||||||
mirror: GasFilterFlipped
|
mirror: GasFilterFlipped
|
||||||
conditions:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
@@ -732,34 +457,24 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
id: GasFilterFlipped
|
id: GasFilterFlipped
|
||||||
hide: true
|
hide: true
|
||||||
name: gas filter
|
|
||||||
description: Very useful for filtering gases.
|
|
||||||
graph: GasTrinary
|
graph: GasTrinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: filterflipped
|
targetNode: filterflipped
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/gasfilter.rsi
|
|
||||||
state: gasFilterF
|
|
||||||
mirror: GasFilter
|
mirror: GasFilter
|
||||||
conditions:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: GasMixer
|
id: GasMixer
|
||||||
name: gas mixer
|
|
||||||
description: Very useful for mixing gases.
|
|
||||||
graph: GasTrinary
|
graph: GasTrinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: mixer
|
targetNode: mixer
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/gasmixer.rsi
|
|
||||||
state: gasMixer
|
|
||||||
mirror: GasMixerFlipped
|
mirror: GasMixerFlipped
|
||||||
conditions:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
@@ -767,49 +482,34 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
id: GasMixerFlipped
|
id: GasMixerFlipped
|
||||||
hide: true
|
hide: true
|
||||||
name: gas mixer
|
|
||||||
description: Very useful for mixing gases.
|
|
||||||
graph: GasTrinary
|
graph: GasTrinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: mixerflipped
|
targetNode: mixerflipped
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/gasmixer.rsi
|
|
||||||
state: gasMixerF
|
|
||||||
mirror: GasMixer
|
mirror: GasMixer
|
||||||
conditions:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
id: PressureControlledValve
|
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
|
graph: GasTrinary
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: pneumaticvalve
|
targetNode: pneumaticvalve
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
icon:
|
|
||||||
sprite: Structures/Piping/Atmospherics/pneumaticvalve.rsi
|
|
||||||
state: off
|
|
||||||
conditions:
|
conditions:
|
||||||
- !type:NoUnstackableInTile
|
- !type:NoUnstackableInTile
|
||||||
|
|
||||||
# INTERCOM
|
# INTERCOM
|
||||||
- type: construction
|
- type: construction
|
||||||
name: intercom
|
|
||||||
id: IntercomAssembly
|
id: IntercomAssembly
|
||||||
graph: Intercom
|
graph: Intercom
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: intercom
|
targetNode: intercom
|
||||||
category: construction-category-structures
|
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
|
placementMode: SnapgridCenter
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
canRotate: true
|
canRotate: true
|
||||||
@@ -819,16 +519,11 @@
|
|||||||
|
|
||||||
# TIMERS
|
# TIMERS
|
||||||
- type: construction
|
- type: construction
|
||||||
name: signal timer
|
|
||||||
id: SignalTimer
|
id: SignalTimer
|
||||||
graph: Timer
|
graph: Timer
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: signal
|
targetNode: signal
|
||||||
category: construction-category-utilities
|
category: construction-category-utilities
|
||||||
description: "A wallmounted timer for sending timed signals to things."
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Wallmounts/switch.rsi
|
|
||||||
state: on
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: true
|
canBuildInImpassable: true
|
||||||
@@ -836,16 +531,11 @@
|
|||||||
- !type:WallmountCondition
|
- !type:WallmountCondition
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: screen timer
|
|
||||||
id: ScreenTimer
|
id: ScreenTimer
|
||||||
graph: Timer
|
graph: Timer
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: screen
|
targetNode: screen
|
||||||
category: construction-category-utilities
|
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
|
objectType: Structure
|
||||||
canRotate: false
|
canRotate: false
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
@@ -854,16 +544,11 @@
|
|||||||
- !type:WallmountCondition
|
- !type:WallmountCondition
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: brig timer
|
|
||||||
id: BrigTimer
|
id: BrigTimer
|
||||||
graph: Timer
|
graph: Timer
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: brig
|
targetNode: brig
|
||||||
category: construction-category-utilities
|
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
|
objectType: Structure
|
||||||
canRotate: false
|
canRotate: false
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
|
|||||||
@@ -1,219 +1,159 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: grey bladed flatcap
|
|
||||||
id: BladedFlatcapGrey
|
id: BladedFlatcapGrey
|
||||||
graph: BladedFlatcapGrey
|
graph: BladedFlatcapGrey
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: brown bladed flatcap
|
|
||||||
id: BladedFlatcapBrown
|
id: BladedFlatcapBrown
|
||||||
graph: BladedFlatcapBrown
|
graph: BladedFlatcapBrown
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: glass shiv
|
|
||||||
id: Shiv
|
id: Shiv
|
||||||
graph: Shiv
|
graph: Shiv
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced shiv
|
|
||||||
id: ReinforcedShiv
|
id: ReinforcedShiv
|
||||||
graph: ReinforcedShiv
|
graph: ReinforcedShiv
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: plasma shiv
|
|
||||||
id: PlasmaShiv
|
id: PlasmaShiv
|
||||||
graph: PlasmaShiv
|
graph: PlasmaShiv
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: uranium shiv
|
|
||||||
id: UraniumShiv
|
id: UraniumShiv
|
||||||
graph: UraniumShiv
|
graph: UraniumShiv
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: icon
|
targetNode: icon
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: crude spear
|
|
||||||
id: Spear
|
id: Spear
|
||||||
graph: Spear
|
graph: Spear
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: spear
|
targetNode: spear
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: crude reinforced spear
|
|
||||||
id: SpearReinforced
|
id: SpearReinforced
|
||||||
graph: SpearReinforced
|
graph: SpearReinforced
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: spear
|
targetNode: spear
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: crude plasma spear
|
|
||||||
id: SpearPlasma
|
id: SpearPlasma
|
||||||
graph: SpearPlasma
|
graph: SpearPlasma
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: spear
|
targetNode: spear
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: crude uranium spear
|
|
||||||
id: SpearUranium
|
id: SpearUranium
|
||||||
graph: SpearUranium
|
graph: SpearUranium
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: spear
|
targetNode: spear
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: sharkminnow tooth spear
|
|
||||||
id: SpearSharkMinnow
|
id: SpearSharkMinnow
|
||||||
graph: SpearSharkMinnow
|
graph: SpearSharkMinnow
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: spear
|
targetNode: spear
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: makeshift bola
|
|
||||||
id: Bola
|
id: Bola
|
||||||
graph: Bola
|
graph: Bola
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: bola
|
targetNode: bola
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wooden buckler
|
|
||||||
id: WoodenBuckler
|
id: WoodenBuckler
|
||||||
graph: WoodenBuckler
|
graph: WoodenBuckler
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: woodenBuckler
|
targetNode: woodenBuckler
|
||||||
category: construction-category-weapons
|
category: construction-category-weapons
|
||||||
description: A nicely carved wooden shield!
|
|
||||||
icon: { sprite: Objects/Weapons/Melee/shields.rsi, state: buckler-icon }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: makeshift shield
|
|
||||||
id: MakeshiftShield
|
id: MakeshiftShield
|
||||||
graph: MakeshiftShield
|
graph: MakeshiftShield
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: makeshiftShield
|
targetNode: makeshiftShield
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: glass shard arrow
|
|
||||||
id: ImprovisedArrow
|
id: ImprovisedArrow
|
||||||
graph: ImprovisedArrow
|
graph: ImprovisedArrow
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ImprovisedArrow
|
targetNode: ImprovisedArrow
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: carp tooth arrow
|
|
||||||
id: ImprovisedArrowCarp
|
id: ImprovisedArrowCarp
|
||||||
graph: ImprovisedArrowCarp
|
graph: ImprovisedArrowCarp
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ImprovisedArrowCarp
|
targetNode: ImprovisedArrowCarp
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: plasma glass shard arrow
|
|
||||||
id: ImprovisedArrowPlasma
|
id: ImprovisedArrowPlasma
|
||||||
graph: ImprovisedArrowPlasma
|
graph: ImprovisedArrowPlasma
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ImprovisedArrowPlasma
|
targetNode: ImprovisedArrowPlasma
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: uranium glass shard arrow
|
|
||||||
id: ImprovisedArrowUranium
|
id: ImprovisedArrowUranium
|
||||||
graph: ImprovisedArrowUranium
|
graph: ImprovisedArrowUranium
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ImprovisedArrowUranium
|
targetNode: ImprovisedArrowUranium
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: improvised bow
|
|
||||||
id: ImprovisedBow
|
id: ImprovisedBow
|
||||||
graph: ImprovisedBow
|
graph: ImprovisedBow
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: ImprovisedBow
|
targetNode: ImprovisedBow
|
||||||
category: construction-category-weapons
|
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
|
objectType: Item
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: bone spear
|
|
||||||
id: SpearBone
|
id: SpearBone
|
||||||
graph: SpearBone
|
graph: SpearBone
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: spear
|
targetNode: spear
|
||||||
category: construction-category-weapons
|
category: construction-category-weapons
|
||||||
description: Bones and silk combined together.
|
|
||||||
icon: { sprite: Objects/Weapons/Melee/bone_spear.rsi, state: spear }
|
|
||||||
objectType: Item
|
objectType: Item
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
- type: construction
|
- type: construction
|
||||||
name: web wall
|
|
||||||
id: WallWeb
|
id: WallWeb
|
||||||
graph: WebStructures
|
graph: WebStructures
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: wall
|
targetNode: wall
|
||||||
category: construction-category-structures
|
category: construction-category-structures
|
||||||
description: A fairly weak yet silky smooth wall.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Walls/web.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: false
|
canRotate: false
|
||||||
@@ -20,16 +15,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: web table
|
|
||||||
id: TableWeb
|
id: TableWeb
|
||||||
graph: WebStructures
|
graph: WebStructures
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: table
|
targetNode: table
|
||||||
category: construction-category-furniture
|
category: construction-category-furniture
|
||||||
description: Essential for any serious web development.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/web.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: false
|
canRotate: false
|
||||||
@@ -41,16 +31,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: web bed
|
|
||||||
id: WebBed
|
id: WebBed
|
||||||
graph: WebStructures
|
graph: WebStructures
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: bed
|
targetNode: bed
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: false
|
canRotate: false
|
||||||
@@ -62,16 +47,11 @@
|
|||||||
- !type:TileNotBlocked
|
- !type:TileNotBlocked
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: web chair
|
|
||||||
id: ChairWeb
|
id: ChairWeb
|
||||||
graph: WebStructures
|
graph: WebStructures
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: chair
|
targetNode: chair
|
||||||
category: construction-category-furniture
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -80,16 +60,11 @@
|
|||||||
- SpiderCraft
|
- SpiderCraft
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: web crate
|
|
||||||
id: CrateWeb
|
id: CrateWeb
|
||||||
graph: WebStructures
|
graph: WebStructures
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: crate
|
targetNode: crate
|
||||||
category: construction-category-storage
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canRotate: false
|
canRotate: false
|
||||||
@@ -99,16 +74,11 @@
|
|||||||
- SpiderCraft
|
- SpiderCraft
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: web door
|
|
||||||
id: WebDoor
|
id: WebDoor
|
||||||
graph: WebStructures
|
graph: WebStructures
|
||||||
startNode: start
|
startNode: start
|
||||||
targetNode: door
|
targetNode: door
|
||||||
category: construction-category-structures
|
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
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
|
|||||||
@@ -10,18 +10,18 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/bucket.rsi
|
sprite: Objects/Tools/bucket.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: bucket
|
name: construction-graph-tag-bucket
|
||||||
- tag: ProximitySensor
|
- tag: ProximitySensor
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: BorgArm
|
- tag: BorgArm
|
||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Silicon/drone.rsi
|
sprite: Mobs/Silicon/drone.rsi
|
||||||
state: l_hand
|
state: l_hand
|
||||||
name: borg arm
|
name: construction-graph-tag-borg-arm
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- node: bot
|
- node: bot
|
||||||
entity: MobCleanBot
|
entity: MobCleanBot
|
||||||
|
|||||||
@@ -10,24 +10,24 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/fire_extinguisher.rsi
|
sprite: Objects/Misc/fire_extinguisher.rsi
|
||||||
state: fire_extinguisher_open
|
state: fire_extinguisher_open
|
||||||
name: fire extinguisher
|
name: construction-graph-tag-fire-extinguisher
|
||||||
- tag: FireHelmet
|
- tag: FireHelmet
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Head/Helmets/firehelmet.rsi
|
sprite: Clothing/Head/Helmets/firehelmet.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: fire helmet
|
name: construction-graph-tag-fire-helmet
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: ProximitySensor
|
- tag: ProximitySensor
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: BorgArm
|
- tag: BorgArm
|
||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Silicon/drone.rsi
|
sprite: Mobs/Silicon/drone.rsi
|
||||||
state: l_hand
|
state: l_hand
|
||||||
name: borg arm
|
name: construction-graph-tag-borg-arm
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- node: bot
|
- node: bot
|
||||||
entity: MobFireBot
|
entity: MobFireBot
|
||||||
|
|||||||
@@ -10,23 +10,23 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Storage/Happyhonk/clown.rsi
|
sprite: Objects/Storage/Happyhonk/clown.rsi
|
||||||
state: box
|
state: box
|
||||||
name: happy honk meal
|
name: construction-graph-tag-happy-honk-meal
|
||||||
- tag: BikeHorn
|
- tag: BikeHorn
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/bikehorn.rsi
|
sprite: Objects/Fun/bikehorn.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: bike horn
|
name: construction-graph-tag-clown-bike-horn
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: ProximitySensor
|
- tag: ProximitySensor
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
- tag: BorgArm
|
- tag: BorgArm
|
||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Silicon/drone.rsi
|
sprite: Mobs/Silicon/drone.rsi
|
||||||
state: l_hand
|
state: l_hand
|
||||||
name: borg arm
|
name: construction-graph-tag-borg-arm
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- node: bot
|
- node: bot
|
||||||
entity: MobHonkBot
|
entity: MobHonkBot
|
||||||
@@ -43,23 +43,23 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Storage/Happyhonk/cluwne.rsi
|
sprite: Objects/Storage/Happyhonk/cluwne.rsi
|
||||||
state: box
|
state: box
|
||||||
name: woeful cluwne meal
|
name: construction-graph-tag-woeful-cluwne-meal
|
||||||
- tag: CluwneHorn
|
- tag: CluwneHorn
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Fun/cluwnehorn.rsi
|
sprite: Objects/Fun/cluwnehorn.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: broken bike horn
|
name: construction-graph-tag-clowne-horn
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: ProximitySensor
|
- tag: ProximitySensor
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
- tag: BorgArm
|
- tag: BorgArm
|
||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Silicon/drone.rsi
|
sprite: Mobs/Silicon/drone.rsi
|
||||||
state: l_hand
|
state: l_hand
|
||||||
name: borg arm
|
name: construction-graph-tag-borg-arm
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- node: bot
|
- node: bot
|
||||||
entity: MobJonkBot
|
entity: MobJonkBot
|
||||||
|
|||||||
@@ -10,24 +10,24 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Medical/firstaidkits.rsi
|
sprite: Objects/Specific/Medical/firstaidkits.rsi
|
||||||
state: firstaid
|
state: firstaid
|
||||||
name: medkit
|
name: construction-graph-tag-medkit
|
||||||
- tag: DiscreteHealthAnalyzer
|
- tag: DiscreteHealthAnalyzer
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Medical/healthanalyzer.rsi
|
sprite: Objects/Specific/Medical/healthanalyzer.rsi
|
||||||
state: analyzer
|
state: analyzer
|
||||||
name: health analyzer
|
name: construction-graph-tag-health-analyzer
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: ProximitySensor
|
- tag: ProximitySensor
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: BorgArm
|
- tag: BorgArm
|
||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Silicon/drone.rsi
|
sprite: Mobs/Silicon/drone.rsi
|
||||||
state: l_hand
|
state: l_hand
|
||||||
name: borg arm
|
name: construction-graph-tag-borg-arm
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- node: bot
|
- node: bot
|
||||||
entity: MobMedibot
|
entity: MobMedibot
|
||||||
|
|||||||
@@ -10,35 +10,35 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Storage/Happyhonk/mime.rsi
|
sprite: Objects/Storage/Happyhonk/mime.rsi
|
||||||
state: box
|
state: box
|
||||||
name: mime edition happy honk meal
|
name: construction-graph-tag-mime-meal
|
||||||
- tag: MimeBelt
|
- tag: MimeBelt
|
||||||
icon:
|
icon:
|
||||||
sprite: Clothing/Belt/suspenders_red.rsi
|
sprite: Clothing/Belt/suspenders_red.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: suspenders
|
name: construction-graph-tag-suspenders
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: ProximitySensor
|
- tag: ProximitySensor
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
- tag: BorgHead
|
- tag: BorgHead
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Robotics/cyborg_parts.rsi
|
sprite: Objects/Specific/Robotics/cyborg_parts.rsi
|
||||||
state: borg_head
|
state: borg_head
|
||||||
name: borg head
|
name: construction-graph-tag-borg-head
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: BorgArm
|
- tag: BorgArm
|
||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Silicon/drone.rsi
|
sprite: Mobs/Silicon/drone.rsi
|
||||||
state: l_hand
|
state: l_hand
|
||||||
name: borg arm
|
name: construction-graph-tag-borg-arm
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- tag: BorgArm
|
- tag: BorgArm
|
||||||
icon:
|
icon:
|
||||||
sprite: Mobs/Silicon/drone.rsi
|
sprite: Mobs/Silicon/drone.rsi
|
||||||
state: l_hand
|
state: l_hand
|
||||||
name: borg arm
|
name: construction-graph-tag-borg-arm
|
||||||
doAfter: 2
|
doAfter: 2
|
||||||
- node: bot
|
- node: bot
|
||||||
entity: MobMimeBot
|
entity: MobMimeBot
|
||||||
|
|||||||
@@ -10,12 +10,12 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/proximity_sensor.rsi
|
sprite: Objects/Misc/proximity_sensor.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: proximity sensor
|
name: construction-graph-tag-proximity-sensor
|
||||||
- tag: BorgHead
|
- tag: BorgHead
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Robotics/cyborg_parts.rsi
|
sprite: Objects/Specific/Robotics/cyborg_parts.rsi
|
||||||
state: borg_head
|
state: borg_head
|
||||||
name: borg head
|
name: construction-graph-tag-borg-head
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- material: Steel
|
- material: Steel
|
||||||
amount: 10
|
amount: 10
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Clothing/OuterClothing/Hardsuits/spatio.rsi
|
sprite: Clothing/OuterClothing/Hardsuits/spatio.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: spationaut hardsuit
|
name: construction-graph-tag-spationaut-hardsuit
|
||||||
doAfter: 10
|
doAfter: 10
|
||||||
- material: Durathread
|
- material: Durathread
|
||||||
amount: 5
|
amount: 5
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
- to: empty
|
- to: empty
|
||||||
steps:
|
steps:
|
||||||
- tag: DrinkCan
|
- tag: DrinkCan
|
||||||
name: an empty can
|
name: construction-graph-tag-empty-can
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Consumable/Drinks/cola.rsi
|
sprite: Objects/Consumable/Drinks/cola.rsi
|
||||||
state: icon_open
|
state: icon_open
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: Igniter
|
- tag: Igniter
|
||||||
name: an igniter
|
name: construction-graph-tag-igniter
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Devices/igniter.rsi
|
sprite: Objects/Devices/igniter.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -7,17 +7,17 @@
|
|||||||
- to: flowerwreath
|
- to: flowerwreath
|
||||||
steps:
|
steps:
|
||||||
- tag: Flower
|
- tag: Flower
|
||||||
name: flower
|
name: construction-graph-tag-flower
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/poppy.rsi
|
sprite: Objects/Specific/Hydroponics/poppy.rsi
|
||||||
state: produce
|
state: produce
|
||||||
- tag: Flower
|
- tag: Flower
|
||||||
name: flower
|
name: construction-graph-tag-flower
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/poppy.rsi
|
sprite: Objects/Specific/Hydroponics/poppy.rsi
|
||||||
state: produce
|
state: produce
|
||||||
- tag: Ambrosia
|
- tag: Ambrosia
|
||||||
name: ambrosia
|
name: construction-graph-tag-ambrosia
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/ambrosia_vulgaris.rsi
|
sprite: Objects/Specific/Hydroponics/ambrosia_vulgaris.rsi
|
||||||
state: produce
|
state: produce
|
||||||
|
|||||||
@@ -10,17 +10,17 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
||||||
state: pipeStraight
|
state: pipeStraight
|
||||||
name: pipe
|
name: construction-graph-tag-pipe
|
||||||
- tag: ModularReceiver
|
- tag: ModularReceiver
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/modular_receiver.rsi
|
sprite: Objects/Misc/modular_receiver.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: modular receiver
|
name: construction-graph-tag-modular-receiver
|
||||||
- tag: RifleStock
|
- tag: RifleStock
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/rifle_stock.rsi
|
sprite: Objects/Misc/rifle_stock.rsi
|
||||||
state: icon
|
state: icon
|
||||||
name: rifle stock
|
name: construction-graph-tag-rifle-stock
|
||||||
- material: Cloth
|
- material: Cloth
|
||||||
amount: 3
|
amount: 3
|
||||||
doAfter: 10
|
doAfter: 10
|
||||||
|
|||||||
@@ -13,61 +13,61 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard2
|
state: shard2
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard1
|
state: shard1
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: GlassShard
|
- tag: GlassShard
|
||||||
name: glass shard
|
name: construction-graph-tag-glass-shard
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Materials/Shards/shard.rsi
|
sprite: Objects/Materials/Shards/shard.rsi
|
||||||
state: shard3
|
state: shard3
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: Matchstick
|
- tag: Matchstick
|
||||||
name: match stick
|
name: construction-graph-tag-match-stick
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/matches.rsi
|
sprite: Objects/Tools/matches.rsi
|
||||||
state: match_unlit
|
state: match_unlit
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: Matchstick
|
- tag: Matchstick
|
||||||
name: match stick
|
name: construction-graph-tag-match-stick
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/matches.rsi
|
sprite: Objects/Tools/matches.rsi
|
||||||
state: match_unlit
|
state: match_unlit
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: Matchstick
|
- tag: Matchstick
|
||||||
name: match stick
|
name: construction-graph-tag-match-stick
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/matches.rsi
|
sprite: Objects/Tools/matches.rsi
|
||||||
state: match_unlit
|
state: match_unlit
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: Matchstick
|
- tag: Matchstick
|
||||||
name: match stick
|
name: construction-graph-tag-match-stick
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/matches.rsi
|
sprite: Objects/Tools/matches.rsi
|
||||||
state: match_unlit
|
state: match_unlit
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: Matchstick
|
- tag: Matchstick
|
||||||
name: match stick
|
name: construction-graph-tag-match-stick
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/matches.rsi
|
sprite: Objects/Tools/matches.rsi
|
||||||
state: match_unlit
|
state: match_unlit
|
||||||
doAfter: 0.5
|
doAfter: 0.5
|
||||||
- tag: Matchstick
|
- tag: Matchstick
|
||||||
name: match stick
|
name: construction-graph-tag-match-stick
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Tools/matches.rsi
|
sprite: Objects/Tools/matches.rsi
|
||||||
state: match_unlit
|
state: match_unlit
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
- material: MetalRod
|
- material: MetalRod
|
||||||
amount: 1
|
amount: 1
|
||||||
- tag: PowerCellSmall
|
- tag: PowerCellSmall
|
||||||
name: power cell small
|
name: construction-graph-tag-power-cell-small
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/power_cells.rsi
|
sprite: Objects/Power/power_cells.rsi
|
||||||
state: small
|
state: small
|
||||||
@@ -18,9 +18,9 @@
|
|||||||
sprite: Objects/Misc/cablecuffs.rsi
|
sprite: Objects/Misc/cablecuffs.rsi
|
||||||
state: cuff
|
state: cuff
|
||||||
color: red
|
color: red
|
||||||
name: cuffs
|
name: construction-graph-tag-cuffs
|
||||||
- tag: Igniter
|
- tag: Igniter
|
||||||
name: igniter
|
name: construction-graph-tag-igniter
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Devices/igniter.rsi
|
sprite: Objects/Devices/igniter.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
||||||
state: pipeStraight
|
state: pipeStraight
|
||||||
name: pipe
|
name: construction-graph-tag-pipe
|
||||||
- material: Steel
|
- material: Steel
|
||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 3
|
doAfter: 3
|
||||||
|
|||||||
@@ -10,13 +10,13 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
||||||
state: pipeStraight
|
state: pipeStraight
|
||||||
name: pipe
|
name: construction-graph-tag-pipe
|
||||||
- tag: Handcuffs
|
- tag: Handcuffs
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/cablecuffs.rsi
|
sprite: Objects/Misc/cablecuffs.rsi
|
||||||
state: cuff
|
state: cuff
|
||||||
color: red
|
color: red
|
||||||
name: cuffs
|
name: construction-graph-tag-cuffs
|
||||||
- material: Steel
|
- material: Steel
|
||||||
amount: 6
|
amount: 6
|
||||||
doAfter: 10
|
doAfter: 10
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
- to: potatobattery
|
- to: potatobattery
|
||||||
steps:
|
steps:
|
||||||
- tag: Potato
|
- tag: Potato
|
||||||
name: a potato
|
name: construction-graph-tag-potato
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/potato.rsi
|
sprite: Objects/Specific/Hydroponics/potato.rsi
|
||||||
state: produce
|
state: produce
|
||||||
@@ -30,13 +30,13 @@
|
|||||||
- to: potatoai
|
- to: potatoai
|
||||||
steps:
|
steps:
|
||||||
- tag: PotatoBattery
|
- tag: PotatoBattery
|
||||||
name: a potato battery
|
name: construction-graph-tag-potato-battery
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Power/power_cells.rsi
|
sprite: Objects/Power/power_cells.rsi
|
||||||
state: potato
|
state: potato
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
- tag: SmallAIChip
|
- tag: SmallAIChip
|
||||||
name: a super-compact AI chip
|
name: construction-graph-tag-super-compact-ai-chip
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/potatoai_chip.rsi
|
sprite: Objects/Misc/potatoai_chip.rsi
|
||||||
state: icon
|
state: icon
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
amount: 2
|
amount: 2
|
||||||
doAfter: 5
|
doAfter: 5
|
||||||
- tag: FreezerElectronics
|
- tag: FreezerElectronics
|
||||||
name: freezer electronics
|
name: construction-graph-tag-freezer-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/module.rsi
|
sprite: Objects/Misc/module.rsi
|
||||||
state: door_electronics
|
state: door_electronics
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
amount: 2
|
amount: 2
|
||||||
doAfter: 5
|
doAfter: 5
|
||||||
- tag: FreezerElectronics
|
- tag: FreezerElectronics
|
||||||
name: freezer electronics
|
name: construction-graph-tag-freezer-electronics
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Misc/module.rsi
|
sprite: Objects/Misc/module.rsi
|
||||||
state: door_electronics
|
state: door_electronics
|
||||||
|
|||||||
@@ -7,22 +7,22 @@
|
|||||||
- to: strawhat
|
- to: strawhat
|
||||||
steps:
|
steps:
|
||||||
- tag: Wheat
|
- tag: Wheat
|
||||||
name: wheat bushel
|
name: construction-graph-tag-wheat-bushel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
||||||
state: produce
|
state: produce
|
||||||
- tag: Wheat
|
- tag: Wheat
|
||||||
name: wheat bushel
|
name: construction-graph-tag-wheat-bushel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
||||||
state: produce
|
state: produce
|
||||||
- tag: Wheat
|
- tag: Wheat
|
||||||
name: wheat bushel
|
name: construction-graph-tag-wheat-bushel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
||||||
state: produce
|
state: produce
|
||||||
- tag: Wheat
|
- tag: Wheat
|
||||||
name: wheat bushel
|
name: construction-graph-tag-wheat-bushel
|
||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
||||||
state: produce
|
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