diff --git a/Content.Client/Wall/Components/LowWallComponent.cs b/Content.Client/Wall/Components/LowWallComponent.cs
deleted file mode 100644
index 8d3d5a92a1..0000000000
--- a/Content.Client/Wall/Components/LowWallComponent.cs
+++ /dev/null
@@ -1,248 +0,0 @@
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Diagnostics.Contracts;
-using Content.Client.IconSmoothing;
-using Content.Client.Window;
-using Robust.Client.GameObjects;
-using Robust.Shared.GameObjects;
-using Robust.Shared.IoC;
-using Robust.Shared.Map;
-using Robust.Shared.Maths;
-using Robust.Shared.ViewVariables;
-using static Robust.Client.GameObjects.SpriteComponent;
-
-namespace Content.Client.Wall.Components
-{
- // TODO: Over layers should be placed ABOVE the window itself too.
- // This is gonna require a client entity & parenting,
- // so IsMapTransform being naive is gonna be a problem.
-
- ///
- /// Override of icon smoothing to handle the specific complexities of low walls.
- ///
- [RegisterComponent]
- [ComponentReference(typeof(IconSmoothComponent))]
- public class LowWallComponent : IconSmoothComponent
- {
- public override string Name => "LowWall";
-
- [Dependency] private readonly IEntityManager _entMan = default!;
- [Dependency] private readonly IMapManager _mapManager = default!;
-
- public CornerFill LastCornerNE { get; private set; }
- public CornerFill LastCornerSE { get; private set; }
- public CornerFill LastCornerSW { get; private set; }
- public CornerFill LastCornerNW { get; private set; }
-
- [ViewVariables] private EntityUid _overlayEntity;
-
- [ViewVariables]
- private ISpriteComponent? _overlaySprite;
-
- protected override void Startup()
- {
- base.Startup();
-
- _overlayEntity = _entMan.SpawnEntity("LowWallOverlay", _entMan.GetComponent(Owner).Coordinates);
- _entMan.GetComponent(_overlayEntity).AttachParent(Owner);
- _entMan.GetComponent(_overlayEntity).LocalPosition = Vector2.Zero;
-
- _overlaySprite = _entMan.GetComponent(_overlayEntity);
-
- var overState0 = $"{StateBase}over_0";
- _overlaySprite.LayerMapSet(OverCornerLayers.SE, _overlaySprite.AddLayerState(overState0));
- _overlaySprite.LayerSetDirOffset(OverCornerLayers.SE, DirectionOffset.None);
- _overlaySprite.LayerMapSet(OverCornerLayers.NE, _overlaySprite.AddLayerState(overState0));
- _overlaySprite.LayerSetDirOffset(OverCornerLayers.NE, DirectionOffset.CounterClockwise);
- _overlaySprite.LayerMapSet(OverCornerLayers.NW, _overlaySprite.AddLayerState(overState0));
- _overlaySprite.LayerSetDirOffset(OverCornerLayers.NW, DirectionOffset.Flip);
- _overlaySprite.LayerMapSet(OverCornerLayers.SW, _overlaySprite.AddLayerState(overState0));
- _overlaySprite.LayerSetDirOffset(OverCornerLayers.SW, DirectionOffset.Clockwise);
- }
-
- protected override void Shutdown()
- {
- base.Shutdown();
-
- // _overlayEntity is non-nullable as it is set on startup.
- // Should also never be default but might as well check.
- if (_overlayEntity.Valid)
- {
- _entMan.DeleteEntity(_overlayEntity);
- }
- }
-
- internal override void CalculateNewSprite()
- {
- base.CalculateNewSprite();
-
- if (Sprite == null || !_entMan.GetComponent(Owner).Anchored || _overlaySprite == null)
- {
- return;
- }
-
- var grid = _mapManager.GetGrid(_entMan.GetComponent(Owner).GridID);
- var coords = _entMan.GetComponent(Owner).Coordinates;
-
- var (n, nl) = MatchingWall(grid.GetInDir(coords, Direction.North));
- var (ne, nel) = MatchingWall(grid.GetInDir(coords, Direction.NorthEast));
- var (e, el) = MatchingWall(grid.GetInDir(coords, Direction.East));
- var (se, sel) = MatchingWall(grid.GetInDir(coords, Direction.SouthEast));
- var (s, sl) = MatchingWall(grid.GetInDir(coords, Direction.South));
- var (sw, swl) = MatchingWall(grid.GetInDir(coords, Direction.SouthWest));
- var (w, wl) = MatchingWall(grid.GetInDir(coords, Direction.West));
- var (nw, nwl) = MatchingWall(grid.GetInDir(coords, Direction.NorthWest));
-
- // ReSharper disable InconsistentNaming
- var cornerNE = CornerFill.None;
- var cornerSE = CornerFill.None;
- var cornerSW = CornerFill.None;
- var cornerNW = CornerFill.None;
-
- var lowCornerNE = CornerFill.None;
- var lowCornerSE = CornerFill.None;
- var lowCornerSW = CornerFill.None;
- var lowCornerNW = CornerFill.None;
- // ReSharper restore InconsistentNaming
-
- if (n)
- {
- cornerNE |= CornerFill.CounterClockwise;
- cornerNW |= CornerFill.Clockwise;
-
- if (!nl && !e && !w)
- {
- lowCornerNE |= CornerFill.CounterClockwise;
- lowCornerNW |= CornerFill.Clockwise;
- }
- }
-
- if (ne)
- {
- cornerNE |= CornerFill.Diagonal;
-
- if (!nel && (nl || el || n && e))
- {
- lowCornerNE |= CornerFill.Diagonal;
- }
- }
-
- if (e)
- {
- cornerNE |= CornerFill.Clockwise;
- cornerSE |= CornerFill.CounterClockwise;
-
- if (!el)
- {
- lowCornerNE |= CornerFill.Clockwise;
- lowCornerSE |= CornerFill.CounterClockwise;
- }
- }
-
- if (se)
- {
- cornerSE |= CornerFill.Diagonal;
-
- if (!sel && (sl || el || s && e))
- {
- lowCornerSE |= CornerFill.Diagonal;
- }
- }
-
- if (s)
- {
- cornerSE |= CornerFill.Clockwise;
- cornerSW |= CornerFill.CounterClockwise;
-
- if (!sl)
- {
- lowCornerSE |= CornerFill.Clockwise;
- lowCornerSW |= CornerFill.CounterClockwise;
- }
- }
-
- if (sw)
- {
- cornerSW |= CornerFill.Diagonal;
-
- if (!swl && (sl || wl || s && w))
- {
- lowCornerSW |= CornerFill.Diagonal;
- }
- }
-
- if (w)
- {
- cornerSW |= CornerFill.Clockwise;
- cornerNW |= CornerFill.CounterClockwise;
-
- if (!wl)
- {
- lowCornerSW |= CornerFill.Clockwise;
- lowCornerNW |= CornerFill.CounterClockwise;
- }
- }
-
- if (nw)
- {
- cornerNW |= CornerFill.Diagonal;
-
- if (!nwl && (nl || wl || n && w))
- {
- lowCornerNW |= CornerFill.Diagonal;
- }
- }
-
- Sprite.LayerSetState(CornerLayers.NE, $"{StateBase}{(int) cornerNE}");
- Sprite.LayerSetState(CornerLayers.SE, $"{StateBase}{(int) cornerSE}");
- Sprite.LayerSetState(CornerLayers.SW, $"{StateBase}{(int) cornerSW}");
- Sprite.LayerSetState(CornerLayers.NW, $"{StateBase}{(int) cornerNW}");
-
- _overlaySprite.LayerSetState(OverCornerLayers.NE, $"{StateBase}over_{(int) lowCornerNE}");
- _overlaySprite.LayerSetState(OverCornerLayers.SE, $"{StateBase}over_{(int) lowCornerSE}");
- _overlaySprite.LayerSetState(OverCornerLayers.SW, $"{StateBase}over_{(int) lowCornerSW}");
- _overlaySprite.LayerSetState(OverCornerLayers.NW, $"{StateBase}over_{(int) lowCornerNW}");
-
- LastCornerNE = cornerNE;
- LastCornerSE = cornerSE;
- LastCornerSW = cornerSW;
- LastCornerNW = cornerNW;
-
- foreach (var entity in grid.GetLocal(coords))
- {
- if (_entMan.TryGetComponent(entity, out WindowComponent? window))
- {
- //window.UpdateSprite();
- }
- }
- }
-
- [Pure]
- private (bool connected, bool lowWall) MatchingWall(IEnumerable candidates)
- {
- foreach (var entity in candidates)
- {
- if (!_entMan.TryGetComponent(entity, out IconSmoothComponent? other))
- {
- continue;
- }
-
- if (other.SmoothKey == SmoothKey)
- {
- return (true, other is LowWallComponent);
- }
- }
-
- return (false, false);
- }
-
- [SuppressMessage("ReSharper", "InconsistentNaming")]
- private enum OverCornerLayers : byte
- {
- SE,
- NE,
- NW,
- SW,
- }
- }
-}
diff --git a/Content.Server/Entry/IgnoredComponents.cs b/Content.Server/Entry/IgnoredComponents.cs
index 7ed312385c..b697b9a8ce 100644
--- a/Content.Server/Entry/IgnoredComponents.cs
+++ b/Content.Server/Entry/IgnoredComponents.cs
@@ -6,7 +6,6 @@ namespace Content.Server.Entry
public static string[] List => new [] {
"ConstructionGhost",
"IconSmooth",
- "LowWall",
"ReinforcedWall",
"InteractionOutline",
"MeleeWeaponArcAnimation",
diff --git a/Resources/Prototypes/Entities/Structures/Walls/low.yml b/Resources/Prototypes/Entities/Structures/Walls/low.yml
deleted file mode 100644
index 715a956b95..0000000000
--- a/Resources/Prototypes/Entities/Structures/Walls/low.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-- type: entity
- id: LowWall
- parent: BaseStructure
- name: low wall
- description: Goes up to about your waist.
- components:
- - type: Tag
- tags:
- - RCDDeconstructWhitelist
- - type: CanBuildWindowOnTop
- - type: Sprite
- netsync: false
- color: "#889192"
- drawdepth: Walls
- sprite: Structures/Walls/low_wall.rsi
- - type: Icon
- sprite: Structures/Walls/low_wall.rsi
- state: metal
- - type: Damageable
- damageContainer: Inorganic
- damageModifierSet: Metallic
- - type: Destructible
- thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 100
- behaviors:
- - !type:ChangeConstructionNodeBehavior
- node: start
- - !type:DoActsBehavior
- acts: ["Destruction"]
- - type: Climbable
- - type: LowWall
- key: walls
- base: metal_
- - type: Construction
- graph: lowWall
- node: lowWall
-
-- type: entity
- id: LowWallOverlay
- name: low wall overlay
- abstract: true
- components:
- - type: Tag
- tags:
- - HideContextMenu
- - type: Sprite
- color: "#889192"
- drawdepth: WallMountedItems
- sprite: Structures/Walls/low_wall.rsi
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/low_wall.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/low_wall.yml
deleted file mode 100644
index a6a5aefb1c..0000000000
--- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/low_wall.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-- type: constructionGraph
- id: lowWall
- start: start
- graph:
- - node: start
- actions:
- - !type:SpawnPrototype
- prototype: SheetSteel1
- amount: 3
- - !type:DeleteEntity { }
- edges:
- - to: lowWall
- conditions:
- - !type:ComponentInTile
- value: false
- component: Window
- steps:
- - material: Steel
- amount: 3
- doAfter: 5
-
- - node: lowWall
- entity: LowWall
- edges:
- - to: start
- conditions:
- # We fail the condition if there are any windows on the tile.
- - !type:ComponentInTile
- hasEntity: false
- component: Window
- steps:
- - tool: Welding
- doAfter: 5
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/meta.json b/Resources/Textures/Structures/Walls/low_wall.rsi/meta.json
deleted file mode 100644
index eed61418f1..0000000000
--- a/Resources/Textures/Structures/Walls/low_wall.rsi/meta.json
+++ /dev/null
@@ -1 +0,0 @@
-{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/b503939d31b23c025ddb936b75e0a265d85154c5/icons/obj/structures/low_wall.dmi", "states": [{"name": "metal", "delays": [[1.0]]}, {"name": "metal_0", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_1", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_2", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_3", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_4", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_5", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_6", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_7", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_0", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_1", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_2", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_3", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_4", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_5", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_6", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}, {"name": "metal_over_7", "directions": 4, "delays": [[1.0], [1.0], [1.0], [1.0]]}]}
\ No newline at end of file
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal.png
deleted file mode 100644
index 21a1e3e059..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_0.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_0.png
deleted file mode 100644
index e1498c7536..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_0.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_1.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_1.png
deleted file mode 100644
index 8ed2f0b192..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_1.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_2.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_2.png
deleted file mode 100644
index e1498c7536..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_2.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_3.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_3.png
deleted file mode 100644
index 8ed2f0b192..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_3.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_4.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_4.png
deleted file mode 100644
index bb544bf0cb..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_4.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_5.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_5.png
deleted file mode 100644
index c59b2bab9d..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_5.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_6.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_6.png
deleted file mode 100644
index bb544bf0cb..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_6.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_7.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_7.png
deleted file mode 100644
index 4acb40b3b2..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_7.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_0.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_0.png
deleted file mode 100644
index 0858c19f05..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_0.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_1.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_1.png
deleted file mode 100644
index 6390841edd..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_1.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_2.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_2.png
deleted file mode 100644
index 0858c19f05..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_2.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_3.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_3.png
deleted file mode 100644
index b487006f41..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_3.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_4.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_4.png
deleted file mode 100644
index fdf7f77302..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_4.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_5.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_5.png
deleted file mode 100644
index 8527bd051a..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_5.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_6.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_6.png
deleted file mode 100644
index ff8e3ed9ff..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_6.png and /dev/null differ
diff --git a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_7.png b/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_7.png
deleted file mode 100644
index 3ca5afe7ba..0000000000
Binary files a/Resources/Textures/Structures/Walls/low_wall.rsi/metal_over_7.png and /dev/null differ