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>
This commit is contained in:
Swept
2021-10-15 02:58:40 -07:00
committed by GitHub
parent ca90025005
commit e34888373a
966 changed files with 3493 additions and 5394 deletions

View File

@@ -206,7 +206,7 @@ namespace Content.Client.Wall.Components
{
if (Owner.EntityManager.TryGetComponent(entity, out WindowComponent? window))
{
window.UpdateSprite();
//window.UpdateSprite();
}
}
}

View File

@@ -1,116 +1,11 @@
using System.Diagnostics.CodeAnalysis;
using Content.Client.Wall.Components;
using Content.Shared.Window;
using Robust.Client.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
{
[RegisterComponent]
[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
}
}

View File

@@ -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;
}
}
}

View File

@@ -1,68 +1,59 @@
using System;
using Content.Client.Wall.Components;
using Content.Shared.Rounding;
using Content.Shared.Window;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Map;
using Robust.Shared.Log;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Utility;
namespace Content.Client.Window
{
[UsedImplicitly]
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)
{
base.OnChangeData(component);
var sprite = component.Owner.GetComponent<ISpriteComponent>();
if (!component.Owner.Transform.Anchored)
return;
var lowWall = FindLowWall(IoCManager.Resolve<IMapManager>(), component.Owner.Transform);
if (lowWall == null)
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
return;
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)
{
foreach (var val in Enum.GetValues(typeof(WindowDamageLayers)))
{
if (val == null) continue;
sprite.LayerSetVisible((WindowDamageLayers) val, false);
}
sprite.LayerSetVisible(WindowDamageLayers.Layer, false);
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}");
sprite.LayerSetState(WindowDamageLayers.DamageSE, $"{(int) lowWall.LastCornerSE}_{level}");
sprite.LayerSetState(WindowDamageLayers.DamageSW, $"{(int) lowWall.LastCornerSW}_{level}");
sprite.LayerSetState(WindowDamageLayers.DamageNW, $"{(int) lowWall.LastCornerNW}_{level}");
Logger.Info($"LEVEL: {level} DMG: {fraction}");
sprite.LayerSetVisible(WindowDamageLayers.Layer, true);
sprite.LayerSetState(WindowDamageLayers.Layer, $"{level}");
}
}
private static LowWallComponent? FindLowWall(IMapManager mapManager, ITransformComponent transform)
public enum WindowDamageLayers : byte
{
var grid = mapManager.GetGrid(transform.GridID);
var coords = transform.Coordinates;
foreach (var entity in grid.GetLocal(coords))
{
if (transform.Owner.EntityManager.TryGetComponent(entity, out LowWallComponent? lowWall))
{
return lowWall;
}
}
return null;
Layer,
}
}
}

View File

@@ -1,17 +1,11 @@
using System;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using Robust.Shared.GameStates;
namespace Content.Shared.Window
{
[NetworkedComponent]
public class SharedWindowComponent : Component
{
public override string Name => "Window";
}
[Serializable, NetSerializable]
public enum WindowVisuals
{
Damage
}
}

View 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
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -4,8 +4,9 @@
description: A booze dispenser with a single slot for a container to be filled.
parent: ReagentDispenserBase
components:
- type: Rotatable
- type: Sprite
sprite: Structures/dispensers.rsi
state: booze_dispenser
state: booze
- type: ReagentDispenser
pack: BoozeDispenserInventory

View File

@@ -6,10 +6,7 @@
components:
- type: Sprite
sprite: Structures/dispensers.rsi
state: industrial_dispenser
- type: Icon
sprite: Structures/dispensers.rsi
state: industrial_dispenser
state: industrial-working
- type: ReagentDispenser
pack: ChemDispenserStandardInventory
- type: ApcPowerReceiver

View File

@@ -4,8 +4,9 @@
parent: ReagentDispenserBase
description: A beverage dispenser with a selection of soda and several other common beverages. Has a single fill slot for containers.
components:
- type: Rotatable
- type: Sprite
sprite: Structures/dispensers.rsi
state: soda_dispenser
state: soda
- type: ReagentDispenser
pack: SodaDispenserInventory

View File

@@ -64,66 +64,6 @@
graph: 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
id: TableReinforced
parent: TableBase
@@ -217,6 +157,39 @@
graph: table
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
id: TableWood
parent: TableBase

View File

@@ -19,7 +19,7 @@
- VaultImpassable
- SmallImpassable
- type: Sprite
sprite: Structures/Furniture/furniture.rsi
sprite: Structures/Furniture/chairs.rsi
noRot: true
- type: Strap
position: Stand
@@ -50,7 +50,6 @@
- type: Rotatable
- type: Sprite
state: chair
color: "#8e9799"
- type: Physics
fixtures:
- shape:
@@ -72,8 +71,7 @@
components:
- type: Anchorable
- type: Sprite
state: stool_base
color: "#8e9799"
state: stool
- type: Physics
bodyType: Static
fixtures:
@@ -99,7 +97,7 @@
rotateWhileAnchored: true
- type: Anchorable
- type: Sprite
state: bar_stool
state: bar
- type: Physics
bodyType: Static
fixtures:
@@ -122,7 +120,7 @@
- type: Rotatable
rotateWhileAnchored: true
- type: Sprite
state: officechair_white
state: office-white
- type: Physics
fixtures:
- shape:
@@ -142,7 +140,7 @@
parent: ChairOfficeLight
components:
- type: Sprite
state: officechair_dark
state: office-dark
- type: Construction
graph: seat
node: chairOfficeDark
@@ -157,7 +155,7 @@
anchored: true
- type: Anchorable
- type: Sprite
state: comfychair_preview
state: comfy
- type: Physics
bodyType: Static
fixtures:
@@ -178,8 +176,7 @@
parent: SeatBase
components:
- type: Sprite
state: wooden_chair
color: "white"
state: wooden
- type: Rotatable
- type: Physics
fixtures:
@@ -226,8 +223,7 @@
- type: Anchorable
- type: Rotatable
- type: Sprite
sprite: Structures/Furniture/furniture.rsi
state: shuttle_chair
state: shuttle
netsync: false
- type: Physics
bodyType: Static

View File

@@ -498,6 +498,7 @@
visuals:
- type: VendingMachineVisualizer
normalUnshaded: true
ejectUnshaded: true
denyUnshaded: true
broken: true
- type: WiresVisualizer

View File

@@ -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
abstract: true
id: BaseApc

View File

@@ -16,8 +16,6 @@
sprite: Structures/Power/smes.rsi
layers:
- state: smes
- state: smes-display
shader: unshaded
- type: Smes
- type: Appearance
visuals:

View File

@@ -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

View File

@@ -46,12 +46,3 @@
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: Shelf
parent: Rack
name: shelf
description: A shelf for storing things on.
components:
- type: Sprite
state: shelf

View File

@@ -4,6 +4,7 @@
name: grille
description: A flimsy framework of iron rods.
components:
- type: CanBuildWindowOnTop
- type: Sprite
netsync: false
drawdepth: Walls

View File

@@ -306,7 +306,6 @@
name: reinforced wall
components:
- type: Sprite
color: "#889192"
sprite: Structures/Walls/solid.rsi
- type: Icon
sprite: Structures/Walls/solid.rsi
@@ -421,7 +420,6 @@
components:
- type: RCDDeconstructWhitelist
- type: Sprite
color: "#889192"
sprite: Structures/Walls/solid.rsi
- type: Construction
graph: girder

View File

@@ -27,7 +27,7 @@
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Window
- type: IconSmooth
base: pwindow
- type: Construction
graph: window

View File

@@ -27,7 +27,7 @@
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Window
- type: IconSmooth
base: rwindow
- type: Construction
graph: window

View File

@@ -10,7 +10,6 @@
components:
- type: RCDDeconstructWhitelist
- type: Sprite
color: "#DDDDDD"
netsync: false
drawdepth: WallTops
sprite: Structures/Windows/window.rsi
@@ -50,8 +49,10 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Airtight
- type: Window
- type: IconSmooth
key: windows
base: window
- type: Window
- type: Construction
graph: window
node: window

View File

@@ -51,6 +51,12 @@
amount: 1
doAfter: 1
- to: TablePlasmaGlass
steps:
- material: PlasmaGlass
amount: 1
doAfter: 1
- to: TableWood
steps:
- material: WoodPlank
@@ -69,24 +75,6 @@
- tool: Anchoring
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
entity: TableReinforced
edges:
@@ -123,6 +111,18 @@
- tool: Anchoring
doAfter: 1
- node: TablePlasmaGlass
entity: TablePlasmaGlass
edges:
- to: TableFrame
completed:
- !type:SpawnPrototype
prototype: SheetPGlass1
amount: 1
steps:
- tool: Anchoring
doAfter: 1
- node: TableWood
entity: TableWood
edges:

View File

@@ -7,7 +7,7 @@
category: Furniture
description: You sit in this. Either by will or force.
icon:
sprite: Structures/Furniture/furniture.rsi
sprite: Structures/Furniture/chairs.rsi
state: chair
objectType: Structure
placementMode: SnapgridCenter
@@ -24,8 +24,8 @@
category: Furniture
description: You sit in this. Either by will or force.
icon:
sprite: Structures/Furniture/furniture.rsi
state: stool_base
sprite: Structures/Furniture/chairs.rsi
state: stool
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
@@ -41,8 +41,8 @@
category: Furniture
description: You sit in this. Either by will or force.
icon:
sprite: Structures/Furniture/furniture.rsi
state: bar_stool
sprite: Structures/Furniture/chairs.rsi
state: bar
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
@@ -58,8 +58,8 @@
category: Furniture
description: You sit in this. Either by will or force.
icon:
sprite: Structures/Furniture/furniture.rsi
state: officechair_white
sprite: Structures/Furniture/chairs.rsi
state: office-white
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
@@ -75,8 +75,8 @@
category: Furniture
description: You sit in this. Either by will or force.
icon:
sprite: Structures/Furniture/furniture.rsi
state: officechair_dark
sprite: Structures/Furniture/chairs.rsi
state: office-dark
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
@@ -92,8 +92,8 @@
category: Furniture
description: It looks comfy.
icon:
sprite: Structures/Furniture/furniture.rsi
state: comfychair_preview
sprite: Structures/Furniture/chairs.rsi
state: comfy
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false
@@ -109,8 +109,8 @@
category: Furniture
description: You sit in this. Either by will or force.
icon:
sprite: Structures/Furniture/furniture.rsi
state: wooden_chair
sprite: Structures/Furniture/chairs.rsi
state: wooden
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: false

View File

@@ -15,23 +15,6 @@
conditions:
- !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
name: reinforced table
id: TableReinforced
@@ -83,6 +66,23 @@
conditions:
- !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
name: wood table
id: TableWood
@@ -115,4 +115,4 @@
placementMode: SnapgridCenter
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked {}
- !type:TileNotBlocked {}

View File

@@ -6,7 +6,7 @@
- plating
is_subfloor: false
can_crowbar: true
footstep_sounds:
footstep_sounds:
collection: footstep_floor
friction: 0.30
item_drop: FloorTileItemDark
@@ -61,6 +61,18 @@
friction: 0.30
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
name: floor_lino
display_name: Linoleum floor
@@ -274,6 +286,18 @@
friction: 0.30
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
name: floor_glass
display_name: glass floor
@@ -300,54 +324,6 @@
friction: 0.30
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
name: floor_blue
display_name: Blue Tile

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

View File

@@ -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"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 427 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -43,6 +43,9 @@
{
"name": "steel_techfloor_grid"
},
{
"name": "silver"
},
{
"name": "dark_techfloor_grid"
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 326 B

Some files were not shown because too many files have changed in this diff Show More