Resolves StorageVisualizer is Obsolete (#13910)
This commit is contained in:
@@ -0,0 +1,82 @@
|
|||||||
|
using Content.Shared.Storage;
|
||||||
|
using Robust.Client.GameObjects;
|
||||||
|
|
||||||
|
namespace Content.Client.Storage.Visualizers;
|
||||||
|
|
||||||
|
public sealed class EntityStorageVisualizerSystem : VisualizerSystem<EntityStorageVisualsComponent>
|
||||||
|
{
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
base.Initialize();
|
||||||
|
SubscribeLocalEvent<EntityStorageVisualsComponent, ComponentInit>(OnComponentInit);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the base sprite to this layer. Exists to make the inheritance tree less boilerplate-y.
|
||||||
|
/// </summary>
|
||||||
|
private void OnComponentInit(EntityUid uid, EntityStorageVisualsComponent comp, ComponentInit args)
|
||||||
|
{
|
||||||
|
if (comp.StateBaseClosed == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
comp.StateBaseOpen ??= comp.StateBaseClosed;
|
||||||
|
if (!TryComp<SpriteComponent>(uid, out var sprite))
|
||||||
|
return;
|
||||||
|
|
||||||
|
sprite.LayerSetState(StorageVisualLayers.Base, comp.StateBaseClosed);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnAppearanceChange(EntityUid uid, EntityStorageVisualsComponent comp, ref AppearanceChangeEvent args)
|
||||||
|
{
|
||||||
|
if (args.Sprite == null
|
||||||
|
|| !AppearanceSystem.TryGetData<bool>(uid, StorageVisuals.Open, out var open, args.Component))
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Open/Closed state for the storage entity.
|
||||||
|
if (args.Sprite.LayerMapTryGet(StorageVisualLayers.Door, out _))
|
||||||
|
{
|
||||||
|
if (open)
|
||||||
|
{
|
||||||
|
args.Sprite.LayerSetVisible(StorageVisualLayers.Door, true);
|
||||||
|
if (comp.StateDoorOpen != null)
|
||||||
|
args.Sprite.LayerSetState(StorageVisualLayers.Door, comp.StateDoorOpen);
|
||||||
|
|
||||||
|
if (comp.StateBaseOpen != null)
|
||||||
|
args.Sprite.LayerSetState(StorageVisualLayers.Base, comp.StateBaseOpen);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (comp.StateDoorClosed != null)
|
||||||
|
{
|
||||||
|
args.Sprite.LayerSetState(StorageVisualLayers.Door, comp.StateDoorClosed);
|
||||||
|
args.Sprite.LayerSetVisible(StorageVisualLayers.Door, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
args.Sprite.LayerSetVisible(StorageVisualLayers.Door, false);
|
||||||
|
|
||||||
|
if (comp.StateBaseClosed != null)
|
||||||
|
args.Sprite.LayerSetState(StorageVisualLayers.Base, comp.StateBaseClosed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lock state for the storage entity. TODO: Split into its own visualizer.
|
||||||
|
if (AppearanceSystem.TryGetData<bool>(uid, StorageVisuals.CanLock, out var canLock, args.Component) && canLock)
|
||||||
|
{
|
||||||
|
if (!AppearanceSystem.TryGetData<bool>(uid, StorageVisuals.Locked, out var locked, args.Component))
|
||||||
|
locked = true;
|
||||||
|
|
||||||
|
args.Sprite.LayerSetVisible(StorageVisualLayers.Lock, !open);
|
||||||
|
if (!open)
|
||||||
|
{
|
||||||
|
args.Sprite.LayerSetState(StorageVisualLayers.Lock, locked ? comp.StateLocked : comp.StateUnlocked);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum StorageVisualLayers : byte
|
||||||
|
{
|
||||||
|
Base,
|
||||||
|
Door,
|
||||||
|
Lock
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
namespace Content.Client.Storage.Visualizers;
|
||||||
|
|
||||||
|
[RegisterComponent]
|
||||||
|
[Access(typeof(EntityStorageVisualizerSystem))]
|
||||||
|
public sealed class EntityStorageVisualsComponent : Component
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The RSI state used for the base layer of the storage entity sprite while the storage is closed.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("stateBaseClosed")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string? StateBaseClosed;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The RSI state used for the base layer of the storage entity sprite while the storage is open.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("stateBaseOpen")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string? StateBaseOpen;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The RSI state used for the door/lid while the storage is open.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("stateDoorOpen")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string? StateDoorOpen;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The RSI state used for the door/lid while the storage is closed.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("stateDoorClosed")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string? StateDoorClosed;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The RSI state used for the lock indicator while the storage is locked.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("stateLocked")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string? StateLocked = "locked";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The RSI state used for the lock indicator while the storage is unlocked.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("stateUnlocked")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string? StateUnlocked = "unlocked";
|
||||||
|
}
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
using Content.Shared.Storage;
|
|
||||||
using JetBrains.Annotations;
|
|
||||||
using Robust.Client.GameObjects;
|
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
using Robust.Shared.IoC;
|
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
|
||||||
|
|
||||||
namespace Content.Client.Storage.Visualizers
|
|
||||||
{
|
|
||||||
[UsedImplicitly]
|
|
||||||
public sealed class StorageVisualizer : AppearanceVisualizer
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Sets the base sprite to this layer. Exists to make the inheritance tree less boilerplate-y.
|
|
||||||
/// </summary>
|
|
||||||
[DataField("state")]
|
|
||||||
private string? _stateBase;
|
|
||||||
[DataField("state_alt")]
|
|
||||||
private string? _stateBaseAlt;
|
|
||||||
[DataField("state_open")]
|
|
||||||
private string? _stateOpen;
|
|
||||||
[DataField("state_closed")]
|
|
||||||
private string? _stateClosed;
|
|
||||||
|
|
||||||
[Obsolete("Subscribe to your component being initialised instead.")]
|
|
||||||
public override void InitializeEntity(EntityUid entity)
|
|
||||||
{
|
|
||||||
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out SpriteComponent? sprite))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_stateBase != null)
|
|
||||||
{
|
|
||||||
sprite.LayerSetState(0, _stateBase);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_stateBaseAlt == null)
|
|
||||||
{
|
|
||||||
_stateBaseAlt = _stateBase;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[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? sprite))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
component.TryGetData(StorageVisuals.Open, out bool open);
|
|
||||||
|
|
||||||
if (sprite.LayerMapTryGet(StorageVisualLayers.Door, out _))
|
|
||||||
{
|
|
||||||
sprite.LayerSetVisible(StorageVisualLayers.Door, true);
|
|
||||||
|
|
||||||
if (open)
|
|
||||||
{
|
|
||||||
if (_stateOpen != null)
|
|
||||||
{
|
|
||||||
sprite.LayerSetState(StorageVisualLayers.Door, _stateOpen);
|
|
||||||
sprite.LayerSetVisible(StorageVisualLayers.Door, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_stateBaseAlt != null)
|
|
||||||
sprite.LayerSetState(0, _stateBaseAlt);
|
|
||||||
}
|
|
||||||
else if (!open)
|
|
||||||
{
|
|
||||||
if (_stateClosed != null)
|
|
||||||
sprite.LayerSetState(StorageVisualLayers.Door, _stateClosed);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sprite.LayerSetVisible(StorageVisualLayers.Door, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_stateBase != null)
|
|
||||||
sprite.LayerSetState(0, _stateBase);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sprite.LayerSetVisible(StorageVisualLayers.Door, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (component.TryGetData(StorageVisuals.CanLock, out bool canLock) && canLock)
|
|
||||||
{
|
|
||||||
if (!component.TryGetData(StorageVisuals.Locked, out bool locked))
|
|
||||||
{
|
|
||||||
locked = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
sprite.LayerSetVisible(StorageVisualLayers.Lock, !open);
|
|
||||||
if (!open)
|
|
||||||
{
|
|
||||||
sprite.LayerSetState(StorageVisualLayers.Lock, locked ? "locked" : "unlocked");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum StorageVisualLayers : byte
|
|
||||||
{
|
|
||||||
Door,
|
|
||||||
Lock
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -41,9 +41,9 @@ public sealed class EntityStorageSystem : SharedEntityStorageSystem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnInit(EntityUid uid, SharedEntityStorageComponent component, ComponentInit args)
|
protected override void OnComponentInit(EntityUid uid, SharedEntityStorageComponent component, ComponentInit args)
|
||||||
{
|
{
|
||||||
base.OnInit(uid, component, args);
|
base.OnComponentInit(uid, component, args);
|
||||||
|
|
||||||
if (TryComp<ConstructionComponent>(uid, out var construction))
|
if (TryComp<ConstructionComponent>(uid, out var construction))
|
||||||
_construction.AddContainer(uid, ContainerName, construction);
|
_construction.AddContainer(uid, ContainerName, construction);
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ public sealed class LockSystem : EntitySystem
|
|||||||
private void OnStartup(EntityUid uid, LockComponent lockComp, ComponentStartup args)
|
private void OnStartup(EntityUid uid, LockComponent lockComp, ComponentStartup args)
|
||||||
{
|
{
|
||||||
_appearanceSystem.SetData(uid, StorageVisuals.CanLock, true);
|
_appearanceSystem.SetData(uid, StorageVisuals.CanLock, true);
|
||||||
|
_appearanceSystem.SetData(uid, StorageVisuals.Locked, lockComp.Locked);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnActivated(EntityUid uid, LockComponent lockComp, ActivateInWorldEvent args)
|
private void OnActivated(EntityUid uid, LockComponent lockComp, ActivateInWorldEvent args)
|
||||||
|
|||||||
@@ -43,8 +43,9 @@ public abstract class SharedEntityStorageSystem : EntitySystem
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
SubscribeLocalEvent<SharedEntityStorageComponent, ComponentInit>(OnInit);
|
SubscribeLocalEvent<SharedEntityStorageComponent, ComponentInit>(OnComponentInit);
|
||||||
SubscribeLocalEvent<SharedEntityStorageComponent, ActivateInWorldEvent>(OnInteract, after: new[]{typeof(LockSystem)});
|
SubscribeLocalEvent<SharedEntityStorageComponent, ComponentStartup>(OnComponentStartup);
|
||||||
|
SubscribeLocalEvent<SharedEntityStorageComponent, ActivateInWorldEvent>(OnInteract, after: new[] { typeof(LockSystem) });
|
||||||
SubscribeLocalEvent<SharedEntityStorageComponent, LockToggleAttemptEvent>(OnLockToggleAttempt);
|
SubscribeLocalEvent<SharedEntityStorageComponent, LockToggleAttemptEvent>(OnLockToggleAttempt);
|
||||||
SubscribeLocalEvent<SharedEntityStorageComponent, DestructionEventArgs>(OnDestruction);
|
SubscribeLocalEvent<SharedEntityStorageComponent, DestructionEventArgs>(OnDestruction);
|
||||||
SubscribeLocalEvent<SharedEntityStorageComponent, GetVerbsEvent<InteractionVerb>>(AddToggleOpenVerb);
|
SubscribeLocalEvent<SharedEntityStorageComponent, GetVerbsEvent<InteractionVerb>>(AddToggleOpenVerb);
|
||||||
@@ -76,13 +77,18 @@ public abstract class SharedEntityStorageSystem : EntitySystem
|
|||||||
component.IsWeldedShut = state.IsWeldedShut;
|
component.IsWeldedShut = state.IsWeldedShut;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void OnInit(EntityUid uid, SharedEntityStorageComponent component, ComponentInit args)
|
protected virtual void OnComponentInit(EntityUid uid, SharedEntityStorageComponent component, ComponentInit args)
|
||||||
{
|
{
|
||||||
component.Contents = _container.EnsureContainer<Container>(uid, ContainerName);
|
component.Contents = _container.EnsureContainer<Container>(uid, ContainerName);
|
||||||
component.Contents.ShowContents = component.ShowContents;
|
component.Contents.ShowContents = component.ShowContents;
|
||||||
component.Contents.OccludesLight = component.OccludesLight;
|
component.Contents.OccludesLight = component.OccludesLight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected virtual void OnComponentStartup(EntityUid uid, SharedEntityStorageComponent component, ComponentStartup args)
|
||||||
|
{
|
||||||
|
_appearance.SetData(uid, StorageVisuals.Open, component.Open);
|
||||||
|
}
|
||||||
|
|
||||||
private void OnInteract(EntityUid uid, SharedEntityStorageComponent component, ActivateInWorldEvent args)
|
private void OnInteract(EntityUid uid, SharedEntityStorageComponent component, ActivateInWorldEvent args)
|
||||||
{
|
{
|
||||||
if (args.Handled)
|
if (args.Handled)
|
||||||
|
|||||||
@@ -203,6 +203,7 @@
|
|||||||
drawdepth: SmallObjects
|
drawdepth: SmallObjects
|
||||||
layers:
|
layers:
|
||||||
- state: box
|
- state: box
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: box-open
|
- state: box-open
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
netsync: false
|
netsync: false
|
||||||
@@ -216,10 +217,9 @@
|
|||||||
sprite: Objects/Consumable/Food/Baked/pizza.rsi
|
sprite: Objects/Consumable/Food/Baked/pizza.rsi
|
||||||
heldPrefix: box
|
heldPrefix: box
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateDoorOpen: box-open
|
||||||
state_open: box-open
|
stateDoorClosed: box
|
||||||
state_closed: box
|
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 0
|
price: 0
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
sprite: Objects/Specific/Medical/Morgue/bodybags.rsi
|
sprite: Objects/Specific/Medical/Morgue/bodybags.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: bag
|
- state: bag
|
||||||
map: ["unfoldedLayer"]
|
map: ["unfoldedLayer", "enum.StorageVisualLayers.Base"]
|
||||||
- state: bag_folded
|
- state: bag_folded
|
||||||
map: ["foldedLayer"]
|
map: ["foldedLayer"]
|
||||||
visible: false
|
visible: false
|
||||||
@@ -58,9 +58,8 @@
|
|||||||
components:
|
components:
|
||||||
- Paper
|
- Paper
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateDoorOpen: open_overlay
|
||||||
state_open: open_overlay
|
|
||||||
- type: GenericVisualizer
|
- type: GenericVisualizer
|
||||||
visuals:
|
visuals:
|
||||||
enum.PaperLabelVisuals.HasLabel:
|
enum.PaperLabelVisuals.HasLabel:
|
||||||
|
|||||||
@@ -11,15 +11,16 @@
|
|||||||
drawdepth: Objects
|
drawdepth: Objects
|
||||||
sprite: Structures/Storage/Crates/artifact.rsi
|
sprite: Structures/Storage/Crates/artifact.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: artifact_container
|
- state: artifact_container
|
||||||
- state: artifact_container_door
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
- state: artifact_container_door
|
||||||
- state: welded
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
visible: false
|
- state: welded
|
||||||
map: ["enum.WeldableLayers.BaseWelded"]
|
visible: false
|
||||||
- state: locked
|
map: ["enum.WeldableLayers.BaseWelded"]
|
||||||
map: ["enum.StorageVisualLayers.Lock"]
|
- state: locked
|
||||||
shader: unshaded
|
map: ["enum.StorageVisualLayers.Lock"]
|
||||||
|
shader: unshaded
|
||||||
- type: InteractionOutline
|
- type: InteractionOutline
|
||||||
- type: Physics
|
- type: Physics
|
||||||
- type: Fixtures
|
- type: Fixtures
|
||||||
@@ -64,10 +65,9 @@
|
|||||||
components:
|
components:
|
||||||
- Paper
|
- Paper
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateDoorOpen: artifact_container_open
|
||||||
state_open: artifact_container_open
|
stateDoorClosed: artifact_container_door
|
||||||
state_closed: artifact_container_door
|
|
||||||
- type: ItemSlots
|
- type: ItemSlots
|
||||||
- type: ContainerContainer
|
- type: ContainerContainer
|
||||||
containers:
|
containers:
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
snapCardinals: true
|
snapCardinals: true
|
||||||
layers:
|
layers:
|
||||||
- state: fat
|
- state: fat
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: fat_door_off
|
- state: fat_door_off
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: fat_red
|
- state: fat_red
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
noRot: true
|
noRot: true
|
||||||
layers:
|
layers:
|
||||||
- state: generic
|
- state: generic
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: generic_door
|
- state: generic_door
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: locked
|
- state: locked
|
||||||
|
|||||||
@@ -5,11 +5,10 @@
|
|||||||
description: This is where the bartender keeps the booze.
|
description: This is where the bartender keeps the booze.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: cabinet
|
||||||
state: cabinet
|
stateDoorOpen: cabinet_open
|
||||||
state_open: cabinet_open
|
stateDoorClosed: cabinet_door
|
||||||
state_closed: cabinet_door
|
|
||||||
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Bar"]]
|
access: [["Bar"]]
|
||||||
@@ -26,11 +25,10 @@
|
|||||||
name: quartermaster's locker
|
name: quartermaster's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: qm
|
||||||
state: qm
|
stateDoorOpen: qm_open
|
||||||
state_open: qm_open
|
stateDoorClosed: qm_door
|
||||||
state_closed: qm_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Quartermaster"]]
|
access: [["Quartermaster"]]
|
||||||
|
|
||||||
@@ -41,11 +39,10 @@
|
|||||||
description: Nevermind the pickaxe.
|
description: Nevermind the pickaxe.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: mining
|
||||||
state: mining
|
stateDoorOpen: mining_open
|
||||||
state_open: mining_open
|
stateDoorClosed: mining_door
|
||||||
state_closed: mining_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Salvage"]]
|
access: [["Salvage"]]
|
||||||
|
|
||||||
@@ -56,11 +53,10 @@
|
|||||||
name: captain's locker
|
name: captain's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: cap
|
||||||
state: cap
|
stateDoorOpen: cap_open
|
||||||
state_open: cap_open
|
stateDoorClosed: cap_door
|
||||||
state_closed: cap_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Captain"]]
|
access: [["Captain"]]
|
||||||
|
|
||||||
@@ -70,11 +66,10 @@
|
|||||||
name: head of personnel's locker
|
name: head of personnel's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: hop
|
||||||
state: hop
|
stateDoorOpen: hop_open
|
||||||
state_open: hop_open
|
stateDoorClosed: hop_door
|
||||||
state_closed: hop_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["HeadOfPersonnel"]]
|
access: [["HeadOfPersonnel"]]
|
||||||
|
|
||||||
@@ -85,11 +80,10 @@
|
|||||||
name: chief engineer's locker
|
name: chief engineer's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: ce
|
||||||
state: ce
|
stateDoorOpen: ce_open
|
||||||
state_open: ce_open
|
stateDoorClosed: ce_door
|
||||||
state_closed: ce_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "ChiefEngineer" ] ]
|
access: [ [ "ChiefEngineer" ] ]
|
||||||
|
|
||||||
@@ -100,11 +94,10 @@
|
|||||||
name: electrical supplies locker
|
name: electrical supplies locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: eng
|
||||||
state: eng
|
stateDoorOpen: eng_open
|
||||||
state_open: eng_open
|
stateDoorClosed: eng_elec_door
|
||||||
state_closed: eng_elec_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Engineering" ] ]
|
access: [ [ "Engineering" ] ]
|
||||||
|
|
||||||
@@ -115,11 +108,10 @@
|
|||||||
name: welding supplies locker
|
name: welding supplies locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: eng
|
||||||
state: eng
|
stateDoorOpen: eng_open
|
||||||
state_open: eng_open
|
stateDoorClosed: eng_weld_door
|
||||||
state_closed: eng_weld_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Engineering" ] ]
|
access: [ [ "Engineering" ] ]
|
||||||
|
|
||||||
@@ -130,11 +122,10 @@
|
|||||||
name: atmospheric technician's locker
|
name: atmospheric technician's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: atmos
|
||||||
state: atmos
|
stateDoorOpen: atmos_open
|
||||||
state_open: atmos_open
|
stateDoorClosed: atmos_door
|
||||||
state_closed: atmos_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Atmospherics" ] ]
|
access: [ [ "Atmospherics" ] ]
|
||||||
|
|
||||||
@@ -145,11 +136,10 @@
|
|||||||
name: engineer's locker
|
name: engineer's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: eng_secure
|
||||||
state: eng_secure
|
stateDoorOpen: eng_secure_open
|
||||||
state_open: eng_secure_open
|
stateDoorClosed: eng_secure_door
|
||||||
state_closed: eng_secure_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Engineering" ] ]
|
access: [ [ "Engineering" ] ]
|
||||||
|
|
||||||
@@ -160,11 +150,10 @@
|
|||||||
name: freezer
|
name: freezer
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: freezer
|
||||||
state: freezer
|
stateDoorOpen: freezer_open
|
||||||
state_open: freezer_open
|
stateDoorClosed: freezer_door
|
||||||
state_closed: freezer_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Kitchen" ] ]
|
access: [ [ "Kitchen" ] ]
|
||||||
- type: ExplosionResistance
|
- type: ExplosionResistance
|
||||||
@@ -178,11 +167,10 @@
|
|||||||
name: botanist's locker
|
name: botanist's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: hydro
|
||||||
state: hydro
|
stateDoorOpen: hydro_open
|
||||||
state_open: hydro_open
|
stateDoorClosed: hydro_door
|
||||||
state_closed: hydro_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Hydroponics" ] ]
|
access: [ [ "Hydroponics" ] ]
|
||||||
|
|
||||||
@@ -194,11 +182,10 @@
|
|||||||
description: Filled to the brim with medical junk.
|
description: Filled to the brim with medical junk.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: med
|
||||||
state: med
|
stateDoorOpen: med_open
|
||||||
state_open: med_open
|
stateDoorClosed: med_door
|
||||||
state_closed: med_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Medical" ] ]
|
access: [ [ "Medical" ] ]
|
||||||
|
|
||||||
@@ -209,11 +196,10 @@
|
|||||||
name: medical doctor's locker
|
name: medical doctor's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: med_secure
|
||||||
state: med_secure
|
stateDoorOpen: med_secure_open
|
||||||
state_open: med_secure_open
|
stateDoorClosed: med_secure_door
|
||||||
state_closed: med_secure_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Medical" ] ]
|
access: [ [ "Medical" ] ]
|
||||||
|
|
||||||
@@ -224,11 +210,10 @@
|
|||||||
name: paramedic's locker
|
name: paramedic's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: paramed
|
||||||
state: paramed
|
stateDoorOpen: paramed_open
|
||||||
state_open: paramed_open
|
stateDoorClosed: paramed_door
|
||||||
state_closed: paramed_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Medical" ] ]
|
access: [ [ "Medical" ] ]
|
||||||
|
|
||||||
@@ -240,11 +225,10 @@
|
|||||||
name: chemical locker
|
name: chemical locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: med
|
||||||
state: med
|
stateDoorOpen: med_open
|
||||||
state_open: med_open
|
stateDoorClosed: chemical_door
|
||||||
state_closed: chemical_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "Chemistry" ] ]
|
access: [ [ "Chemistry" ] ]
|
||||||
|
|
||||||
@@ -255,11 +239,10 @@
|
|||||||
name: chief medical officer's locker
|
name: chief medical officer's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: cmo
|
||||||
state: cmo
|
stateDoorOpen: cmo_open
|
||||||
state_open: cmo_open
|
stateDoorClosed: cmo_door
|
||||||
state_closed: cmo_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "ChiefMedicalOfficer" ] ]
|
access: [ [ "ChiefMedicalOfficer" ] ]
|
||||||
|
|
||||||
@@ -270,11 +253,10 @@
|
|||||||
name: research director's locker
|
name: research director's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: rd
|
||||||
state: rd
|
stateDoorOpen: rd_open
|
||||||
state_open: rd_open
|
stateDoorClosed: rd_door
|
||||||
state_closed: rd_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [ [ "ResearchDirector" ] ]
|
access: [ [ "ResearchDirector" ] ]
|
||||||
|
|
||||||
@@ -283,14 +265,13 @@
|
|||||||
parent: LockerBase
|
parent: LockerBase
|
||||||
name: scientist's locker
|
name: scientist's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: science
|
||||||
state: science
|
stateDoorOpen: science_open
|
||||||
state_open: science_open
|
stateDoorClosed: science_door
|
||||||
state_closed: science_door
|
- type: AccessReader
|
||||||
- type: AccessReader
|
access: [ [ "Research" ] ]
|
||||||
access: [ [ "Research" ] ]
|
|
||||||
|
|
||||||
# HoS
|
# HoS
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -299,11 +280,10 @@
|
|||||||
name: head of security's locker
|
name: head of security's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: hos
|
||||||
state: hos
|
stateDoorOpen: hos_open
|
||||||
state_open: hos_open
|
stateDoorClosed: hos_door
|
||||||
state_closed: hos_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["HeadOfSecurity"]]
|
access: [["HeadOfSecurity"]]
|
||||||
|
|
||||||
@@ -314,11 +294,10 @@
|
|||||||
name: warden's locker
|
name: warden's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: warden
|
||||||
state: warden
|
stateDoorOpen: warden_open
|
||||||
state_open: warden_open
|
stateDoorClosed: warden_door
|
||||||
state_closed: warden_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Armory"]]
|
access: [["Armory"]]
|
||||||
|
|
||||||
@@ -329,11 +308,10 @@
|
|||||||
name: brigmedic locker
|
name: brigmedic locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: brigmedic
|
||||||
state: brigmedic
|
stateDoorOpen: armory_open
|
||||||
state_open: armory_open
|
stateDoorClosed: brigmedic_door
|
||||||
state_closed: brigmedic_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Medical"]]
|
access: [["Medical"]]
|
||||||
|
|
||||||
@@ -344,11 +322,10 @@
|
|||||||
name: security officer's locker
|
name: security officer's locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: sec
|
||||||
state: sec
|
stateDoorOpen: sec_open
|
||||||
state_open: sec_open
|
stateDoorClosed: sec_door
|
||||||
state_closed: sec_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Security"]]
|
access: [["Security"]]
|
||||||
|
|
||||||
@@ -358,11 +335,10 @@
|
|||||||
name: gun safe
|
name: gun safe
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: shotguncase
|
||||||
state: shotguncase
|
stateDoorOpen: shotguncase_open
|
||||||
state_open: shotguncase_open
|
stateDoorClosed: shotguncase_door
|
||||||
state_closed: shotguncase_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Armory"]]
|
access: [["Armory"]]
|
||||||
|
|
||||||
@@ -393,11 +369,10 @@
|
|||||||
description: It's a personal storage unit for operative gear.
|
description: It's a personal storage unit for operative gear.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: syndicate
|
||||||
state: syndicate
|
stateDoorOpen: syndicate_open
|
||||||
state_open: syndicate_open
|
stateDoorClosed: syndicate_door
|
||||||
state_closed: syndicate_door
|
|
||||||
|
|
||||||
# Bluespace
|
# Bluespace
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
sprite: Structures/Storage/closet.rsi
|
sprite: Structures/Storage/closet.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: generic
|
- state: generic
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: generic_door
|
- state: generic_door
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: welded
|
- state: welded
|
||||||
@@ -81,11 +82,10 @@
|
|||||||
min: 1
|
min: 1
|
||||||
max: 1
|
max: 1
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: generic_door
|
||||||
state_closed: generic_door
|
|
||||||
|
|
||||||
#Wall Closet
|
#Wall Closet
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -113,6 +113,7 @@
|
|||||||
sprite: Structures/Storage/wall_locker.rsi
|
sprite: Structures/Storage/wall_locker.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: generic
|
- state: generic
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: generic_door
|
- state: generic_door
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: welded
|
- state: welded
|
||||||
@@ -168,6 +169,7 @@
|
|||||||
sprite: Structures/Storage/wall_locker.rsi
|
sprite: Structures/Storage/wall_locker.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: generic
|
- state: generic
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: generic_door
|
- state: generic_door
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: locked
|
- state: locked
|
||||||
@@ -255,8 +257,7 @@
|
|||||||
min: 1
|
min: 1
|
||||||
max: 1
|
max: 1
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBase: base
|
||||||
state: base
|
stateDoorOpen: base
|
||||||
state_open: base
|
stateDoorClosed: closed
|
||||||
state_closed: closed
|
|
||||||
|
|||||||
@@ -41,13 +41,13 @@
|
|||||||
sprite: Structures/Storage/closet.rsi
|
sprite: Structures/Storage/closet.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: cardboard
|
- state: cardboard
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: cardboard_open
|
- state: cardboard_open
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: cardboard
|
||||||
state: cardboard
|
stateDoorOpen: cardboard_open
|
||||||
state_open: cardboard_open
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- DoorBumpOpener
|
- DoorBumpOpener
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
noRot: true
|
noRot: true
|
||||||
netsync: false
|
netsync: false
|
||||||
layers:
|
layers:
|
||||||
- state: "cardboard_special"
|
- state: "cardboard_special"
|
||||||
- type: TimedDespawn
|
- type: TimedDespawn
|
||||||
lifetime: 1
|
lifetime: 1
|
||||||
- type: Tag
|
- type: Tag
|
||||||
|
|||||||
@@ -6,11 +6,10 @@
|
|||||||
description: It's a storage unit for tools.
|
description: It's a storage unit for tools.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: eng
|
||||||
state: eng
|
stateDoorOpen: eng_open
|
||||||
state_open: eng_open
|
stateDoorClosed: eng_tool_door
|
||||||
state_closed: eng_tool_door
|
|
||||||
|
|
||||||
# Radiation suit closet
|
# Radiation suit closet
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -20,11 +19,10 @@
|
|||||||
description: "More comfortable than radiation poisioning."
|
description: "More comfortable than radiation poisioning."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: eng
|
||||||
state: eng
|
stateDoorOpen: eng_open
|
||||||
state_open: eng_open
|
stateDoorClosed: eng_rad_door
|
||||||
state_closed: eng_rad_door
|
|
||||||
|
|
||||||
# Emergency closet
|
# Emergency closet
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -34,11 +32,10 @@
|
|||||||
description: It's a storage unit for emergency breath masks and O2 tanks.
|
description: It's a storage unit for emergency breath masks and O2 tanks.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: emergency
|
||||||
state: emergency
|
stateDoorOpen: emergency_open
|
||||||
state_open: emergency_open
|
stateDoorClosed: emergency_door
|
||||||
state_closed: emergency_door
|
|
||||||
|
|
||||||
# Fire safety closet
|
# Fire safety closet
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -48,11 +45,10 @@
|
|||||||
description: It's a storage unit for fire-fighting supplies.
|
description: It's a storage unit for fire-fighting supplies.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: fire
|
||||||
state: fire
|
stateDoorOpen: fire_open
|
||||||
state_open: fire_open
|
stateDoorClosed: fire_door
|
||||||
state_closed: fire_door
|
|
||||||
|
|
||||||
# EOD closet
|
# EOD closet
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -62,11 +58,10 @@
|
|||||||
description: It's a storage unit for explosion-protective suits.
|
description: It's a storage unit for explosion-protective suits.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: bomb
|
||||||
state: bomb
|
stateDoorOpen: bomb_open
|
||||||
state_open: bomb_open
|
stateDoorClosed: bomb_door
|
||||||
state_closed: bomb_door
|
|
||||||
|
|
||||||
# Biohazard
|
# Biohazard
|
||||||
|
|
||||||
@@ -78,11 +73,10 @@
|
|||||||
description: It's a storage unit for level 3 biohazard gear.
|
description: It's a storage unit for level 3 biohazard gear.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: bio
|
||||||
state: bio
|
stateDoorOpen: bio_open
|
||||||
state_open: bio_open
|
stateDoorClosed: bio_door
|
||||||
state_closed: bio_door
|
|
||||||
|
|
||||||
# Virology variant
|
# Virology variant
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -90,11 +84,10 @@
|
|||||||
parent: ClosetL3
|
parent: ClosetL3
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: bio_viro
|
||||||
state: bio_viro
|
stateDoorOpen: bio_viro_open
|
||||||
state_open: bio_viro_open
|
stateDoorClosed: bio_viro_door
|
||||||
state_closed: bio_viro_door
|
|
||||||
|
|
||||||
# Security variant
|
# Security variant
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -102,11 +95,10 @@
|
|||||||
parent: ClosetL3
|
parent: ClosetL3
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: bio_sec
|
||||||
state: bio_sec
|
stateDoorOpen: bio_sec_open
|
||||||
state_open: bio_sec_open
|
stateDoorClosed: bio_sec_door
|
||||||
state_closed: bio_sec_door
|
|
||||||
|
|
||||||
# Janitor variant
|
# Janitor variant
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -114,11 +106,10 @@
|
|||||||
parent: ClosetL3
|
parent: ClosetL3
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: bio_jan
|
||||||
state: bio_jan
|
stateDoorOpen: bio_jan_open
|
||||||
state_open: bio_jan_open
|
stateDoorClosed: bio_jan_door
|
||||||
state_closed: bio_jan_door
|
|
||||||
|
|
||||||
# Maintenance closet
|
# Maintenance closet
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -127,11 +118,10 @@
|
|||||||
parent: ClosetBase
|
parent: ClosetBase
|
||||||
description: It's a storage unit.
|
description: It's a storage unit.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: generic_door
|
||||||
state_closed: generic_door
|
|
||||||
|
|
||||||
# Bluespace closet
|
# Bluespace closet
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|||||||
@@ -5,11 +5,10 @@
|
|||||||
description: It's a storage unit.
|
description: It's a storage unit.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: generic_door
|
||||||
state_closed: generic_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallEmergency
|
id: ClosetWallEmergency
|
||||||
@@ -18,11 +17,10 @@
|
|||||||
description: It's a storage unit for emergency breath masks and O2 tanks.
|
description: It's a storage unit for emergency breath masks and O2 tanks.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: emergency
|
||||||
state: emergency
|
stateDoorOpen: emergency_open
|
||||||
state_open: emergency_open
|
stateDoorClosed: emergency_door
|
||||||
state_closed: emergency_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallFire
|
id: ClosetWallFire
|
||||||
@@ -31,11 +29,10 @@
|
|||||||
description: It's a storage unit for fire-fighting supplies.
|
description: It's a storage unit for fire-fighting supplies.
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: fire
|
||||||
state: fire
|
stateDoorOpen: fire_open
|
||||||
state_open: fire_open
|
stateDoorClosed: fire_door
|
||||||
state_closed: fire_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallBlue
|
id: ClosetWallBlue
|
||||||
@@ -44,11 +41,10 @@
|
|||||||
description: "A wardrobe packed with stylish blue clothing."
|
description: "A wardrobe packed with stylish blue clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: blue_door
|
||||||
state_closed: blue_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallPink
|
id: ClosetWallPink
|
||||||
@@ -57,11 +53,10 @@
|
|||||||
description: "A wardrobe packed with fabulous pink clothing."
|
description: "A wardrobe packed with fabulous pink clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: pink_door
|
||||||
state_closed: pink_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallBlack
|
id: ClosetWallBlack
|
||||||
@@ -70,11 +65,10 @@
|
|||||||
description: "A wardrobe packed with stylish black clothing."
|
description: "A wardrobe packed with stylish black clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: black_door
|
||||||
state_closed: black_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallGreen
|
id: ClosetWallGreen
|
||||||
@@ -83,11 +77,10 @@
|
|||||||
description: "A wardrobe packed with stylish green clothing."
|
description: "A wardrobe packed with stylish green clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: green_door
|
||||||
state_closed: green_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallOrange
|
id: ClosetWallOrange
|
||||||
@@ -95,11 +88,10 @@
|
|||||||
name: prison wall closet
|
name: prison wall closet
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: orange_door
|
||||||
state_closed: orange_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallYellow
|
id: ClosetWallYellow
|
||||||
@@ -108,11 +100,10 @@
|
|||||||
description: "A wardrobe packed with stylish yellow clothing."
|
description: "A wardrobe packed with stylish yellow clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: yellow_door
|
||||||
state_closed: yellow_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallWhite
|
id: ClosetWallWhite
|
||||||
@@ -121,11 +112,10 @@
|
|||||||
description: "A wardrobe packed with stylish white clothing."
|
description: "A wardrobe packed with stylish white clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: white_door
|
||||||
state_closed: white_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallGrey
|
id: ClosetWallGrey
|
||||||
@@ -134,11 +124,10 @@
|
|||||||
description: "A wardrobe packed with a tide of grey clothing."
|
description: "A wardrobe packed with a tide of grey clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: gray_door
|
||||||
state_closed: gray_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallMixed
|
id: ClosetWallMixed
|
||||||
@@ -147,11 +136,10 @@
|
|||||||
description: "A wardrobe packed with a mix of colorful clothing."
|
description: "A wardrobe packed with a mix of colorful clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: mixed_door
|
||||||
state_closed: mixed_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetWallAtmospherics
|
id: ClosetWallAtmospherics
|
||||||
@@ -159,11 +147,10 @@
|
|||||||
name: atmospherics wall closet
|
name: atmospherics wall closet
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: atmos_door
|
||||||
state_closed: atmos_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: LockerWallMedical
|
id: LockerWallMedical
|
||||||
@@ -171,10 +158,9 @@
|
|||||||
name: medical wall locker
|
name: medical wall locker
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: med
|
||||||
state: med
|
stateDoorOpen: med_open
|
||||||
state_open: med_open
|
stateDoorClosed: med_door
|
||||||
state_closed: med_door
|
|
||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Medical"]]
|
access: [["Medical"]]
|
||||||
@@ -15,11 +15,10 @@
|
|||||||
description: "A wardrobe packed with stylish blue clothing."
|
description: "A wardrobe packed with stylish blue clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: blue_door
|
||||||
state_closed: blue_door
|
|
||||||
|
|
||||||
# Pink wardrobe
|
# Pink wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -29,11 +28,10 @@
|
|||||||
description: "A wardrobe packed with fabulous pink clothing."
|
description: "A wardrobe packed with fabulous pink clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: pink_door
|
||||||
state_closed: pink_door
|
|
||||||
|
|
||||||
# Black wardrobe
|
# Black wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -43,11 +41,10 @@
|
|||||||
description: "A wardrobe packed with stylish black clothing."
|
description: "A wardrobe packed with stylish black clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: black_door
|
||||||
state_closed: black_door
|
|
||||||
|
|
||||||
# Green wardrobe
|
# Green wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -57,11 +54,10 @@
|
|||||||
description: "A wardrobe packed with stylish green clothing."
|
description: "A wardrobe packed with stylish green clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: green_door
|
||||||
state_closed: green_door
|
|
||||||
|
|
||||||
# Prison wardrobe
|
# Prison wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -70,11 +66,10 @@
|
|||||||
name: prison wardrobe
|
name: prison wardrobe
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: orange_door
|
||||||
state_closed: orange_door
|
|
||||||
|
|
||||||
# Yellow wardrobe
|
# Yellow wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -84,11 +79,10 @@
|
|||||||
description: "A wardrobe packed with stylish yellow clothing."
|
description: "A wardrobe packed with stylish yellow clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: yellow_door
|
||||||
state_closed: yellow_door
|
|
||||||
|
|
||||||
# White wardrobe
|
# White wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -98,11 +92,10 @@
|
|||||||
description: "A wardrobe packed with stylish white clothing."
|
description: "A wardrobe packed with stylish white clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: white_door
|
||||||
state_closed: white_door
|
|
||||||
|
|
||||||
# Grey wardrobe
|
# Grey wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -112,11 +105,10 @@
|
|||||||
description: "A wardrobe packed with a tide of grey clothing."
|
description: "A wardrobe packed with a tide of grey clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: grey_door
|
||||||
state_closed: grey_door
|
|
||||||
|
|
||||||
# Mixed wardrobe
|
# Mixed wardrobe
|
||||||
- type: entity
|
- type: entity
|
||||||
@@ -126,11 +118,10 @@
|
|||||||
description: "A wardrobe packed with a mix of colorful clothing."
|
description: "A wardrobe packed with a mix of colorful clothing."
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: mixed_door
|
||||||
state_closed: mixed_door
|
|
||||||
|
|
||||||
# Jobs
|
# Jobs
|
||||||
|
|
||||||
@@ -140,11 +131,10 @@
|
|||||||
name: security wardrobe
|
name: security wardrobe
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: red_door
|
||||||
state_closed: red_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: WardrobeAtmospherics
|
id: WardrobeAtmospherics
|
||||||
@@ -152,11 +142,10 @@
|
|||||||
name: atmospherics wardrobe
|
name: atmospherics wardrobe
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: generic
|
||||||
state: generic
|
stateDoorOpen: generic_open
|
||||||
state_open: generic_open
|
stateDoorClosed: atmos_wardrobe_door
|
||||||
state_closed: atmos_wardrobe_door
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ClosetJanitor
|
id: ClosetJanitor
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
sprite: Structures/Storage/Crates/generic.rsi
|
sprite: Structures/Storage/Crates/generic.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: base
|
- state: base
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: closed
|
- state: closed
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: welded
|
- state: welded
|
||||||
@@ -50,10 +51,9 @@
|
|||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: ["Destruction"]
|
acts: ["Destruction"]
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateDoorOpen: open
|
||||||
state_open: open
|
stateDoorClosed: closed
|
||||||
state_closed: closed
|
|
||||||
- type: PaperLabel
|
- type: PaperLabel
|
||||||
labelSlot:
|
labelSlot:
|
||||||
insertVerbText: Attach Label
|
insertVerbText: Attach Label
|
||||||
|
|||||||
@@ -359,6 +359,7 @@
|
|||||||
sprite: Structures/Storage/Crates/piratechest.rsi
|
sprite: Structures/Storage/Crates/piratechest.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: crate
|
- state: crate
|
||||||
|
map: ["enum.StorageVisualLayers.Base"]
|
||||||
- state: crate_door
|
- state: crate_door
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
- state: welded
|
- state: welded
|
||||||
@@ -368,7 +369,6 @@
|
|||||||
sprite: Structures/Storage/Crates/piratechest.rsi
|
sprite: Structures/Storage/Crates/piratechest.rsi
|
||||||
state: crate_icon
|
state: crate_icon
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateDoorOpen: crate_open
|
||||||
state_open: crate_open
|
stateDoorClosed: crate_door
|
||||||
state_closed: crate_door
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
sprite: Structures/Storage/morgue.rsi
|
sprite: Structures/Storage/morgue.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: crema_closed
|
- state: crema_closed
|
||||||
map: ["enum.CrematoriumVisualLayers.Base"]
|
map: ["enum.CrematoriumVisualLayers.Base", "enum.StorageVisualLayers.Base"]
|
||||||
- state: crema_tray
|
- state: crema_tray
|
||||||
offset: 0, -1
|
offset: 0, -1
|
||||||
map: ["enum.StorageVisualLayers.Door"]
|
map: ["enum.StorageVisualLayers.Door"]
|
||||||
@@ -127,11 +127,10 @@
|
|||||||
containers:
|
containers:
|
||||||
entity_storage: !type:Container
|
entity_storage: !type:Container
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
- type: EntityStorageVisuals
|
||||||
- type: StorageVisualizer
|
stateBaseClosed: crema_closed
|
||||||
state: crema_closed
|
stateBaseOpen: crema_open
|
||||||
state_alt: crema_open
|
stateDoorOpen: crema_tray
|
||||||
state_open: crema_tray
|
|
||||||
- type: GenericVisualizer
|
- type: GenericVisualizer
|
||||||
visuals:
|
visuals:
|
||||||
enum.CrematoriumVisuals.Burning:
|
enum.CrematoriumVisuals.Burning:
|
||||||
|
|||||||
Reference in New Issue
Block a user