Respriting the codebase (#4820)
* Walls * Airlocks mostly ported * Disposal Unit * Tiles * Lighting * Catwalk * Windows * Some vending machine work * More Vending Machines * Rest of vending machine sprites ported * Fixes to vending machines * Tables (This took a lot of work) * Fixes low walls being required for window smoothing - Also replaces window damage visualization * Plasma Window * APC * SMES + Reorganized parts.yml * Furniture and Organization and Removed Shelf * Renamed seats.yml to chairs.yml * Dispensers * Lazy-fixed the glass airlocks * Don't need this no more * Tilez * blue circuit my fucking beloved * Switches lights to cev one * Conveyors and Switch * Reorients lights * !ALERT! MAP CHANGES !ALERT! Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
@@ -206,7 +206,7 @@ namespace Content.Client.Wall.Components
|
|||||||
{
|
{
|
||||||
if (Owner.EntityManager.TryGetComponent(entity, out WindowComponent? window))
|
if (Owner.EntityManager.TryGetComponent(entity, out WindowComponent? window))
|
||||||
{
|
{
|
||||||
window.UpdateSprite();
|
//window.UpdateSprite();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,116 +1,11 @@
|
|||||||
using System.Diagnostics.CodeAnalysis;
|
|
||||||
using Content.Client.Wall.Components;
|
|
||||||
using Content.Shared.Window;
|
using Content.Shared.Window;
|
||||||
using Robust.Client.GameObjects;
|
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.IoC;
|
|
||||||
using Robust.Shared.Map;
|
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
|
||||||
using static Content.Client.IconSmoothing.IconSmoothComponent;
|
|
||||||
|
|
||||||
namespace Content.Client.Window
|
namespace Content.Client.Window
|
||||||
{
|
{
|
||||||
[RegisterComponent]
|
[RegisterComponent]
|
||||||
[ComponentReference(typeof(SharedWindowComponent))]
|
[ComponentReference(typeof(SharedWindowComponent))]
|
||||||
public sealed class WindowComponent : SharedWindowComponent
|
public class WindowComponent : SharedWindowComponent
|
||||||
{
|
{
|
||||||
[Dependency] private readonly IMapManager _mapManager = default!;
|
|
||||||
|
|
||||||
[DataField("base")]
|
|
||||||
private string? _stateBase;
|
|
||||||
|
|
||||||
private ISpriteComponent? _sprite;
|
|
||||||
|
|
||||||
protected override void Initialize()
|
|
||||||
{
|
|
||||||
base.Initialize();
|
|
||||||
|
|
||||||
_sprite = Owner.GetComponent<ISpriteComponent>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
protected override void Startup()
|
|
||||||
{
|
|
||||||
base.Startup();
|
|
||||||
|
|
||||||
Owner.EntityManager.EventBus.RaiseEvent(EventSource.Local, new WindowSmoothDirtyEvent(Owner));
|
|
||||||
|
|
||||||
if (_sprite != null)
|
|
||||||
{
|
|
||||||
var state0 = $"{_stateBase}0";
|
|
||||||
const string cracksRSIPath = "/Textures/Structures/Windows/cracks.rsi";
|
|
||||||
_sprite.LayerMapSet(CornerLayers.SE, _sprite.AddLayerState(state0));
|
|
||||||
_sprite.LayerSetDirOffset(CornerLayers.SE, SpriteComponent.DirectionOffset.None);
|
|
||||||
_sprite.LayerMapSet(WindowDamageLayers.DamageSE, _sprite.AddLayerState("0_1", cracksRSIPath));
|
|
||||||
_sprite.LayerSetVisible(WindowDamageLayers.DamageSE, false);
|
|
||||||
|
|
||||||
_sprite.LayerMapSet(CornerLayers.NE, _sprite.AddLayerState(state0));
|
|
||||||
_sprite.LayerSetDirOffset(CornerLayers.NE, SpriteComponent.DirectionOffset.CounterClockwise);
|
|
||||||
_sprite.LayerMapSet(WindowDamageLayers.DamageNE, _sprite.AddLayerState("0_1", cracksRSIPath));
|
|
||||||
_sprite.LayerSetDirOffset(WindowDamageLayers.DamageNE, SpriteComponent.DirectionOffset.CounterClockwise);
|
|
||||||
_sprite.LayerSetVisible(WindowDamageLayers.DamageNE, false);
|
|
||||||
|
|
||||||
_sprite.LayerMapSet(CornerLayers.NW, _sprite.AddLayerState(state0));
|
|
||||||
_sprite.LayerSetDirOffset(CornerLayers.NW, SpriteComponent.DirectionOffset.Flip);
|
|
||||||
_sprite.LayerMapSet(WindowDamageLayers.DamageNW, _sprite.AddLayerState("0_1", cracksRSIPath));
|
|
||||||
_sprite.LayerSetDirOffset(WindowDamageLayers.DamageNW, SpriteComponent.DirectionOffset.Flip);
|
|
||||||
_sprite.LayerSetVisible(WindowDamageLayers.DamageNW, false);
|
|
||||||
|
|
||||||
_sprite.LayerMapSet(CornerLayers.SW, _sprite.AddLayerState(state0));
|
|
||||||
_sprite.LayerSetDirOffset(CornerLayers.SW, SpriteComponent.DirectionOffset.Clockwise);
|
|
||||||
_sprite.LayerMapSet(WindowDamageLayers.DamageSW, _sprite.AddLayerState("0_1", cracksRSIPath));
|
|
||||||
_sprite.LayerSetDirOffset(WindowDamageLayers.DamageSW, SpriteComponent.DirectionOffset.Clockwise);
|
|
||||||
_sprite.LayerSetVisible(WindowDamageLayers.DamageSW, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AnchorStateChanged()
|
|
||||||
{
|
|
||||||
Owner.EntityManager.EventBus.RaiseEvent(EventSource.Local, new WindowSmoothDirtyEvent(Owner));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateSprite()
|
|
||||||
{
|
|
||||||
var lowWall = FindLowWall();
|
|
||||||
if (lowWall == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_sprite != null)
|
|
||||||
{
|
|
||||||
_sprite.LayerSetState(CornerLayers.NE, $"{_stateBase}{(int) lowWall.LastCornerNE}");
|
|
||||||
_sprite.LayerSetState(CornerLayers.SE, $"{_stateBase}{(int) lowWall.LastCornerSE}");
|
|
||||||
_sprite.LayerSetState(CornerLayers.SW, $"{_stateBase}{(int) lowWall.LastCornerSW}");
|
|
||||||
_sprite.LayerSetState(CornerLayers.NW, $"{_stateBase}{(int) lowWall.LastCornerNW}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private LowWallComponent? FindLowWall()
|
|
||||||
{
|
|
||||||
if (!Owner.Transform.Anchored)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
var grid = _mapManager.GetGrid(Owner.Transform.GridID);
|
|
||||||
var coords = Owner.Transform.Coordinates;
|
|
||||||
foreach (var entity in grid.GetLocal(coords))
|
|
||||||
{
|
|
||||||
if (Owner.EntityManager.TryGetComponent(entity, out LowWallComponent? lowWall))
|
|
||||||
{
|
|
||||||
return lowWall;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
|
||||||
public enum WindowDamageLayers : byte
|
|
||||||
{
|
|
||||||
DamageSE,
|
|
||||||
DamageNE,
|
|
||||||
DamageNW,
|
|
||||||
DamageSW
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using JetBrains.Annotations;
|
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
|
|
||||||
namespace Content.Client.Window
|
|
||||||
{
|
|
||||||
[UsedImplicitly]
|
|
||||||
public sealed class WindowSystem : EntitySystem
|
|
||||||
{
|
|
||||||
private readonly Queue<IEntity> _dirtyEntities = new();
|
|
||||||
|
|
||||||
public override void Initialize()
|
|
||||||
{
|
|
||||||
base.Initialize();
|
|
||||||
|
|
||||||
SubscribeLocalEvent<WindowSmoothDirtyEvent>(HandleDirtyEvent);
|
|
||||||
SubscribeLocalEvent<WindowComponent, AnchorStateChangedEvent>(HandleAnchorChanged);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void HandleDirtyEvent(WindowSmoothDirtyEvent ev)
|
|
||||||
{
|
|
||||||
if (ev.Sender.HasComponent<WindowComponent>())
|
|
||||||
{
|
|
||||||
_dirtyEntities.Enqueue(ev.Sender);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void HandleAnchorChanged(EntityUid uid, WindowComponent component, ref AnchorStateChangedEvent args)
|
|
||||||
{
|
|
||||||
component.AnchorStateChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void FrameUpdate(float frameTime)
|
|
||||||
{
|
|
||||||
base.FrameUpdate(frameTime);
|
|
||||||
|
|
||||||
// Performance: This could be spread over multiple updates, or made parallel.
|
|
||||||
while (_dirtyEntities.Count > 0)
|
|
||||||
{
|
|
||||||
var entity = _dirtyEntities.Dequeue();
|
|
||||||
if (entity.Deleted)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
entity.GetComponent<WindowComponent>().UpdateSprite();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Event raised by a <see cref="WindowComponent"/> when it needs to be recalculated.
|
|
||||||
/// </summary>
|
|
||||||
public sealed class WindowSmoothDirtyEvent : EntityEventArgs
|
|
||||||
{
|
|
||||||
public IEntity Sender { get; }
|
|
||||||
|
|
||||||
public WindowSmoothDirtyEvent(IEntity sender)
|
|
||||||
{
|
|
||||||
Sender = sender;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,68 +1,59 @@
|
|||||||
using System;
|
using System;
|
||||||
using Content.Client.Wall.Components;
|
|
||||||
using Content.Shared.Rounding;
|
using Content.Shared.Rounding;
|
||||||
using Content.Shared.Window;
|
using Content.Shared.Window;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Client.GameObjects;
|
using Robust.Client.GameObjects;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.Log;
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Serialization.Manager.Attributes;
|
||||||
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Client.Window
|
namespace Content.Client.Window
|
||||||
{
|
{
|
||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
public sealed class WindowVisualizer : AppearanceVisualizer
|
public sealed class WindowVisualizer : AppearanceVisualizer
|
||||||
{
|
{
|
||||||
|
[DataField("crackRsi")]
|
||||||
|
public ResourcePath CrackRsi { get; } = new ("/Textures/Structures/Windows/cracks.rsi");
|
||||||
|
|
||||||
|
public override void InitializeEntity(IEntity entity)
|
||||||
|
{
|
||||||
|
if (!entity.TryGetComponent(out ISpriteComponent? sprite))
|
||||||
|
return;
|
||||||
|
|
||||||
|
sprite.LayerMapReserveBlank(WindowDamageLayers.Layer);
|
||||||
|
sprite.LayerSetVisible(WindowDamageLayers.Layer, false);
|
||||||
|
sprite.LayerSetRSI(WindowDamageLayers.Layer, CrackRsi);
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnChangeData(AppearanceComponent component)
|
public override void OnChangeData(AppearanceComponent component)
|
||||||
{
|
{
|
||||||
base.OnChangeData(component);
|
base.OnChangeData(component);
|
||||||
|
|
||||||
var sprite = component.Owner.GetComponent<ISpriteComponent>();
|
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
|
||||||
if (!component.Owner.Transform.Anchored)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var lowWall = FindLowWall(IoCManager.Resolve<IMapManager>(), component.Owner.Transform);
|
|
||||||
if (lowWall == null)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (component.TryGetData(WindowVisuals.Damage, out float fraction))
|
if (component.TryGetData(WindowVisuals.Damage, out float fraction))
|
||||||
{
|
{
|
||||||
var level = Math.Min(ContentHelpers.RoundToLevels(fraction, 1, 7), 5);
|
var level = Math.Min(ContentHelpers.RoundToLevels(fraction, 1, 5), 3);
|
||||||
|
|
||||||
if (level == 0)
|
if (level == 0)
|
||||||
{
|
{
|
||||||
foreach (var val in Enum.GetValues(typeof(WindowDamageLayers)))
|
sprite.LayerSetVisible(WindowDamageLayers.Layer, false);
|
||||||
{
|
|
||||||
if (val == null) continue;
|
|
||||||
sprite.LayerSetVisible((WindowDamageLayers) val, false);
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
foreach (var val in Enum.GetValues(typeof(WindowDamageLayers)))
|
|
||||||
{
|
|
||||||
if (val == null) continue;
|
|
||||||
sprite.LayerSetVisible((WindowDamageLayers) val, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
sprite.LayerSetState(WindowDamageLayers.DamageNE, $"{(int) lowWall.LastCornerNE}_{level}");
|
Logger.Info($"LEVEL: {level} DMG: {fraction}");
|
||||||
sprite.LayerSetState(WindowDamageLayers.DamageSE, $"{(int) lowWall.LastCornerSE}_{level}");
|
|
||||||
sprite.LayerSetState(WindowDamageLayers.DamageSW, $"{(int) lowWall.LastCornerSW}_{level}");
|
sprite.LayerSetVisible(WindowDamageLayers.Layer, true);
|
||||||
sprite.LayerSetState(WindowDamageLayers.DamageNW, $"{(int) lowWall.LastCornerNW}_{level}");
|
sprite.LayerSetState(WindowDamageLayers.Layer, $"{level}");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static LowWallComponent? FindLowWall(IMapManager mapManager, ITransformComponent transform)
|
public enum WindowDamageLayers : byte
|
||||||
{
|
{
|
||||||
var grid = mapManager.GetGrid(transform.GridID);
|
Layer,
|
||||||
var coords = transform.Coordinates;
|
|
||||||
foreach (var entity in grid.GetLocal(coords))
|
|
||||||
{
|
|
||||||
if (transform.Owner.EntityManager.TryGetComponent(entity, out LowWallComponent? lowWall))
|
|
||||||
{
|
|
||||||
return lowWall;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,11 @@
|
|||||||
using System;
|
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.GameStates;
|
||||||
|
|
||||||
namespace Content.Shared.Window
|
namespace Content.Shared.Window
|
||||||
{
|
{
|
||||||
|
[NetworkedComponent]
|
||||||
public class SharedWindowComponent : Component
|
public class SharedWindowComponent : Component
|
||||||
{
|
{
|
||||||
public override string Name => "Window";
|
public override string Name => "Window";
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable, NetSerializable]
|
|
||||||
public enum WindowVisuals
|
|
||||||
{
|
|
||||||
Damage
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
12
Content.Shared/Window/WindowVisuals.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
|
namespace Content.Shared.Window
|
||||||
|
{
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public enum WindowVisuals
|
||||||
|
{
|
||||||
|
Damage
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,8 +4,9 @@
|
|||||||
description: A booze dispenser with a single slot for a container to be filled.
|
description: A booze dispenser with a single slot for a container to be filled.
|
||||||
parent: ReagentDispenserBase
|
parent: ReagentDispenserBase
|
||||||
components:
|
components:
|
||||||
|
- type: Rotatable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Structures/dispensers.rsi
|
sprite: Structures/dispensers.rsi
|
||||||
state: booze_dispenser
|
state: booze
|
||||||
- type: ReagentDispenser
|
- type: ReagentDispenser
|
||||||
pack: BoozeDispenserInventory
|
pack: BoozeDispenserInventory
|
||||||
|
|||||||
@@ -6,10 +6,7 @@
|
|||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Structures/dispensers.rsi
|
sprite: Structures/dispensers.rsi
|
||||||
state: industrial_dispenser
|
state: industrial-working
|
||||||
- type: Icon
|
|
||||||
sprite: Structures/dispensers.rsi
|
|
||||||
state: industrial_dispenser
|
|
||||||
- type: ReagentDispenser
|
- type: ReagentDispenser
|
||||||
pack: ChemDispenserStandardInventory
|
pack: ChemDispenserStandardInventory
|
||||||
- type: ApcPowerReceiver
|
- type: ApcPowerReceiver
|
||||||
|
|||||||
@@ -4,8 +4,9 @@
|
|||||||
parent: ReagentDispenserBase
|
parent: ReagentDispenserBase
|
||||||
description: A beverage dispenser with a selection of soda and several other common beverages. Has a single fill slot for containers.
|
description: A beverage dispenser with a selection of soda and several other common beverages. Has a single fill slot for containers.
|
||||||
components:
|
components:
|
||||||
|
- type: Rotatable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Structures/dispensers.rsi
|
sprite: Structures/dispensers.rsi
|
||||||
state: soda_dispenser
|
state: soda
|
||||||
- type: ReagentDispenser
|
- type: ReagentDispenser
|
||||||
pack: SodaDispenserInventory
|
pack: SodaDispenserInventory
|
||||||
|
|||||||
@@ -64,66 +64,6 @@
|
|||||||
graph: table
|
graph: table
|
||||||
node: Table
|
node: Table
|
||||||
|
|
||||||
- type: entity
|
|
||||||
id: TableBar
|
|
||||||
parent: TableBase
|
|
||||||
name: bar table
|
|
||||||
description: Fancy table. Perfect for serving drinks.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Structures/Furniture/Tables/bar.rsi
|
|
||||||
- type: Icon
|
|
||||||
sprite: Structures/Furniture/Tables/bar.rsi
|
|
||||||
- type: Destructible
|
|
||||||
thresholds:
|
|
||||||
- trigger:
|
|
||||||
!type:DamageTrigger
|
|
||||||
damage: 1
|
|
||||||
behaviors:
|
|
||||||
- !type:PlaySoundBehavior
|
|
||||||
sound:
|
|
||||||
path: /Audio/Effects/metalbreak.ogg
|
|
||||||
- !type:SpawnEntitiesBehavior
|
|
||||||
spawn:
|
|
||||||
SheetSteel1:
|
|
||||||
min: 1
|
|
||||||
max: 1
|
|
||||||
MaterialCloth1:
|
|
||||||
min: 1
|
|
||||||
max: 1
|
|
||||||
- !type:DoActsBehavior
|
|
||||||
acts: [ "Destruction" ]
|
|
||||||
- type: Construction
|
|
||||||
graph: table
|
|
||||||
node: TableBar
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
id: TableMetal
|
|
||||||
parent: TableBase
|
|
||||||
name: metal table
|
|
||||||
description: Just a metal table.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Structures/Furniture/Tables/metal.rsi
|
|
||||||
- type: Icon
|
|
||||||
sprite: Structures/Furniture/Tables/metal.rsi
|
|
||||||
- type: Destructible
|
|
||||||
thresholds:
|
|
||||||
- trigger:
|
|
||||||
!type:DamageTrigger
|
|
||||||
damage: 15
|
|
||||||
behaviors:
|
|
||||||
- !type:PlaySoundBehavior
|
|
||||||
sound:
|
|
||||||
path: /Audio/Effects/metalbreak.ogg
|
|
||||||
- !type:SpawnEntitiesBehavior
|
|
||||||
spawn:
|
|
||||||
SheetSteel1:
|
|
||||||
min: 1
|
|
||||||
max: 1
|
|
||||||
- !type:DoActsBehavior
|
|
||||||
acts: [ "Destruction" ]
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: TableReinforced
|
id: TableReinforced
|
||||||
parent: TableBase
|
parent: TableBase
|
||||||
@@ -217,6 +157,39 @@
|
|||||||
graph: table
|
graph: table
|
||||||
node: TableReinforcedGlass
|
node: TableReinforcedGlass
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: TablePlasmaGlass
|
||||||
|
parent: TableBase
|
||||||
|
name: plasma glass table
|
||||||
|
description: A square piece of plasma glass, standing on four metal legs. Pretty!
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Structures/Furniture/Tables/plasma.rsi
|
||||||
|
- type: Icon
|
||||||
|
sprite: Structures/Furniture/Tables/plasma.rsi
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger:
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 20
|
||||||
|
behaviors:
|
||||||
|
- !type:PlaySoundBehavior
|
||||||
|
sound:
|
||||||
|
path: /Audio/Effects/glass_break2.ogg
|
||||||
|
- !type:SpawnEntitiesBehavior
|
||||||
|
spawn:
|
||||||
|
ShardGlassPlasma:
|
||||||
|
min: 1
|
||||||
|
max: 1
|
||||||
|
PartRodMetal1:
|
||||||
|
min: 1
|
||||||
|
max: 1
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: [ "Destruction" ]
|
||||||
|
- type: Construction
|
||||||
|
graph: table
|
||||||
|
node: TablePlasmaGlass
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: TableWood
|
id: TableWood
|
||||||
parent: TableBase
|
parent: TableBase
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
- VaultImpassable
|
- VaultImpassable
|
||||||
- SmallImpassable
|
- SmallImpassable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
noRot: true
|
noRot: true
|
||||||
- type: Strap
|
- type: Strap
|
||||||
position: Stand
|
position: Stand
|
||||||
@@ -50,7 +50,6 @@
|
|||||||
- type: Rotatable
|
- type: Rotatable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: chair
|
state: chair
|
||||||
color: "#8e9799"
|
|
||||||
- type: Physics
|
- type: Physics
|
||||||
fixtures:
|
fixtures:
|
||||||
- shape:
|
- shape:
|
||||||
@@ -72,8 +71,7 @@
|
|||||||
components:
|
components:
|
||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: stool_base
|
state: stool
|
||||||
color: "#8e9799"
|
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: Static
|
bodyType: Static
|
||||||
fixtures:
|
fixtures:
|
||||||
@@ -99,7 +97,7 @@
|
|||||||
rotateWhileAnchored: true
|
rotateWhileAnchored: true
|
||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: bar_stool
|
state: bar
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: Static
|
bodyType: Static
|
||||||
fixtures:
|
fixtures:
|
||||||
@@ -122,7 +120,7 @@
|
|||||||
- type: Rotatable
|
- type: Rotatable
|
||||||
rotateWhileAnchored: true
|
rotateWhileAnchored: true
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: officechair_white
|
state: office-white
|
||||||
- type: Physics
|
- type: Physics
|
||||||
fixtures:
|
fixtures:
|
||||||
- shape:
|
- shape:
|
||||||
@@ -142,7 +140,7 @@
|
|||||||
parent: ChairOfficeLight
|
parent: ChairOfficeLight
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: officechair_dark
|
state: office-dark
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: seat
|
graph: seat
|
||||||
node: chairOfficeDark
|
node: chairOfficeDark
|
||||||
@@ -157,7 +155,7 @@
|
|||||||
anchored: true
|
anchored: true
|
||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: comfychair_preview
|
state: comfy
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: Static
|
bodyType: Static
|
||||||
fixtures:
|
fixtures:
|
||||||
@@ -178,8 +176,7 @@
|
|||||||
parent: SeatBase
|
parent: SeatBase
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
state: wooden_chair
|
state: wooden
|
||||||
color: "white"
|
|
||||||
- type: Rotatable
|
- type: Rotatable
|
||||||
- type: Physics
|
- type: Physics
|
||||||
fixtures:
|
fixtures:
|
||||||
@@ -226,8 +223,7 @@
|
|||||||
- type: Anchorable
|
- type: Anchorable
|
||||||
- type: Rotatable
|
- type: Rotatable
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
state: shuttle
|
||||||
state: shuttle_chair
|
|
||||||
netsync: false
|
netsync: false
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: Static
|
bodyType: Static
|
||||||
@@ -498,6 +498,7 @@
|
|||||||
visuals:
|
visuals:
|
||||||
- type: VendingMachineVisualizer
|
- type: VendingMachineVisualizer
|
||||||
normalUnshaded: true
|
normalUnshaded: true
|
||||||
|
ejectUnshaded: true
|
||||||
denyUnshaded: true
|
denyUnshaded: true
|
||||||
broken: true
|
broken: true
|
||||||
- type: WiresVisualizer
|
- type: WiresVisualizer
|
||||||
|
|||||||
@@ -1,48 +1,3 @@
|
|||||||
- type: entity
|
|
||||||
abstract: true
|
|
||||||
id: BaseSubstation
|
|
||||||
parent: BaseMachine
|
|
||||||
name: substation
|
|
||||||
description: Reduces the voltage of electricity put into it.
|
|
||||||
placement:
|
|
||||||
mode: SnapgridCenter
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Structures/Power/substation.rsi
|
|
||||||
layers:
|
|
||||||
- state: substation
|
|
||||||
- state: screen
|
|
||||||
shader: unshaded
|
|
||||||
- state: full
|
|
||||||
shader: unshaded
|
|
||||||
- type: Battery
|
|
||||||
maxCharge: 1000
|
|
||||||
startingCharge: 1000
|
|
||||||
- type: ExaminableBattery
|
|
||||||
- type: PointLight
|
|
||||||
radius: 1.5
|
|
||||||
energy: 1.6
|
|
||||||
color: "#3db83b"
|
|
||||||
castShadows: false
|
|
||||||
- type: NodeContainer
|
|
||||||
examinable: true
|
|
||||||
nodes:
|
|
||||||
input:
|
|
||||||
!type:CableDeviceNode
|
|
||||||
nodeGroupID: HVPower
|
|
||||||
output:
|
|
||||||
!type:CableDeviceNode
|
|
||||||
nodeGroupID: MVPower
|
|
||||||
- type: BatteryCharger
|
|
||||||
voltage: High
|
|
||||||
- type: BatteryDischarger
|
|
||||||
voltage: Medium
|
|
||||||
- type: PowerNetworkBattery
|
|
||||||
maxSupply: 150000
|
|
||||||
maxChargeRate: 5000
|
|
||||||
supplyRampTolerance: 5000
|
|
||||||
supplyRampRate: 1000
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
abstract: true
|
abstract: true
|
||||||
id: BaseApc
|
id: BaseApc
|
||||||
@@ -16,8 +16,6 @@
|
|||||||
sprite: Structures/Power/smes.rsi
|
sprite: Structures/Power/smes.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: smes
|
- state: smes
|
||||||
- state: smes-display
|
|
||||||
shader: unshaded
|
|
||||||
- type: Smes
|
- type: Smes
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
visuals:
|
visuals:
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
- type: entity
|
||||||
|
abstract: true
|
||||||
|
id: BaseSubstation
|
||||||
|
parent: BaseMachine
|
||||||
|
name: substation
|
||||||
|
description: Reduces the voltage of electricity put into it.
|
||||||
|
placement:
|
||||||
|
mode: SnapgridCenter
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Structures/Power/substation.rsi
|
||||||
|
layers:
|
||||||
|
- state: substation
|
||||||
|
- state: screen
|
||||||
|
shader: unshaded
|
||||||
|
- state: full
|
||||||
|
shader: unshaded
|
||||||
|
- type: Battery
|
||||||
|
maxCharge: 1000
|
||||||
|
startingCharge: 1000
|
||||||
|
- type: ExaminableBattery
|
||||||
|
- type: PointLight
|
||||||
|
radius: 1.5
|
||||||
|
energy: 1.6
|
||||||
|
color: "#3db83b"
|
||||||
|
castShadows: false
|
||||||
|
- type: NodeContainer
|
||||||
|
examinable: true
|
||||||
|
nodes:
|
||||||
|
input:
|
||||||
|
!type:CableDeviceNode
|
||||||
|
nodeGroupID: HVPower
|
||||||
|
output:
|
||||||
|
!type:CableDeviceNode
|
||||||
|
nodeGroupID: MVPower
|
||||||
|
- type: BatteryCharger
|
||||||
|
voltage: High
|
||||||
|
- type: BatteryDischarger
|
||||||
|
voltage: Medium
|
||||||
|
- type: PowerNetworkBattery
|
||||||
|
maxSupply: 150000
|
||||||
|
maxChargeRate: 5000
|
||||||
|
supplyRampTolerance: 5000
|
||||||
|
supplyRampRate: 1000
|
||||||
@@ -46,12 +46,3 @@
|
|||||||
max: 1
|
max: 1
|
||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
|
|
||||||
- type: entity
|
|
||||||
id: Shelf
|
|
||||||
parent: Rack
|
|
||||||
name: shelf
|
|
||||||
description: A shelf for storing things on.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
state: shelf
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
name: grille
|
name: grille
|
||||||
description: A flimsy framework of iron rods.
|
description: A flimsy framework of iron rods.
|
||||||
components:
|
components:
|
||||||
|
- type: CanBuildWindowOnTop
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
netsync: false
|
netsync: false
|
||||||
drawdepth: Walls
|
drawdepth: Walls
|
||||||
|
|||||||
@@ -306,7 +306,6 @@
|
|||||||
name: reinforced wall
|
name: reinforced wall
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
color: "#889192"
|
|
||||||
sprite: Structures/Walls/solid.rsi
|
sprite: Structures/Walls/solid.rsi
|
||||||
- type: Icon
|
- type: Icon
|
||||||
sprite: Structures/Walls/solid.rsi
|
sprite: Structures/Walls/solid.rsi
|
||||||
@@ -421,7 +420,6 @@
|
|||||||
components:
|
components:
|
||||||
- type: RCDDeconstructWhitelist
|
- type: RCDDeconstructWhitelist
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
color: "#889192"
|
|
||||||
sprite: Structures/Walls/solid.rsi
|
sprite: Structures/Walls/solid.rsi
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: girder
|
graph: girder
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
max: 2
|
max: 2
|
||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
- type: Window
|
- type: IconSmooth
|
||||||
base: pwindow
|
base: pwindow
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: window
|
graph: window
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
max: 2
|
max: 2
|
||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
- type: Window
|
- type: IconSmooth
|
||||||
base: rwindow
|
base: rwindow
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: window
|
graph: window
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
components:
|
components:
|
||||||
- type: RCDDeconstructWhitelist
|
- type: RCDDeconstructWhitelist
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
color: "#DDDDDD"
|
|
||||||
netsync: false
|
netsync: false
|
||||||
drawdepth: WallTops
|
drawdepth: WallTops
|
||||||
sprite: Structures/Windows/window.rsi
|
sprite: Structures/Windows/window.rsi
|
||||||
@@ -50,8 +49,10 @@
|
|||||||
- !type:DoActsBehavior
|
- !type:DoActsBehavior
|
||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
- type: Airtight
|
- type: Airtight
|
||||||
- type: Window
|
- type: IconSmooth
|
||||||
|
key: windows
|
||||||
base: window
|
base: window
|
||||||
|
- type: Window
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: window
|
graph: window
|
||||||
node: window
|
node: window
|
||||||
|
|||||||
@@ -51,6 +51,12 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
|
|
||||||
|
- to: TablePlasmaGlass
|
||||||
|
steps:
|
||||||
|
- material: PlasmaGlass
|
||||||
|
amount: 1
|
||||||
|
doAfter: 1
|
||||||
|
|
||||||
- to: TableWood
|
- to: TableWood
|
||||||
steps:
|
steps:
|
||||||
- material: WoodPlank
|
- material: WoodPlank
|
||||||
@@ -69,24 +75,6 @@
|
|||||||
- tool: Anchoring
|
- tool: Anchoring
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
|
|
||||||
- to: TableBar
|
|
||||||
steps:
|
|
||||||
- material: Cloth
|
|
||||||
amount: 1
|
|
||||||
doAfter: 1
|
|
||||||
|
|
||||||
- node: TableBar
|
|
||||||
entity: TableBar
|
|
||||||
edges:
|
|
||||||
- to: Table
|
|
||||||
completed:
|
|
||||||
- !type:SpawnPrototype
|
|
||||||
prototype: MaterialCloth1
|
|
||||||
amount: 1
|
|
||||||
steps:
|
|
||||||
- tool: Prying
|
|
||||||
doAfter: 1
|
|
||||||
|
|
||||||
- node: TableReinforced
|
- node: TableReinforced
|
||||||
entity: TableReinforced
|
entity: TableReinforced
|
||||||
edges:
|
edges:
|
||||||
@@ -123,6 +111,18 @@
|
|||||||
- tool: Anchoring
|
- tool: Anchoring
|
||||||
doAfter: 1
|
doAfter: 1
|
||||||
|
|
||||||
|
- node: TablePlasmaGlass
|
||||||
|
entity: TablePlasmaGlass
|
||||||
|
edges:
|
||||||
|
- to: TableFrame
|
||||||
|
completed:
|
||||||
|
- !type:SpawnPrototype
|
||||||
|
prototype: SheetPGlass1
|
||||||
|
amount: 1
|
||||||
|
steps:
|
||||||
|
- tool: Anchoring
|
||||||
|
doAfter: 1
|
||||||
|
|
||||||
- node: TableWood
|
- node: TableWood
|
||||||
entity: TableWood
|
entity: TableWood
|
||||||
edges:
|
edges:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
category: Furniture
|
category: Furniture
|
||||||
description: You sit in this. Either by will or force.
|
description: You sit in this. Either by will or force.
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
state: chair
|
state: chair
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
@@ -24,8 +24,8 @@
|
|||||||
category: Furniture
|
category: Furniture
|
||||||
description: You sit in this. Either by will or force.
|
description: You sit in this. Either by will or force.
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
state: stool_base
|
state: stool
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
category: Furniture
|
category: Furniture
|
||||||
description: You sit in this. Either by will or force.
|
description: You sit in this. Either by will or force.
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
state: bar_stool
|
state: bar
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -58,8 +58,8 @@
|
|||||||
category: Furniture
|
category: Furniture
|
||||||
description: You sit in this. Either by will or force.
|
description: You sit in this. Either by will or force.
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
state: officechair_white
|
state: office-white
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -75,8 +75,8 @@
|
|||||||
category: Furniture
|
category: Furniture
|
||||||
description: You sit in this. Either by will or force.
|
description: You sit in this. Either by will or force.
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
state: officechair_dark
|
state: office-dark
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -92,8 +92,8 @@
|
|||||||
category: Furniture
|
category: Furniture
|
||||||
description: It looks comfy.
|
description: It looks comfy.
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
state: comfychair_preview
|
state: comfy
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
@@ -109,8 +109,8 @@
|
|||||||
category: Furniture
|
category: Furniture
|
||||||
description: You sit in this. Either by will or force.
|
description: You sit in this. Either by will or force.
|
||||||
icon:
|
icon:
|
||||||
sprite: Structures/Furniture/furniture.rsi
|
sprite: Structures/Furniture/chairs.rsi
|
||||||
state: wooden_chair
|
state: wooden
|
||||||
objectType: Structure
|
objectType: Structure
|
||||||
placementMode: SnapgridCenter
|
placementMode: SnapgridCenter
|
||||||
canBuildInImpassable: false
|
canBuildInImpassable: false
|
||||||
|
|||||||
@@ -15,23 +15,6 @@
|
|||||||
conditions:
|
conditions:
|
||||||
- !type:TileNotBlocked {}
|
- !type:TileNotBlocked {}
|
||||||
|
|
||||||
- type: construction
|
|
||||||
name: bar table
|
|
||||||
id: TableBar
|
|
||||||
graph: table
|
|
||||||
startNode: start
|
|
||||||
targetNode: TableBar
|
|
||||||
category: Structures
|
|
||||||
description: A fancy table. Perfect for serving drinks.
|
|
||||||
icon:
|
|
||||||
sprite: Structures/Furniture/Tables/bar.rsi
|
|
||||||
state: full
|
|
||||||
objectType: Structure
|
|
||||||
placementMode: SnapgridCenter
|
|
||||||
canBuildInImpassable: false
|
|
||||||
conditions:
|
|
||||||
- !type:TileNotBlocked {}
|
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: reinforced table
|
name: reinforced table
|
||||||
id: TableReinforced
|
id: TableReinforced
|
||||||
@@ -83,6 +66,23 @@
|
|||||||
conditions:
|
conditions:
|
||||||
- !type:TileNotBlocked {}
|
- !type:TileNotBlocked {}
|
||||||
|
|
||||||
|
- type: construction
|
||||||
|
name: plasma glass table
|
||||||
|
id: TablePlasmaGlass
|
||||||
|
graph: table
|
||||||
|
startNode: start
|
||||||
|
targetNode: TablePlasmaGlass
|
||||||
|
category: Structures
|
||||||
|
description: A square piece of plasma glass, standing on four metal legs. Pretty!
|
||||||
|
icon:
|
||||||
|
sprite: Structures/Furniture/Tables/plasma.rsi
|
||||||
|
state: full
|
||||||
|
objectType: Structure
|
||||||
|
placementMode: SnapgridCenter
|
||||||
|
canBuildInImpassable: false
|
||||||
|
conditions:
|
||||||
|
- !type:TileNotBlocked {}
|
||||||
|
|
||||||
- type: construction
|
- type: construction
|
||||||
name: wood table
|
name: wood table
|
||||||
id: TableWood
|
id: TableWood
|
||||||
|
|||||||
@@ -61,6 +61,18 @@
|
|||||||
friction: 0.30
|
friction: 0.30
|
||||||
item_drop: FloorTileItemGCircuit
|
item_drop: FloorTileItemGCircuit
|
||||||
|
|
||||||
|
- type: tile
|
||||||
|
name: floor_blue_circuit
|
||||||
|
display_name: Blue circuit floor
|
||||||
|
texture: "blue_circuit"
|
||||||
|
base_turfs:
|
||||||
|
- plating
|
||||||
|
is_subfloor: false
|
||||||
|
can_crowbar: true
|
||||||
|
footstep_sounds:
|
||||||
|
collection: footstep_floor
|
||||||
|
friction: 0.30
|
||||||
|
|
||||||
- type: tile
|
- type: tile
|
||||||
name: floor_lino
|
name: floor_lino
|
||||||
display_name: Linoleum floor
|
display_name: Linoleum floor
|
||||||
@@ -274,6 +286,18 @@
|
|||||||
friction: 0.30
|
friction: 0.30
|
||||||
item_drop: FloorTileItemGold
|
item_drop: FloorTileItemGold
|
||||||
|
|
||||||
|
- type: tile
|
||||||
|
name: floor_silver
|
||||||
|
display_name: Silver Tile
|
||||||
|
texture: silver
|
||||||
|
base_turfs:
|
||||||
|
- plating
|
||||||
|
is_subfloor: false
|
||||||
|
can_crowbar: true
|
||||||
|
footstep_sounds:
|
||||||
|
collection: footstep_floor
|
||||||
|
friction: 0.30
|
||||||
|
|
||||||
- type: tile
|
- type: tile
|
||||||
name: floor_glass
|
name: floor_glass
|
||||||
display_name: glass floor
|
display_name: glass floor
|
||||||
@@ -300,54 +324,6 @@
|
|||||||
friction: 0.30
|
friction: 0.30
|
||||||
item_drop: SheetRGlass1
|
item_drop: SheetRGlass1
|
||||||
|
|
||||||
- type: tile
|
|
||||||
name: floor_warning1
|
|
||||||
display_name: Warning Tile
|
|
||||||
texture: steel_warning1
|
|
||||||
base_turfs:
|
|
||||||
- plating
|
|
||||||
is_subfloor: false
|
|
||||||
can_crowbar: true
|
|
||||||
footstep_sounds:
|
|
||||||
collection: footstep_floor
|
|
||||||
friction: 0.30
|
|
||||||
|
|
||||||
- type: tile
|
|
||||||
name: floor_warning2
|
|
||||||
display_name: Beware Tile
|
|
||||||
texture: steel_warning2
|
|
||||||
base_turfs:
|
|
||||||
- plating
|
|
||||||
is_subfloor: false
|
|
||||||
can_crowbar: true
|
|
||||||
footstep_sounds:
|
|
||||||
collection: footstep_floor
|
|
||||||
friction: 0.30
|
|
||||||
|
|
||||||
- type: tile
|
|
||||||
name: floor_white_warning1
|
|
||||||
display_name: White Warning Tile
|
|
||||||
texture: white_warning1
|
|
||||||
base_turfs:
|
|
||||||
- plating
|
|
||||||
is_subfloor: false
|
|
||||||
can_crowbar: true
|
|
||||||
footstep_sounds:
|
|
||||||
collection: footstep_floor
|
|
||||||
friction: 0.30
|
|
||||||
|
|
||||||
- type: tile
|
|
||||||
name: floor_white_warning2
|
|
||||||
display_name: White Beware Tile
|
|
||||||
texture: white_warning2
|
|
||||||
base_turfs:
|
|
||||||
- plating
|
|
||||||
is_subfloor: false
|
|
||||||
can_crowbar: true
|
|
||||||
footstep_sounds:
|
|
||||||
collection: footstep_floor
|
|
||||||
friction: 0.30
|
|
||||||
|
|
||||||
- type: tile
|
- type: tile
|
||||||
name: floor_blue
|
name: floor_blue
|
||||||
display_name: Blue Tile
|
display_name: Blue Tile
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 211 B |
@@ -1,215 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 1,
|
|
||||||
"license": "CC-BY-SA-3.0",
|
|
||||||
"copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/commit/4f4f8e186bd6ded4d424fad1dee49d3d969adc7c",
|
|
||||||
"size": {
|
|
||||||
"x": 32,
|
|
||||||
"y": 32
|
|
||||||
},
|
|
||||||
"states": [
|
|
||||||
{
|
|
||||||
"name": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile-white-techfloor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_bcarpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_blucarpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_cafe"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_carpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_bluecorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_brownperforated"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_brownplatform"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_cargo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_cyancorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_danger"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_golden"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_grayperforated"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_grayplatform"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_monofloor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_orangecorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_panels"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_techfloor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_techfloor_grid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_dark_violetcorener"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_gaycarpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_grass"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_oracarpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_purcarpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_sblucarpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_bar_dance"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_bar_flat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_bar_light"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_bluecorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_brownperforated"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_brownplatform"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_cargo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_cyancorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_danger"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_golden"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_grayperforated"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_grayplatform"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_monofloor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_orangecorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_panels"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_techfloor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_techfloor_grid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_steel_violetcorener"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_techmaint"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_techmaint_cargo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_techmaint_panels"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_techmaint_perforated"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_turcarpet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_bluecorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_brownperforated"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_brownplatform"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_cargo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_cyancorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_danger"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_golden"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_grayperforated"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_grayplatform"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_monofloor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_orangecorner"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_panels"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_techfloor_grid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_white_violetcorener"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tile_wood"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 237 B |
|
Before Width: | Height: | Size: 182 B |
|
Before Width: | Height: | Size: 203 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 232 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 260 B |
|
Before Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 221 B |
|
Before Width: | Height: | Size: 249 B |
|
Before Width: | Height: | Size: 249 B |
|
Before Width: | Height: | Size: 260 B |
|
Before Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 217 B |
|
Before Width: | Height: | Size: 225 B |
|
Before Width: | Height: | Size: 312 B |
|
Before Width: | Height: | Size: 235 B |
|
Before Width: | Height: | Size: 173 B |
|
Before Width: | Height: | Size: 223 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 386 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 203 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 204 B |
|
Before Width: | Height: | Size: 385 B |
|
Before Width: | Height: | Size: 224 B |
|
Before Width: | Height: | Size: 269 B |
|
Before Width: | Height: | Size: 241 B |
|
Before Width: | Height: | Size: 254 B |
|
Before Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 237 B |
|
Before Width: | Height: | Size: 257 B |
|
Before Width: | Height: | Size: 253 B |
|
Before Width: | Height: | Size: 257 B |
|
Before Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 225 B |
|
Before Width: | Height: | Size: 237 B |
|
Before Width: | Height: | Size: 315 B |
|
Before Width: | Height: | Size: 235 B |
|
Before Width: | Height: | Size: 173 B |
|
Before Width: | Height: | Size: 236 B |
|
Before Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 210 B |
|
Before Width: | Height: | Size: 255 B |
|
Before Width: | Height: | Size: 242 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 203 B |
|
Before Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 247 B |
|
Before Width: | Height: | Size: 198 B |
|
Before Width: | Height: | Size: 214 B |
|
Before Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 259 B |
|
Before Width: | Height: | Size: 252 B |
|
Before Width: | Height: | Size: 245 B |
|
Before Width: | Height: | Size: 196 B |
|
Before Width: | Height: | Size: 226 B |
|
Before Width: | Height: | Size: 233 B |
|
Before Width: | Height: | Size: 325 B |
|
Before Width: | Height: | Size: 172 B |
|
Before Width: | Height: | Size: 241 B |
|
Before Width: | Height: | Size: 314 B |
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 427 B After Width: | Height: | Size: 447 B |
|
Before Width: | Height: | Size: 408 B After Width: | Height: | Size: 499 B |
@@ -43,6 +43,9 @@
|
|||||||
{
|
{
|
||||||
"name": "steel_techfloor_grid"
|
"name": "steel_techfloor_grid"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "silver"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "dark_techfloor_grid"
|
"name": "dark_techfloor_grid"
|
||||||
},
|
},
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 326 B |