diff --git a/Content.Shared/DrawDepth/DrawDepth.cs b/Content.Shared/DrawDepth/DrawDepth.cs
index d0d2daf5d9..4a93b5f0ea 100644
--- a/Content.Shared/DrawDepth/DrawDepth.cs
+++ b/Content.Shared/DrawDepth/DrawDepth.cs
@@ -9,32 +9,42 @@ namespace Content.Shared.DrawDepth
///
/// This is for sub-floors, the floors you see after prying off a tile.
///
- LowFloors = DrawDepthTag.Default - 11,
+ LowFloors = DrawDepthTag.Default - 14,
// various entity types that require different
// draw depths, as to avoid hiding
#region SubfloorEntities
- ThickPipe = DrawDepthTag.Default - 10,
- ThickWire = DrawDepthTag.Default - 9,
- ThinPipe = DrawDepthTag.Default - 8,
- ThinWire = DrawDepthTag.Default - 7,
+ ThickPipe = DrawDepthTag.Default - 13,
+ ThickWire = DrawDepthTag.Default - 12,
+ ThinPipe = DrawDepthTag.Default - 11,
+ ThinWire = DrawDepthTag.Default - 10,
#endregion
///
/// Things that are beneath regular floors.
///
- BelowFloor = DrawDepthTag.Default - 7,
+ BelowFloor = DrawDepthTag.Default - 9,
///
/// Used for entities like carpets.
///
- FloorTiles = DrawDepthTag.Default - 6,
+ FloorTiles = DrawDepthTag.Default - 8,
///
- /// Things that are actually right on the floor, like puddles. This does not mean objects like
+ /// Things that are actually right on the floor, like ice crust or atmos devices. This does not mean objects like
/// tables, even though they are technically "on the floor".
///
- FloorObjects = DrawDepthTag.Default - 5,
+ FloorObjects = DrawDepthTag.Default - 7,
+
+ ///
+ // Discrete drawdepth to avoid z-fighting with other FloorObjects but also above floor entities.
+ ///
+ Puddles = DrawDepthTag.Default - 6,
+
+ ///
+ // Objects that are on the floor, but should render above puddles. This includes kudzu, holopads, telepads and levers.
+ ///
+ HighFloorObjects = DrawDepthTag.Default - 5,
DeadMobs = DrawDepthTag.Default - 4,
diff --git a/Resources/Prototypes/Entities/Effects/puddle.yml b/Resources/Prototypes/Entities/Effects/puddle.yml
index 36f0faa1df..0cc4d14c0e 100644
--- a/Resources/Prototypes/Entities/Effects/puddle.yml
+++ b/Resources/Prototypes/Entities/Effects/puddle.yml
@@ -101,7 +101,7 @@
layers:
- sprite: Fluids/wet_floor_sparkles.rsi
state: sparkles
- drawdepth: FloorObjects
+ drawdepth: Puddles
color: "#FFFFFF80"
- type: entity
@@ -120,7 +120,7 @@
layers:
- sprite: Fluids/puddle.rsi
state: splat0
- drawdepth: FloorObjects
+ drawdepth: Puddles
color: "#FFFFFF80"
- type: Physics
bodyType: Static
diff --git a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
index 21b710a618..c7a82d4183 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
@@ -116,7 +116,7 @@
parent: Kudzu
components:
- type: Sprite
- drawdepth: FloorObjects
+ drawdepth: HighFloorObjects
sprite: Objects/Misc/kudzuflower.rsi
state: kudzu_11
- type: Kudzu
diff --git a/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml b/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml
index 741e0a3971..7d1719a708 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml
@@ -7,7 +7,7 @@
- type: Sprite
noRot: true
sprite: Structures/Machines/artifact_analyzer.rsi
- drawdepth: FloorObjects
+ drawdepth: HighFloorObjects
layers:
- state: icon
- state: unshaded
diff --git a/Resources/Prototypes/Entities/Structures/Machines/holopad.yml b/Resources/Prototypes/Entities/Structures/Machines/holopad.yml
index 421d2809d4..c95609c55a 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/holopad.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/holopad.yml
@@ -22,7 +22,7 @@
- type: StationAiVision
- type: Sprite
sprite: Structures/Machines/holopad.rsi
- drawdepth: FloorObjects
+ drawdepth: HighFloorObjects
snapCardinals: true
layers:
- state: base
diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
index 556d3d430a..fddf753a20 100644
--- a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
+++ b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml
@@ -152,7 +152,7 @@
- type: Clickable
- type: InteractionOutline
- type: Sprite
- drawdepth: FloorObjects
+ drawdepth: HighFloorObjects
sprite: Structures/conveyor.rsi
layers:
- state: switch-off
diff --git a/Resources/Prototypes/Entities/Structures/cargo_telepad.yml b/Resources/Prototypes/Entities/Structures/cargo_telepad.yml
index c37a6338dc..a99f35a7d9 100644
--- a/Resources/Prototypes/Entities/Structures/cargo_telepad.yml
+++ b/Resources/Prototypes/Entities/Structures/cargo_telepad.yml
@@ -22,7 +22,7 @@
- MachineMask
- type: Sprite
sprite: Structures/cargo_telepad.rsi
- drawdepth: FloorObjects
+ drawdepth: HighFloorObjects
layers:
- state: offline
map: [ "enum.CargoTelepadLayers.Base" ]
diff --git a/Resources/Prototypes/Entities/Structures/conveyor.yml b/Resources/Prototypes/Entities/Structures/conveyor.yml
index d1281ceba6..2e94026c15 100644
--- a/Resources/Prototypes/Entities/Structures/conveyor.yml
+++ b/Resources/Prototypes/Entities/Structures/conveyor.yml
@@ -14,7 +14,7 @@
- type: Sprite
sprite: Structures/conveyor.rsi
state: conveyor_started_cw
- drawdepth: FloorObjects
+ drawdepth: HighFloorObjects
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: Physics