Resolves StackVisualizer is Obsolete (#13908)
This commit is contained in:
@@ -1,16 +1,22 @@
|
|||||||
using Content.Client.Items;
|
using Content.Client.Items;
|
||||||
|
using Content.Client.Storage.Systems;
|
||||||
using Content.Shared.Stacks;
|
using Content.Shared.Stacks;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
|
using Robust.Client.GameObjects;
|
||||||
|
|
||||||
namespace Content.Client.Stack
|
namespace Content.Client.Stack
|
||||||
{
|
{
|
||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
public sealed class StackSystem : SharedStackSystem
|
public sealed class StackSystem : SharedStackSystem
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly AppearanceSystem _appearanceSystem = default!;
|
||||||
|
[Dependency] private readonly ItemCounterSystem _counterSystem = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
SubscribeLocalEvent<StackComponent, ItemStatusCollectMessage>(OnItemStatus);
|
SubscribeLocalEvent<StackComponent, ItemStatusCollectMessage>(OnItemStatus);
|
||||||
|
SubscribeLocalEvent<StackComponent, AppearanceChangeEvent>(OnAppearanceChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnItemStatus(EntityUid uid, StackComponent component, ItemStatusCollectMessage args)
|
private void OnItemStatus(EntityUid uid, StackComponent component, ItemStatusCollectMessage args)
|
||||||
@@ -36,5 +42,26 @@ namespace Content.Client.Stack
|
|||||||
if (component is StackComponent clientComp)
|
if (component is StackComponent clientComp)
|
||||||
clientComp.UiUpdateNeeded = true;
|
clientComp.UiUpdateNeeded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnAppearanceChange(EntityUid uid, StackComponent comp, ref AppearanceChangeEvent args)
|
||||||
|
{
|
||||||
|
if (args.Sprite == null || comp.LayerStates.Count < 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Skip processing if no actual
|
||||||
|
if (!_appearanceSystem.TryGetData<int>(uid, StackVisuals.Actual, out var actual, args.Component))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!_appearanceSystem.TryGetData<int>(uid, StackVisuals.MaxCount, out var maxCount, args.Component))
|
||||||
|
maxCount = comp.LayerStates.Count;
|
||||||
|
|
||||||
|
if (!_appearanceSystem.TryGetData<bool>(uid, StackVisuals.Hide, out var hidden, args.Component))
|
||||||
|
hidden = false;
|
||||||
|
|
||||||
|
if (comp.IsComposite)
|
||||||
|
_counterSystem.ProcessCompositeSprite(uid, actual, maxCount, comp.LayerStates, hidden, sprite: args.Sprite);
|
||||||
|
else
|
||||||
|
_counterSystem.ProcessOpaqueSprite(uid, comp.BaseLayer, actual, maxCount, comp.LayerStates, hidden, sprite: args.Sprite);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,162 +0,0 @@
|
|||||||
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using Content.Shared.Rounding;
|
|
||||||
using Content.Shared.Stacks;
|
|
||||||
using JetBrains.Annotations;
|
|
||||||
using Robust.Client.GameObjects;
|
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
using Robust.Shared.IoC;
|
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
|
||||||
using Robust.Shared.Utility;
|
|
||||||
|
|
||||||
namespace Content.Client.Stack
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Visualizer for items that come in stacks and have different appearance
|
|
||||||
/// depending on the size of the stack. Visualizer can work by switching between different
|
|
||||||
/// icons in <c>_spriteLayers</c> or if the sprite layers are supposed to be composed as transparent layers.
|
|
||||||
/// The former behavior is default and the latter behavior can be defined in prototypes.
|
|
||||||
///
|
|
||||||
/// <example>
|
|
||||||
/// <para>To define a Stack Visualizer prototype insert the following
|
|
||||||
/// snippet (you can skip Appearance if already defined)
|
|
||||||
/// </para>
|
|
||||||
/// <code>
|
|
||||||
/// - type: Appearance
|
|
||||||
/// visuals:
|
|
||||||
/// - type: StackVisualizer
|
|
||||||
/// stackLayers:
|
|
||||||
/// - goldbar_10
|
|
||||||
/// - goldbar_20
|
|
||||||
/// - goldbar_30
|
|
||||||
/// </code>
|
|
||||||
/// </example>
|
|
||||||
/// <example>
|
|
||||||
/// <para>Defining a stack visualizer with composable transparent layers</para>
|
|
||||||
/// <code>
|
|
||||||
/// - type: StackVisualizer
|
|
||||||
/// composite: true
|
|
||||||
/// stackLayers:
|
|
||||||
/// - cigarette_1
|
|
||||||
/// - cigarette_2
|
|
||||||
/// - cigarette_3
|
|
||||||
/// - cigarette_4
|
|
||||||
/// - cigarette_5
|
|
||||||
/// - cigarette_6
|
|
||||||
/// </code>
|
|
||||||
/// </example>
|
|
||||||
/// <seealso cref="_spriteLayers"/>
|
|
||||||
/// </summary>
|
|
||||||
[UsedImplicitly]
|
|
||||||
public sealed class StackVisualizer : AppearanceVisualizer
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Default IconLayer stack.
|
|
||||||
/// </summary>
|
|
||||||
private const int IconLayer = 0;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sprite layers used in stack visualizer. Sprites first in layer correspond to lower stack states
|
|
||||||
/// e.g. <code>_spriteLayers[0]</code> is lower stack level than <code>_spriteLayers[1]</code>.
|
|
||||||
/// </summary>
|
|
||||||
[DataField("stackLayers")] private readonly List<string> _spriteLayers = new();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determines if the visualizer uses composite or non-composite layers for icons. Defaults to false.
|
|
||||||
///
|
|
||||||
/// <list type="bullet">
|
|
||||||
/// <item>
|
|
||||||
/// <description>false: they are opaque and mutually exclusive (e.g. sprites in a cable coil). <b>Default value</b></description>
|
|
||||||
/// </item>
|
|
||||||
/// <item>
|
|
||||||
/// <description>true: they are transparent and thus layered one over another in ascending order first</description>
|
|
||||||
/// </item>
|
|
||||||
/// </list>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
[DataField("composite")] private bool _isComposite;
|
|
||||||
|
|
||||||
[DataField("sprite")] private ResPath? _spritePath;
|
|
||||||
|
|
||||||
[Obsolete("Subscribe to your component being initialised instead.")]
|
|
||||||
public override void InitializeEntity(EntityUid entity)
|
|
||||||
{
|
|
||||||
base.InitializeEntity(entity);
|
|
||||||
|
|
||||||
if (_isComposite
|
|
||||||
&& _spriteLayers.Count > 0
|
|
||||||
&& IoCManager.Resolve<IEntityManager>().TryGetComponent<SpriteComponent?>(entity, out var spriteComponent))
|
|
||||||
{
|
|
||||||
var spritePath = _spritePath ?? spriteComponent.BaseRSI!.Path!;
|
|
||||||
|
|
||||||
foreach (var sprite in _spriteLayers)
|
|
||||||
{
|
|
||||||
spriteComponent.LayerMapReserveBlank(sprite);
|
|
||||||
spriteComponent.LayerSetSprite(sprite, new SpriteSpecifier.Rsi(spritePath, sprite));
|
|
||||||
spriteComponent.LayerSetVisible(sprite, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Obsolete("Subscribe to AppearanceChangeEvent instead.")]
|
|
||||||
public override void OnChangeData(AppearanceComponent component)
|
|
||||||
{
|
|
||||||
base.OnChangeData(component);
|
|
||||||
|
|
||||||
var entities = IoCManager.Resolve<IEntityManager>();
|
|
||||||
if (entities.TryGetComponent(component.Owner, out SpriteComponent? spriteComponent))
|
|
||||||
{
|
|
||||||
if (_isComposite)
|
|
||||||
{
|
|
||||||
ProcessCompositeSprites(component, spriteComponent);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ProcessOpaqueSprites(component, spriteComponent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ProcessOpaqueSprites(AppearanceComponent component, SpriteComponent spriteComponent)
|
|
||||||
{
|
|
||||||
// Skip processing if no actual
|
|
||||||
if (!component.TryGetData<int>(StackVisuals.Actual, out var actual)) return;
|
|
||||||
if (!component.TryGetData<int>(StackVisuals.MaxCount, out var maxCount))
|
|
||||||
{
|
|
||||||
maxCount = _spriteLayers.Count;
|
|
||||||
}
|
|
||||||
|
|
||||||
var activeLayer = ContentHelpers.RoundToEqualLevels(actual, maxCount, _spriteLayers.Count);
|
|
||||||
spriteComponent.LayerSetState(IconLayer, _spriteLayers[activeLayer]);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ProcessCompositeSprites(AppearanceComponent component, SpriteComponent spriteComponent)
|
|
||||||
{
|
|
||||||
// If hidden, don't render any sprites
|
|
||||||
if (component.TryGetData<bool>(StackVisuals.Hide, out var hide)
|
|
||||||
&& hide)
|
|
||||||
{
|
|
||||||
foreach (var transparentSprite in _spriteLayers)
|
|
||||||
{
|
|
||||||
spriteComponent.LayerSetVisible(transparentSprite, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Skip processing if no actual/maxCount
|
|
||||||
if (!component.TryGetData<int>(StackVisuals.Actual, out var actual)) return;
|
|
||||||
if (!component.TryGetData<int>(StackVisuals.MaxCount, out var maxCount))
|
|
||||||
{
|
|
||||||
maxCount = _spriteLayers.Count;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var activeTill = ContentHelpers.RoundToNearestLevels(actual, maxCount, _spriteLayers.Count);
|
|
||||||
for (var i = 0; i < _spriteLayers.Count; i++)
|
|
||||||
{
|
|
||||||
spriteComponent.LayerSetVisible(_spriteLayers[i], i < activeTill);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
70
Content.Client/Storage/Systems/ItemCounterSystem.cs
Normal file
70
Content.Client/Storage/Systems/ItemCounterSystem.cs
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
using Content.Shared.Rounding;
|
||||||
|
using Content.Shared.Stacks;
|
||||||
|
using Content.Shared.Storage.Components;
|
||||||
|
using Content.Shared.Storage.EntitySystems;
|
||||||
|
using Robust.Client.GameObjects;
|
||||||
|
using Robust.Shared.Containers;
|
||||||
|
|
||||||
|
namespace Content.Client.Storage.Systems;
|
||||||
|
|
||||||
|
public sealed class ItemCounterSystem : SharedItemCounterSystem
|
||||||
|
{
|
||||||
|
[Dependency] private readonly AppearanceSystem _appearanceSystem = default!;
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
SubscribeLocalEvent<ItemCounterComponent, AppearanceChangeEvent>(OnAppearanceChange);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnAppearanceChange(EntityUid uid, ItemCounterComponent comp, ref AppearanceChangeEvent args)
|
||||||
|
{
|
||||||
|
if (args.Sprite == null || comp.LayerStates.Count < 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Skip processing if no actual
|
||||||
|
if (!_appearanceSystem.TryGetData<int>(uid, StackVisuals.Actual, out var actual, args.Component))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!_appearanceSystem.TryGetData<int>(uid, StackVisuals.MaxCount, out var maxCount, args.Component))
|
||||||
|
maxCount = comp.LayerStates.Count;
|
||||||
|
|
||||||
|
if (!_appearanceSystem.TryGetData<bool>(uid, StackVisuals.Hide, out var hidden, args.Component))
|
||||||
|
hidden = false;
|
||||||
|
|
||||||
|
if (comp.IsComposite)
|
||||||
|
ProcessCompositeSprite(uid, actual, maxCount, comp.LayerStates, hidden, sprite: args.Sprite);
|
||||||
|
else
|
||||||
|
ProcessOpaqueSprite(uid, comp.BaseLayer, actual, maxCount, comp.LayerStates, hidden, sprite: args.Sprite);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ProcessOpaqueSprite(EntityUid uid, string layer, int count, int maxCount, List<string> states, bool hide = false, SpriteComponent? sprite = null)
|
||||||
|
{
|
||||||
|
if (!Resolve(uid, ref sprite)
|
||||||
|
|| !sprite.LayerMapTryGet(layer, out var layerKey, logError: true))
|
||||||
|
return;
|
||||||
|
|
||||||
|
var activeState = ContentHelpers.RoundToEqualLevels(count, maxCount, states.Count);
|
||||||
|
sprite.LayerSetState(layerKey, states[activeState]);
|
||||||
|
sprite.LayerSetVisible(layerKey, !hide);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ProcessCompositeSprite(EntityUid uid, int count, int maxCount, List<string> layers, bool hide = false, SpriteComponent? sprite = null)
|
||||||
|
{
|
||||||
|
if(!Resolve(uid, ref sprite))
|
||||||
|
return;
|
||||||
|
|
||||||
|
var activeTill = ContentHelpers.RoundToNearestLevels(count, maxCount, layers.Count);
|
||||||
|
for(var i = 0; i < layers.Count; ++i)
|
||||||
|
{
|
||||||
|
sprite.LayerSetVisible(layers[i], !hide && i < activeTill);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int? GetCount(ContainerModifiedMessage msg, ItemCounterComponent itemCounter)
|
||||||
|
{
|
||||||
|
if (_appearanceSystem.TryGetData<int>(msg.Container.Owner, StackVisuals.Actual, out var actual))
|
||||||
|
return actual;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -38,6 +38,38 @@ namespace Content.Shared.Stacks
|
|||||||
|
|
||||||
[ViewVariables]
|
[ViewVariables]
|
||||||
public bool UiUpdateNeeded { get; set; }
|
public bool UiUpdateNeeded { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Default IconLayer stack.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("baseLayer")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string BaseLayer = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determines if the visualizer uses composite or non-composite layers for icons. Defaults to false.
|
||||||
|
///
|
||||||
|
/// <list type="bullet">
|
||||||
|
/// <item>
|
||||||
|
/// <description>false: they are opaque and mutually exclusive (e.g. sprites in a cable coil). <b>Default value</b></description>
|
||||||
|
/// </item>
|
||||||
|
/// <item>
|
||||||
|
/// <description>true: they are transparent and thus layered one over another in ascending order first</description>
|
||||||
|
/// </item>
|
||||||
|
/// </list>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[DataField("composite")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public bool IsComposite;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sprite layers used in stack visualizer. Sprites first in layer correspond to lower stack states
|
||||||
|
/// e.g. <code>_spriteLayers[0]</code> is lower stack level than <code>_spriteLayers[1]</code>.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("layerStates")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public List<string> LayerStates = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
|
|||||||
@@ -24,5 +24,37 @@ namespace Content.Shared.Storage.Components
|
|||||||
|
|
||||||
[DataField("amount")]
|
[DataField("amount")]
|
||||||
public int? MaxAmount { get; set; }
|
public int? MaxAmount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Default IconLayer stack.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("baseLayer")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string BaseLayer = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determines if the visualizer uses composite or non-composite layers for icons. Defaults to false.
|
||||||
|
///
|
||||||
|
/// <list type="bullet">
|
||||||
|
/// <item>
|
||||||
|
/// <description>false: they are opaque and mutually exclusive (e.g. sprites in a cable coil). <b>Default value</b></description>
|
||||||
|
/// </item>
|
||||||
|
/// <item>
|
||||||
|
/// <description>true: they are transparent and thus layered one over another in ascending order first</description>
|
||||||
|
/// </item>
|
||||||
|
/// </list>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[DataField("composite")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public bool IsComposite;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sprite layers used in counter visualizer. Sprites first in layer correspond to lower stack states
|
||||||
|
/// e.g. <code>_spriteLayers[0]</code> is lower stack level than <code>_spriteLayers[1]</code>.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("layerStates")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public List<string> LayerStates = new();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -350,6 +350,24 @@
|
|||||||
sprite: Objects/Misc/6pack.rsi
|
sprite: Objects/Misc/6pack.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: plastic-thingy
|
- state: plastic-thingy
|
||||||
|
- state: 6pack1
|
||||||
|
map: ["6pack1"]
|
||||||
|
visible: false
|
||||||
|
- state: 6pack2
|
||||||
|
map: ["6pack2"]
|
||||||
|
visible: false
|
||||||
|
- state: 6pack3
|
||||||
|
map: ["6pack3"]
|
||||||
|
visible: false
|
||||||
|
- state: 6pack4
|
||||||
|
map: ["6pack4"]
|
||||||
|
visible: false
|
||||||
|
- state: 6pack5
|
||||||
|
map: ["6pack5"]
|
||||||
|
visible: false
|
||||||
|
- state: 6pack6
|
||||||
|
map: ["6pack6"]
|
||||||
|
visible: false
|
||||||
- type: Item
|
- type: Item
|
||||||
size: 6
|
size: 6
|
||||||
- type: Storage
|
- type: Storage
|
||||||
@@ -364,17 +382,15 @@
|
|||||||
- type: ItemCounter
|
- type: ItemCounter
|
||||||
count:
|
count:
|
||||||
tags: [Cola]
|
tags: [Cola]
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- 6pack1
|
||||||
|
- 6pack2
|
||||||
|
- 6pack3
|
||||||
|
- 6pack4
|
||||||
|
- 6pack5
|
||||||
|
- 6pack6
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- 6pack1
|
|
||||||
- 6pack2
|
|
||||||
- 6pack3
|
|
||||||
- 6pack4
|
|
||||||
- 6pack5
|
|
||||||
- 6pack6
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: DrinkCanBaseFull
|
parent: DrinkCanBaseFull
|
||||||
|
|||||||
@@ -193,7 +193,7 @@
|
|||||||
|
|
||||||
# Waffles/Pancakes
|
# Waffles/Pancakes
|
||||||
|
|
||||||
# Once StackVisualizer is updated you should be able to mix/match stacks of pancakes.
|
# Once StackVisuals is updated you should be able to mix/match stacks of pancakes.
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: pancake
|
name: pancake
|
||||||
@@ -206,26 +206,48 @@
|
|||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Pancake
|
stackType: Pancake
|
||||||
count: 1
|
count: 1
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- pancakes1
|
||||||
|
- pancakes2
|
||||||
|
- pancakes3
|
||||||
|
- pancakes4
|
||||||
|
- pancakes5
|
||||||
|
- pancakes6
|
||||||
|
- pancakes7
|
||||||
|
- pancakes8
|
||||||
|
- pancakes9
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: pancakes1
|
state: pancakes1
|
||||||
# - type: Sprite
|
layers:
|
||||||
# layers:
|
- state: pancakes1
|
||||||
# - state: plate-small
|
map: ["pancakes1"]
|
||||||
# - state: pancakes1
|
visible: false
|
||||||
|
- state: pancakes2
|
||||||
|
map: ["pancakes2"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakes3
|
||||||
|
map: ["pancakes3"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakes4
|
||||||
|
map: ["pancakes4"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakes5
|
||||||
|
map: ["pancakes5"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakes6
|
||||||
|
map: ["pancakes6"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakes7
|
||||||
|
map: ["pancakes7"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakes8
|
||||||
|
map: ["pancakes8"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakes9
|
||||||
|
map: ["pancakes9"]
|
||||||
|
visible: false
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- pancakes1
|
|
||||||
- pancakes2
|
|
||||||
- pancakes3
|
|
||||||
- pancakes4
|
|
||||||
- pancakes5
|
|
||||||
- pancakes6
|
|
||||||
- pancakes7
|
|
||||||
- pancakes8
|
|
||||||
- pancakes9
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: blueberry pancake
|
name: blueberry pancake
|
||||||
@@ -238,20 +260,24 @@
|
|||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Pancake
|
stackType: Pancake
|
||||||
count: 1
|
count: 1
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- pancakesbb1
|
||||||
|
- pancakesbb2
|
||||||
|
- pancakesbb3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: pancakesbb1
|
state: pancakesbb1
|
||||||
# - type: Sprite
|
layers:
|
||||||
# layers:
|
- state: pancakesbb1
|
||||||
# - state: plate-small
|
map: ["pancakesbb1"]
|
||||||
# - state: pancakesbb1
|
visible: false
|
||||||
|
- state: pancakesbb2
|
||||||
|
map: ["pancakesbb2"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakesbb3
|
||||||
|
map: ["pancakesbb3"]
|
||||||
|
visible: false
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- pancakesbb1
|
|
||||||
- pancakesbb2
|
|
||||||
- pancakesbb3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: chocolate chip pancake
|
name: chocolate chip pancake
|
||||||
@@ -264,20 +290,24 @@
|
|||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Pancake
|
stackType: Pancake
|
||||||
count: 1
|
count: 1
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- pancakescc1
|
||||||
|
- pancakescc2
|
||||||
|
- pancakescc3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: pancakescc1
|
state: pancakescc1
|
||||||
# - type: Sprite
|
layers:
|
||||||
# layers:
|
- state: pancakescc1
|
||||||
# - state: plate-small
|
map: ["pancakescc1"]
|
||||||
# - state: pancakescc1
|
visible: false
|
||||||
|
- state: pancakescc2
|
||||||
|
map: ["pancakescc2"]
|
||||||
|
visible: false
|
||||||
|
- state: pancakescc3
|
||||||
|
map: ["pancakescc3"]
|
||||||
|
visible: false
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- pancakescc1
|
|
||||||
- pancakescc2
|
|
||||||
- pancakescc3
|
|
||||||
- type: SolutionContainerManager
|
- type: SolutionContainerManager
|
||||||
solutions:
|
solutions:
|
||||||
food:
|
food:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Donut
|
# Donut
|
||||||
|
|
||||||
# There is a newer, better version of the donutbox from tgstation included in the
|
# There is a newer, better version of the donutbox from tgstation included in the
|
||||||
# donut.rsi. The reason it isn't implemented is it requires a StackVisualizer offsetting
|
# donut.rsi. The reason it isn't implemented is it requires a StackVisuals offsetting
|
||||||
# the layer sprite by a couple pixels everytime a new donut is added. It also requires
|
# the layer sprite by a couple pixels everytime a new donut is added. It also requires
|
||||||
# an alpha color which -Y- said he would implement.
|
# an alpha color which -Y- said he would implement.
|
||||||
|
|
||||||
@@ -19,6 +19,25 @@
|
|||||||
- state: box
|
- state: box
|
||||||
- state: box-open
|
- state: box-open
|
||||||
map: ["openLayer"]
|
map: ["openLayer"]
|
||||||
|
visible: false
|
||||||
|
- state: box1
|
||||||
|
map: ["box1"]
|
||||||
|
visible: false
|
||||||
|
- state: pink-box2
|
||||||
|
map: ["pink-box2"]
|
||||||
|
visible: false
|
||||||
|
- state: box3
|
||||||
|
map: ["box3"]
|
||||||
|
visible: false
|
||||||
|
- state: pink-box4
|
||||||
|
map: ["pink-box4"]
|
||||||
|
visible: false
|
||||||
|
- state: box5
|
||||||
|
map: ["box5"]
|
||||||
|
visible: false
|
||||||
|
- state: pink-box6
|
||||||
|
map: ["pink-box6"]
|
||||||
|
visible: false
|
||||||
- type: Storage
|
- type: Storage
|
||||||
capacity: 6
|
capacity: 6
|
||||||
whitelist:
|
whitelist:
|
||||||
@@ -37,17 +56,15 @@
|
|||||||
- type: ItemCounter
|
- type: ItemCounter
|
||||||
count:
|
count:
|
||||||
tags: [Donut]
|
tags: [Donut]
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- box1
|
||||||
|
- pink-box2
|
||||||
|
- box3
|
||||||
|
- pink-box4
|
||||||
|
- box5
|
||||||
|
- pink-box6
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- box1
|
|
||||||
- pink-box2
|
|
||||||
- box3
|
|
||||||
- pink-box4
|
|
||||||
- box5
|
|
||||||
- pink-box6
|
|
||||||
|
|
||||||
# Egg
|
# Egg
|
||||||
|
|
||||||
@@ -65,6 +82,43 @@
|
|||||||
- state: box-closed
|
- state: box-closed
|
||||||
- state: box-open
|
- state: box-open
|
||||||
map: ["openLayer"]
|
map: ["openLayer"]
|
||||||
|
visible: false
|
||||||
|
- state: box1
|
||||||
|
map: ["box1"]
|
||||||
|
visible: false
|
||||||
|
- state: box2
|
||||||
|
map: ["box2"]
|
||||||
|
visible: false
|
||||||
|
- state: box3
|
||||||
|
map: ["box3"]
|
||||||
|
visible: false
|
||||||
|
- state: box4
|
||||||
|
map: ["box4"]
|
||||||
|
visible: false
|
||||||
|
- state: box5
|
||||||
|
map: ["box5"]
|
||||||
|
visible: false
|
||||||
|
- state: box6
|
||||||
|
map: ["box6"]
|
||||||
|
visible: false
|
||||||
|
- state: box7
|
||||||
|
map: ["box7"]
|
||||||
|
visible: false
|
||||||
|
- state: box8
|
||||||
|
map: ["box8"]
|
||||||
|
visible: false
|
||||||
|
- state: box9
|
||||||
|
map: ["box9"]
|
||||||
|
visible: false
|
||||||
|
- state: box10
|
||||||
|
map: ["box10"]
|
||||||
|
visible: false
|
||||||
|
- state: box11
|
||||||
|
map: ["box11"]
|
||||||
|
visible: false
|
||||||
|
- state: box12
|
||||||
|
map: ["box12"]
|
||||||
|
visible: false
|
||||||
- type: Storage
|
- type: Storage
|
||||||
capacity: 12
|
capacity: 12
|
||||||
whitelist:
|
whitelist:
|
||||||
@@ -80,23 +134,21 @@
|
|||||||
- type: ItemCounter
|
- type: ItemCounter
|
||||||
count:
|
count:
|
||||||
tags: [Egg]
|
tags: [Egg]
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- box1
|
||||||
|
- box2
|
||||||
|
- box3
|
||||||
|
- box4
|
||||||
|
- box5
|
||||||
|
- box6
|
||||||
|
- box7
|
||||||
|
- box8
|
||||||
|
- box9
|
||||||
|
- box10
|
||||||
|
- box11
|
||||||
|
- box12
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- box1
|
|
||||||
- box2
|
|
||||||
- box3
|
|
||||||
- box4
|
|
||||||
- box5
|
|
||||||
- box6
|
|
||||||
- box7
|
|
||||||
- box8
|
|
||||||
- box9
|
|
||||||
- box10
|
|
||||||
- box11
|
|
||||||
- box12
|
|
||||||
# Someday...
|
# Someday...
|
||||||
# - type: DamageOnLand
|
# - type: DamageOnLand
|
||||||
# - type: DamageOtherOnHit
|
# - type: DamageOtherOnHit
|
||||||
@@ -228,6 +280,25 @@
|
|||||||
- state: box
|
- state: box
|
||||||
- state: box-open
|
- state: box-open
|
||||||
map: ["openLayer"]
|
map: ["openLayer"]
|
||||||
|
visible: false
|
||||||
|
- state: box1
|
||||||
|
map: ["box1"]
|
||||||
|
visible: false
|
||||||
|
- state: box2
|
||||||
|
map: ["box2"]
|
||||||
|
visible: false
|
||||||
|
- state: box3
|
||||||
|
map: ["box3"]
|
||||||
|
visible: false
|
||||||
|
- state: box4
|
||||||
|
map: ["box4"]
|
||||||
|
visible: false
|
||||||
|
- state: box5
|
||||||
|
map: ["box5"]
|
||||||
|
visible: false
|
||||||
|
- state: box6
|
||||||
|
map: ["box6"]
|
||||||
|
visible: false
|
||||||
- type: Storage
|
- type: Storage
|
||||||
capacity: 6
|
capacity: 6
|
||||||
- type: Item
|
- type: Item
|
||||||
@@ -241,17 +312,15 @@
|
|||||||
- type: ItemCounter
|
- type: ItemCounter
|
||||||
count:
|
count:
|
||||||
tags: [Nugget]
|
tags: [Nugget]
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- box1
|
||||||
|
- box2
|
||||||
|
- box3
|
||||||
|
- box4
|
||||||
|
- box5
|
||||||
|
- box6
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- box1
|
|
||||||
- box2
|
|
||||||
- box3
|
|
||||||
- box4
|
|
||||||
- box5
|
|
||||||
- box6
|
|
||||||
|
|
||||||
# Donkpocket
|
# Donkpocket
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,31 @@
|
|||||||
- state: closed
|
- state: closed
|
||||||
- state: open
|
- state: open
|
||||||
map: ["openLayer"]
|
map: ["openLayer"]
|
||||||
|
visible: false
|
||||||
|
- state: cig1
|
||||||
|
map: ["cig1"]
|
||||||
|
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
|
||||||
|
visible: false
|
||||||
|
- state: cig2
|
||||||
|
map: ["cig2"]
|
||||||
|
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
|
||||||
|
visible: false
|
||||||
|
- state: cig3
|
||||||
|
map: ["cig3"]
|
||||||
|
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
|
||||||
|
visible: false
|
||||||
|
- state: cig4
|
||||||
|
map: ["cig4"]
|
||||||
|
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
|
||||||
|
visible: false
|
||||||
|
- state: cig5
|
||||||
|
map: ["cig5"]
|
||||||
|
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
|
||||||
|
visible: false
|
||||||
|
- state: cig6
|
||||||
|
map: ["cig6"]
|
||||||
|
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
|
||||||
|
visible: false
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- CigPack
|
- CigPack
|
||||||
@@ -29,18 +54,15 @@
|
|||||||
- type: ItemCounter
|
- type: ItemCounter
|
||||||
count:
|
count:
|
||||||
tags: [Cigarette]
|
tags: [Cigarette]
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- cig1
|
||||||
|
- cig2
|
||||||
|
- cig3
|
||||||
|
- cig4
|
||||||
|
- cig5
|
||||||
|
- cig6
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- cig1
|
|
||||||
- cig2
|
|
||||||
- cig3
|
|
||||||
- cig4
|
|
||||||
- cig5
|
|
||||||
- cig6
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: CigPackGreen
|
id: CigPackGreen
|
||||||
|
|||||||
@@ -11,6 +11,30 @@
|
|||||||
- state: closed
|
- state: closed
|
||||||
- state: open
|
- state: open
|
||||||
map: ["openLayer"]
|
map: ["openLayer"]
|
||||||
|
- state: cigar1
|
||||||
|
map: ["cigar1"]
|
||||||
|
visible: false
|
||||||
|
- state: cigar2
|
||||||
|
map: ["cigar2"]
|
||||||
|
visible: false
|
||||||
|
- state: cigar3
|
||||||
|
map: ["cigar3"]
|
||||||
|
visible: false
|
||||||
|
- state: cigar4
|
||||||
|
map: ["cigar4"]
|
||||||
|
visible: false
|
||||||
|
- state: cigar5
|
||||||
|
map: ["cigar5"]
|
||||||
|
visible: false
|
||||||
|
- state: cigar6
|
||||||
|
map: ["cigar6"]
|
||||||
|
visible: false
|
||||||
|
- state: cigar7
|
||||||
|
map: ["cigar7"]
|
||||||
|
visible: false
|
||||||
|
- state: cigar8
|
||||||
|
map: ["cigar8"]
|
||||||
|
visible: false
|
||||||
- type: Storage
|
- type: Storage
|
||||||
capacity: 8
|
capacity: 8
|
||||||
- type: Item
|
- type: Item
|
||||||
@@ -23,19 +47,17 @@
|
|||||||
- type: ItemCounter
|
- type: ItemCounter
|
||||||
count:
|
count:
|
||||||
tags: [Cigar]
|
tags: [Cigar]
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- cigar1
|
||||||
|
- cigar2
|
||||||
|
- cigar3
|
||||||
|
- cigar4
|
||||||
|
- cigar5
|
||||||
|
- cigar6
|
||||||
|
- cigar7
|
||||||
|
- cigar8
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- cigar1
|
|
||||||
- cigar2
|
|
||||||
- cigar3
|
|
||||||
- cigar4
|
|
||||||
- cigar5
|
|
||||||
- cigar6
|
|
||||||
- cigar7
|
|
||||||
- cigar8
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: CigarGoldCase
|
id: CigarGoldCase
|
||||||
|
|||||||
@@ -54,17 +54,19 @@
|
|||||||
Glass: 100
|
Glass: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Glass
|
stackType: Glass
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- glass
|
||||||
|
- glass_2
|
||||||
|
- glass_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: glass_3
|
state: glass_3
|
||||||
|
layers:
|
||||||
|
- state: glass_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: glass
|
heldPrefix: glass
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- glass
|
|
||||||
- glass_2
|
|
||||||
- glass_3
|
|
||||||
- type: FloorTile
|
- type: FloorTile
|
||||||
outputs:
|
outputs:
|
||||||
- FloorGlass
|
- FloorGlass
|
||||||
@@ -97,17 +99,19 @@
|
|||||||
ReinforcedGlass: 100
|
ReinforcedGlass: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: ReinforcedGlass
|
stackType: ReinforcedGlass
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- rglass
|
||||||
|
- rglass_2
|
||||||
|
- rglass_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: rglass_3
|
state: rglass_3
|
||||||
|
layers:
|
||||||
|
- state: rglass_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: rglass
|
heldPrefix: rglass
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- rglass
|
|
||||||
- rglass_2
|
|
||||||
- rglass_3
|
|
||||||
- type: FloorTile
|
- type: FloorTile
|
||||||
outputs:
|
outputs:
|
||||||
- FloorRGlass
|
- FloorRGlass
|
||||||
@@ -140,17 +144,19 @@
|
|||||||
PlasmaGlass: 100
|
PlasmaGlass: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: PlasmaGlass
|
stackType: PlasmaGlass
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- pglass
|
||||||
|
- pglass_2
|
||||||
|
- pglass_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: pglass_3
|
state: pglass_3
|
||||||
|
layers:
|
||||||
|
- state: pglass_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: pglass
|
heldPrefix: pglass
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- pglass
|
|
||||||
- pglass_2
|
|
||||||
- pglass_3
|
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: Glass
|
graph: Glass
|
||||||
node: SheetPGlass
|
node: SheetPGlass
|
||||||
@@ -180,17 +186,19 @@
|
|||||||
ReinforcedPlasmaGlass: 100
|
ReinforcedPlasmaGlass: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: ReinforcedPlasmaGlass
|
stackType: ReinforcedPlasmaGlass
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- rpglass
|
||||||
|
- rpglass_2
|
||||||
|
- rpglass_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: rpglass_3
|
state: rpglass_3
|
||||||
|
layers:
|
||||||
|
- state: rpglass_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: rpglass
|
heldPrefix: rpglass
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- rpglass
|
|
||||||
- rpglass_2
|
|
||||||
- rpglass_3
|
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: Glass
|
graph: Glass
|
||||||
node: SheetRPGlass
|
node: SheetRPGlass
|
||||||
@@ -220,17 +228,19 @@
|
|||||||
UraniumGlass: 100
|
UraniumGlass: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: UraniumGlass
|
stackType: UraniumGlass
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- uglass
|
||||||
|
- uglass_2
|
||||||
|
- uglass_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: uglass_3
|
state: uglass_3
|
||||||
|
layers:
|
||||||
|
- state: uglass_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: uglass
|
heldPrefix: uglass
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- uglass
|
|
||||||
- uglass_2
|
|
||||||
- uglass_3
|
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: Glass
|
graph: Glass
|
||||||
node: SheetUGlass
|
node: SheetUGlass
|
||||||
@@ -260,17 +270,19 @@
|
|||||||
ReinforcedUraniumGlass: 100
|
ReinforcedUraniumGlass: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: ReinforcedUraniumGlass
|
stackType: ReinforcedUraniumGlass
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- ruglass
|
||||||
|
- ruglass_2
|
||||||
|
- ruglass_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: ruglass_3
|
state: ruglass_3
|
||||||
|
layers:
|
||||||
|
- state: ruglass_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: ruglass
|
heldPrefix: ruglass
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- ruglass
|
|
||||||
- ruglass_2
|
|
||||||
- ruglass_3
|
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: Glass
|
graph: Glass
|
||||||
node: SheetRUGlass
|
node: SheetRUGlass
|
||||||
|
|||||||
@@ -41,17 +41,19 @@
|
|||||||
Steel: 100
|
Steel: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Steel
|
stackType: Steel
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- steel
|
||||||
|
- steel_2
|
||||||
|
- steel_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: steel_3
|
state: steel_3
|
||||||
|
layers:
|
||||||
|
- state: plasteel_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: steel
|
heldPrefix: steel
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- steel
|
|
||||||
- steel_2
|
|
||||||
- steel_3
|
|
||||||
- type: FloorTile
|
- type: FloorTile
|
||||||
outputs:
|
outputs:
|
||||||
- Plating
|
- Plating
|
||||||
@@ -80,17 +82,19 @@
|
|||||||
Plasteel: 100
|
Plasteel: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Plasteel
|
stackType: Plasteel
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- plasteel
|
||||||
|
- plasteel_2
|
||||||
|
- plasteel_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: plasteel_3
|
state: plasteel_3
|
||||||
|
layers:
|
||||||
|
- state: plasteel_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: plasteel
|
heldPrefix: plasteel
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- plasteel
|
|
||||||
- plasteel_2
|
|
||||||
- plasteel_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: SheetPlasteel
|
parent: SheetPlasteel
|
||||||
|
|||||||
@@ -33,17 +33,19 @@
|
|||||||
components:
|
components:
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Paper
|
stackType: Paper
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- paper
|
||||||
|
- paper_2
|
||||||
|
- paper_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: paper_3
|
state: paper_3
|
||||||
|
layers:
|
||||||
|
- state: paper_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: paper
|
heldPrefix: paper
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- paper
|
|
||||||
- paper_2
|
|
||||||
- paper_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: SheetPaper
|
parent: SheetPaper
|
||||||
@@ -68,17 +70,19 @@
|
|||||||
Plasma: 100
|
Plasma: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Plasma
|
stackType: Plasma
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- plasma
|
||||||
|
- plasma_2
|
||||||
|
- plasma_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: plasma_3
|
state: plasma_3
|
||||||
|
layers:
|
||||||
|
- state: plasma_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: plasma
|
heldPrefix: plasma
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- plasma
|
|
||||||
- plasma_2
|
|
||||||
- plasma_3
|
|
||||||
- type: Extractable
|
- type: Extractable
|
||||||
grindableSolutionName: plasma
|
grindableSolutionName: plasma
|
||||||
- type: SolutionContainerManager
|
- type: SolutionContainerManager
|
||||||
@@ -119,17 +123,19 @@
|
|||||||
Plastic: 100
|
Plastic: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Plastic
|
stackType: Plastic
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- plastic
|
||||||
|
- plastic_2
|
||||||
|
- plastic_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: plastic_3
|
state: plastic_3
|
||||||
|
layers:
|
||||||
|
- state: plastic_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: plastic
|
heldPrefix: plastic
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- plastic
|
|
||||||
- plastic_2
|
|
||||||
- plastic_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: SheetPlastic
|
parent: SheetPlastic
|
||||||
@@ -156,15 +162,17 @@
|
|||||||
Uranium: 100
|
Uranium: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Uranium
|
stackType: Uranium
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- uranium
|
||||||
|
- uranium_2
|
||||||
|
- uranium_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: uranium_3
|
state: uranium_3
|
||||||
|
layers:
|
||||||
|
- state: uranium_3
|
||||||
|
map: ["base"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- uranium
|
|
||||||
- uranium_2
|
|
||||||
- uranium_3
|
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: uranium
|
heldPrefix: uranium
|
||||||
- type: Extractable
|
- type: Extractable
|
||||||
|
|||||||
@@ -39,17 +39,19 @@
|
|||||||
Gold: 100
|
Gold: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Gold
|
stackType: Gold
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- gold
|
||||||
|
- gold_2
|
||||||
|
- gold_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: gold_3
|
state: gold_3
|
||||||
|
layers:
|
||||||
|
- state: gold_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: gold
|
heldPrefix: gold
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- gold
|
|
||||||
- gold_2
|
|
||||||
- gold_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: IngotGold
|
parent: IngotGold
|
||||||
@@ -74,17 +76,19 @@
|
|||||||
Silver: 100
|
Silver: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Silver
|
stackType: Silver
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- silver
|
||||||
|
- silver_2
|
||||||
|
- silver_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: silver_3
|
state: silver_3
|
||||||
|
layers:
|
||||||
|
- state: silver_3
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: silver
|
heldPrefix: silver
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- silver
|
|
||||||
- silver_2
|
|
||||||
- silver_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: IngotSilver
|
parent: IngotSilver
|
||||||
|
|||||||
@@ -37,15 +37,17 @@
|
|||||||
Cardboard: 100
|
Cardboard: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Cardboard
|
stackType: Cardboard
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- cardboard
|
||||||
|
- cardboard_2
|
||||||
|
- cardboard_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: cardboard_3
|
state: cardboard_3
|
||||||
|
layers:
|
||||||
|
- state: cardboard_3
|
||||||
|
map: ["base"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- cardboard
|
|
||||||
- cardboard_2
|
|
||||||
- cardboard_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: MaterialCardboard
|
parent: MaterialCardboard
|
||||||
@@ -81,6 +83,11 @@
|
|||||||
path: "/Audio/Items/Medical/brutepack_end.ogg"
|
path: "/Audio/Items/Medical/brutepack_end.ogg"
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Cloth
|
stackType: Cloth
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- cloth
|
||||||
|
- cloth_2
|
||||||
|
- cloth_3
|
||||||
- type: Material
|
- type: Material
|
||||||
- type: PhysicalComposition
|
- type: PhysicalComposition
|
||||||
materialComposition:
|
materialComposition:
|
||||||
@@ -92,13 +99,10 @@
|
|||||||
Quantity: 3
|
Quantity: 3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: cloth_3
|
state: cloth_3
|
||||||
|
layers:
|
||||||
|
- state: cloth_3
|
||||||
|
map: ["base"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- cloth
|
|
||||||
- cloth_2
|
|
||||||
- cloth_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: MaterialCloth
|
parent: MaterialCloth
|
||||||
@@ -118,19 +122,21 @@
|
|||||||
components:
|
components:
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Durathread
|
stackType: Durathread
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- durathread
|
||||||
|
- durathread_2
|
||||||
|
- durathread_3
|
||||||
- type: Material
|
- type: Material
|
||||||
- type: PhysicalComposition
|
- type: PhysicalComposition
|
||||||
materialComposition:
|
materialComposition:
|
||||||
Durathread: 100
|
Durathread: 100
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: durathread_3
|
state: durathread_3
|
||||||
|
layers:
|
||||||
|
- state: durathread_3
|
||||||
|
map: ["base"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- durathread
|
|
||||||
- durathread_2
|
|
||||||
- durathread_3
|
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: Durathread
|
graph: Durathread
|
||||||
node: MaterialDurathread
|
node: MaterialDurathread
|
||||||
@@ -157,15 +163,17 @@
|
|||||||
Wood: 100
|
Wood: 100
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: WoodPlank
|
stackType: WoodPlank
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- wood
|
||||||
|
- wood_2
|
||||||
|
- wood_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: wood
|
state: wood
|
||||||
|
layers:
|
||||||
|
- state: wood
|
||||||
|
map: ["base"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- wood
|
|
||||||
- wood_2
|
|
||||||
- wood_3
|
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: wood
|
heldPrefix: wood
|
||||||
|
|
||||||
@@ -262,15 +270,17 @@
|
|||||||
components:
|
components:
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Cotton
|
stackType: Cotton
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- cotton
|
||||||
|
- cotton_2
|
||||||
|
- cotton_3
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: cotton_3
|
state: cotton_3
|
||||||
|
layers:
|
||||||
|
- state: cotton_3
|
||||||
|
map: ["base"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- cotton
|
|
||||||
- cotton_2
|
|
||||||
- cotton_3
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: MaterialCotton
|
parent: MaterialCotton
|
||||||
@@ -294,9 +304,16 @@
|
|||||||
Bananium: 150
|
Bananium: 150
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: bananium_1
|
state: bananium_1
|
||||||
|
layers:
|
||||||
|
- state: bananium_1
|
||||||
|
map: ["base"]
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Bananium
|
stackType: Bananium
|
||||||
count: 10
|
count: 10
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- bananium
|
||||||
|
- bananium_1
|
||||||
- type: RadiationSource
|
- type: RadiationSource
|
||||||
intensity: 0.3
|
intensity: 0.3
|
||||||
- type: FlavorProfile
|
- type: FlavorProfile
|
||||||
@@ -323,11 +340,6 @@
|
|||||||
- ReagentId: Honk
|
- ReagentId: Honk
|
||||||
Quantity: 5
|
Quantity: 5
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- bananium
|
|
||||||
- bananium_1
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: MaterialBananium
|
parent: MaterialBananium
|
||||||
|
|||||||
@@ -33,22 +33,24 @@
|
|||||||
components:
|
components:
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: MetalRod
|
stackType: MetalRod
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- rods
|
||||||
|
- rods_2
|
||||||
|
- rods_3
|
||||||
|
- rods_4
|
||||||
|
- rods_5
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: rods_5
|
state: rods_5
|
||||||
|
layers:
|
||||||
|
- state: rods_5
|
||||||
|
map: ["base"]
|
||||||
# - type: Item
|
# - type: Item
|
||||||
# heldPrefix: rods
|
# heldPrefix: rods
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: MetalRod
|
graph: MetalRod
|
||||||
node: MetalRod
|
node: MetalRod
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- rods
|
|
||||||
- rods_2
|
|
||||||
- rods_3
|
|
||||||
- rods_4
|
|
||||||
- rods_5
|
|
||||||
- type: FloorTile
|
- type: FloorTile
|
||||||
outputs:
|
outputs:
|
||||||
- Lattice
|
- Lattice
|
||||||
|
|||||||
@@ -13,10 +13,21 @@
|
|||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: Credit
|
stackType: Credit
|
||||||
count: 1
|
count: 1
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- cash
|
||||||
|
- cash_10
|
||||||
|
- cash_100
|
||||||
|
- cash_500
|
||||||
|
- cash_1000
|
||||||
|
- cash_1000000
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Economy/cash.rsi
|
sprite: Objects/Economy/cash.rsi
|
||||||
netsync: false
|
netsync: false
|
||||||
state: cash
|
state: cash
|
||||||
|
layers:
|
||||||
|
- state: cash
|
||||||
|
map: ["base"]
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: Dynamic
|
bodyType: Dynamic
|
||||||
- type: Fixtures
|
- type: Fixtures
|
||||||
@@ -29,19 +40,6 @@
|
|||||||
mask:
|
mask:
|
||||||
- ItemMask
|
- ItemMask
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
# TODO: This won't work because stackvisualizer works based off of an even count and not denominations.
|
|
||||||
# Ideally we'd just be able to specify at what count does the new layer take place e.g.
|
|
||||||
# - 10: cash_10
|
|
||||||
# - 100: cash_100
|
|
||||||
stackLayers:
|
|
||||||
- cash
|
|
||||||
- cash_10
|
|
||||||
- cash_100
|
|
||||||
- cash_500
|
|
||||||
- cash_1000
|
|
||||||
- cash_1000000
|
|
||||||
|
|
||||||
- type: material
|
- type: material
|
||||||
id: Credit
|
id: Credit
|
||||||
|
|||||||
@@ -36,20 +36,22 @@
|
|||||||
components:
|
components:
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: CableHV
|
stackType: CableHV
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- coilhv-10
|
||||||
|
- coilhv-20
|
||||||
|
- coilhv-30
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: coilhv-30
|
state: coilhv-30
|
||||||
|
layers:
|
||||||
|
- state: coilhv-30
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: coilhv
|
heldPrefix: coilhv
|
||||||
- type: CablePlacer
|
- type: CablePlacer
|
||||||
cablePrototypeID: CableHV
|
cablePrototypeID: CableHV
|
||||||
blockingWireType: HighVoltage
|
blockingWireType: HighVoltage
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- coilhv-10
|
|
||||||
- coilhv-20
|
|
||||||
- coilhv-30
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: CableHVStack
|
parent: CableHVStack
|
||||||
@@ -70,20 +72,22 @@
|
|||||||
components:
|
components:
|
||||||
- type: Stack
|
- type: Stack
|
||||||
stackType: CableMV
|
stackType: CableMV
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- coilmv-10
|
||||||
|
- coilmv-20
|
||||||
|
- coilmv-30
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: coilmv-30
|
state: coilmv-30
|
||||||
|
layers:
|
||||||
|
- state: coilmv-30
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: coilmv
|
heldPrefix: coilmv
|
||||||
- type: CablePlacer
|
- type: CablePlacer
|
||||||
cablePrototypeID: CableMV
|
cablePrototypeID: CableMV
|
||||||
blockingWireType: MediumVoltage
|
blockingWireType: MediumVoltage
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- coilmv-10
|
|
||||||
- coilmv-20
|
|
||||||
- coilmv-30
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: CableMVStack
|
parent: CableMVStack
|
||||||
@@ -104,18 +108,21 @@
|
|||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: coillv-30
|
state: coillv-30
|
||||||
|
layers:
|
||||||
|
- state: coillv-30
|
||||||
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
heldPrefix: coillv
|
heldPrefix: coillv
|
||||||
|
- type: Stack
|
||||||
|
baseLayer: base
|
||||||
|
layerStates:
|
||||||
|
- coillv-10
|
||||||
|
- coillv-20
|
||||||
|
- coillv-30
|
||||||
- type: CablePlacer
|
- type: CablePlacer
|
||||||
cablePrototypeID: CableApcExtension
|
cablePrototypeID: CableApcExtension
|
||||||
blockingWireType: Apc
|
blockingWireType: Apc
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
stackLayers:
|
|
||||||
- coillv-10
|
|
||||||
- coillv-20
|
|
||||||
- coillv-30
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: CableApcStack
|
parent: CableApcStack
|
||||||
|
|||||||
@@ -23,13 +23,7 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- DroneUsable
|
- DroneUsable
|
||||||
# - type: Appearance # TODO: Add stack sprites
|
# TODO: Add stack sprites + visuals.
|
||||||
# visuals:
|
|
||||||
# - type: StackVisualizer
|
|
||||||
# stackLayers:
|
|
||||||
# - coillv-10
|
|
||||||
# - coillv-20
|
|
||||||
# - coillv-30
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: InflatableDoorStack
|
id: InflatableDoorStack
|
||||||
@@ -56,6 +50,7 @@
|
|||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- DroneUsable
|
- DroneUsable
|
||||||
|
# TODO: Add stack sprites + visuals.
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: InflatableWallStack
|
parent: InflatableWallStack
|
||||||
|
|||||||
@@ -70,6 +70,15 @@
|
|||||||
- state: matchbox
|
- state: matchbox
|
||||||
- state: matchbox-open
|
- state: matchbox-open
|
||||||
map: ["openLayer"]
|
map: ["openLayer"]
|
||||||
|
- state: matchbox1
|
||||||
|
map: ["matchbox1"]
|
||||||
|
visible: false
|
||||||
|
- state: matchbox2
|
||||||
|
map: ["matchbox2"]
|
||||||
|
visible: false
|
||||||
|
- state: matchbox3
|
||||||
|
map: ["matchbox3"]
|
||||||
|
visible: false
|
||||||
- type: Item
|
- type: Item
|
||||||
sprite: Objects/Tools/matches.rsi
|
sprite: Objects/Tools/matches.rsi
|
||||||
heldPrefix: matchbox
|
heldPrefix: matchbox
|
||||||
@@ -83,14 +92,12 @@
|
|||||||
- type: ItemCounter
|
- type: ItemCounter
|
||||||
count:
|
count:
|
||||||
tags: [Matchstick]
|
tags: [Matchstick]
|
||||||
|
composite: true
|
||||||
|
layerStates:
|
||||||
|
- matchbox1
|
||||||
|
- matchbox2
|
||||||
|
- matchbox3
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
|
||||||
- type: StackVisualizer
|
|
||||||
composite: true
|
|
||||||
stackLayers:
|
|
||||||
- matchbox1
|
|
||||||
- matchbox2
|
|
||||||
- matchbox3
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Trash
|
- Trash
|
||||||
|
|||||||
Reference in New Issue
Block a user