diff --git a/Content.Client/RCD/RCDConstructionGhostSystem.cs b/Content.Client/RCD/RCDConstructionGhostSystem.cs
index 792916b89223..97630297a023 100644
--- a/Content.Client/RCD/RCDConstructionGhostSystem.cs
+++ b/Content.Client/RCD/RCDConstructionGhostSystem.cs
@@ -74,5 +74,6 @@ public override void Update(float frameTime)
_placementManager.Clear();
_placementManager.BeginPlacing(newObjInfo);
+ _placementManager.Direction = rcd.ConstructionDirection; // SS220 fix rcd rotation
}
}
diff --git a/Content.Client/RCD/RCDMenu.xaml b/Content.Client/RCD/RCDMenu.xaml
index b3d5367a5fdd..afa2b2e784cc 100644
--- a/Content.Client/RCD/RCDMenu.xaml
+++ b/Content.Client/RCD/RCDMenu.xaml
@@ -6,7 +6,7 @@
VerticalExpand="True"
HorizontalExpand="True"
MinSize="450 450">
-
+
@@ -16,7 +16,7 @@
-
+
@@ -27,6 +27,14 @@
+
+
+
+
+
+
+
+
@@ -40,8 +48,16 @@
-
+
+
+
+
+
+
+
+
+
diff --git a/Content.Shared/RCD/Systems/RCDSystem.cs b/Content.Shared/RCD/Systems/RCDSystem.cs
index 62ad2f3be0de..dc326541be7d 100644
--- a/Content.Shared/RCD/Systems/RCDSystem.cs
+++ b/Content.Shared/RCD/Systems/RCDSystem.cs
@@ -46,6 +46,7 @@ public class RCDSystem : EntitySystem
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly SharedMapSystem _mapSystem = default!;
[Dependency] private readonly TagSystem _tags = default!;
+ [Dependency] private readonly SharedTransformSystem _xform = default!; // SS220 fix rcd rotation
private readonly int _instantConstructionDelay = 0;
private readonly EntProtoId _instantConstructionFx = "EffectRCDConstruct0";
@@ -515,21 +516,36 @@ private void FinalizeRCDOperation(EntityUid uid, RCDComponent component, MapGrid
break;
case RcdMode.ConstructObject:
- var ent = Spawn(component.CachedPrototype.Prototype, _mapSystem.GridTileToLocal(mapGridData.GridUid, mapGridData.Component, mapGridData.Position));
+ //var ent = Spawn(component.CachedPrototype.Prototype, _mapSystem.GridTileToLocal(mapGridData.GridUid, mapGridData.Component, mapGridData.Position)); // SS220 fix rcd rotation
+ Angle rotation = 0; // SS220 fix rcd rotation
switch (component.CachedPrototype.Rotation)
{
case RcdRotation.Fixed:
- Transform(ent).LocalRotation = Angle.Zero;
+ // SS220 fix rcd rotation begin
+ //Transform(ent).LocalRotation = Angle.Zero;
+ rotation = Angle.Zero;
+ // SS220 fix rcd rotation end
break;
case RcdRotation.Camera:
- Transform(ent).LocalRotation = Transform(uid).LocalRotation;
+ // SS220 fix rcd rotation begin
+ //Transform(ent).LocalRotation = Transform(uid).LocalRotation;
+ rotation = Transform(uid).LocalRotation;
+ // SS220 fix rcd rotation end
break;
case RcdRotation.User:
- Transform(ent).LocalRotation = direction.ToAngle();
+ // SS220 fix rcd rotation begin
+ //Transform(ent).LocalRotation = direction.ToAngle();
+ rotation = direction.ToAngle();
+ // SS220 fix rcd rotation end
break;
}
+ // SS220 fix rcd rotation begin
+ var mapcords = _xform.ToMapCoordinates(_mapSystem.GridTileToLocal(mapGridData.GridUid, mapGridData.Component, mapGridData.Position));
+ var ent = Spawn(component.CachedPrototype.Prototype, mapcords, rotation: rotation);
+ // SS220 fix rcd rotation end
+
_adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(user):user} used RCD to spawn {ToPrettyString(ent)} at {mapGridData.Position} on grid {mapGridData.GridUid}");
break;
diff --git a/Resources/Locale/ru-RU/ss220/rcd/components/rcd-component.ftl b/Resources/Locale/ru-RU/ss220/rcd/components/rcd-component.ftl
new file mode 100644
index 000000000000..975a2f3ab5ac
--- /dev/null
+++ b/Resources/Locale/ru-RU/ss220/rcd/components/rcd-component.ftl
@@ -0,0 +1,2 @@
+rcd-component-pipes = Газовые трубы
+rcd-component-disposals = Утилизационные трубы
diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml
index 8a13fc36e7d6..d665cb74b890 100644
--- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml
+++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml
@@ -293,6 +293,7 @@
- type: RCD
availablePrototypes:
- WallSolid
+ - WallReinforced # ss220 rcd upd
- FloorSteel
- Plating
- Catwalk
@@ -311,6 +312,21 @@
- HVCable
- CableTerminal
- Deconstruct
+ # ss220 rcd upd bgn
+ - StraightPipe
+ - PipeFourway
+ - PipeTjunction
+ - PipeBend
+ - PassiveVent
+ - AirVent
+ - Scrubber
+ - DisposalPipe
+ - DisposalTrunk
+ - DisposalJunction
+ - DisposalJunctionFlipped
+ - DisposalYJunction
+ - DisposalBend
+ # ss220 rcd upd end
- type: LimitedCharges
maxCharges: 30
charges: 30
@@ -355,10 +371,10 @@
suffix: AutoRecharge
components:
- type: LimitedCharges
- maxCharges: 20
- charges: 20
+ maxCharges: 30 # rcd upd
+ charges: 30 # rcd upd
- type: AutoRecharge
- rechargeDuration: 10
+ rechargeDuration: 5 # rcd upd
- type: entity
id: RCDExperimental
diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
index 622e85f6e59e..e3d5980b70f3 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
@@ -14,10 +14,10 @@
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: RGlass
+ # ss220 rcd upd bgn
- type: RCDDeconstructable
- cost: 6
- delay: 6
- fx: EffectRCDDeconstruct6
+ deconstructable: false
+ # ss220 rcd upd end
- type: Destructible
thresholds:
- trigger:
@@ -84,10 +84,10 @@
sprite: Structures/Windows/cracks_directional.rsi
- type: Damageable
damageModifierSet: RGlass
+ # ss220 rcd upd bgn
- type: RCDDeconstructable
- cost: 4
- delay: 4
- fx: EffectRCDDeconstruct4
+ deconstructable: false
+ # ss220 rcd upd end
- type: Destructible
thresholds:
- trigger:
@@ -129,6 +129,10 @@
drawdepth: WallTops
sprite: Structures/Windows/reinforced_window_diagonal.rsi
state: state0
+ # ss220 rcd upd bgn
+ - type: RCDDeconstructable
+ deconstructable: false
+ # ss220 rcd upd end
- type: IconSmooth
mode: Diagonal
key: walls # Corvax-Resprite
diff --git a/Resources/Prototypes/RCD/rcd.yml b/Resources/Prototypes/RCD/rcd.yml
index 88a99451cfac..e56f617cfc71 100644
--- a/Resources/Prototypes/RCD/rcd.yml
+++ b/Resources/Prototypes/RCD/rcd.yml
@@ -2,7 +2,7 @@
- type: rcd
id: Invalid # Hidden prototype - do not add to RCDs
mode: Invalid
-
+
- type: rcd
id: Deconstruct
name: rcd-component-deconstruct
@@ -13,14 +13,14 @@
rotation: Camera
- type: rcd
- id: DeconstructLattice # Hidden prototype - do not add to RCDs
+ id: DeconstructLattice # Hidden prototype - do not add to RCDs
name: rcd-component-deconstruct
mode: Deconstruct
cost: 2
delay: 0
rotation: Camera
fx: EffectRCDConstruct0
-
+
- type: rcd
id: DeconstructTile # Hidden prototype - do not add to RCDs
name: rcd-component-deconstruct
@@ -30,7 +30,7 @@
rotation: Camera
fx: EffectRCDDeconstruct4
-# Flooring
+# Flooring
- type: rcd
id: Plating
name: rcd-component-plating
@@ -44,7 +44,7 @@
rules:
- CanBuildOnEmptyTile
fx: EffectRCDConstruct1
-
+
- type: rcd
id: FloorSteel
name: rcd-component-floor-steel
@@ -62,7 +62,7 @@
- type: rcd
id: Catwalk
category: WallsAndFlooring
- sprite: /Textures/Interface/Radial/RCD/catwalk.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/catwalk.png # ss220 rcd upd
mode: ConstructObject
prototype: Catwalk
cost: 1
@@ -78,9 +78,9 @@
- type: rcd
id: WallSolid
category: WallsAndFlooring
- sprite: /Textures/Interface/Radial/RCD/solid_wall.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/solid_wall.png # ss220 rcd upd
mode: ConstructObject
- prototype: WallSolid
+ prototype: WallSolid
cost: 4
delay: 2
collisionMask: FullTileMask
@@ -103,7 +103,7 @@
- type: rcd
id: Window
category: WindowsAndGrilles
- sprite: /Textures/Interface/Radial/RCD/window.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/window.png # ss220 rcd upd
mode: ConstructObject
prototype: Window
cost: 3
@@ -113,11 +113,11 @@
- IsWindow
rotation: Fixed
fx: EffectRCDConstruct2
-
+
- type: rcd
id: WindowDirectional
category: WindowsAndGrilles
- sprite: /Textures/Interface/Radial/RCD/directional.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/directional.png # ss220 rcd upd
mode: ConstructObject
prototype: WindowDirectional
cost: 2
@@ -128,11 +128,11 @@
- IsWindow
rotation: User
fx: EffectRCDConstruct1
-
+
- type: rcd
id: ReinforcedWindow
category: WindowsAndGrilles
- sprite: /Textures/Interface/Radial/RCD/window_reinforced.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/window_reinforced.png # ss220 rcd upd
mode: ConstructObject
prototype: ReinforcedWindow
cost: 4
@@ -142,11 +142,11 @@
- IsWindow
rotation: User
fx: EffectRCDConstruct3
-
+
- type: rcd
id: WindowReinforcedDirectional
category: WindowsAndGrilles
- sprite: /Textures/Interface/Radial/RCD/directional_reinforced.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/directional_reinforced.png # ss220 rcd upd
mode: ConstructObject
prototype: WindowReinforcedDirectional
cost: 3
@@ -162,37 +162,37 @@
- type: rcd
id: Airlock
category: Airlocks
- sprite: /Textures/Interface/Radial/RCD/airlock.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/airlock.png # ss220 rcd upd
mode: ConstructObject
prototype: Airlock
cost: 4
delay: 4
collisionMask: FullTileMask
- rotation: Camera
+ rotation: User # ss220 rcd upd (fix rot)
fx: EffectRCDConstruct4
-
+
- type: rcd
id: AirlockGlass
category: Airlocks
- sprite: /Textures/Interface/Radial/RCD/glass_airlock.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/glass_airlock.png # ss220 rcd upd
mode: ConstructObject
prototype: AirlockGlass
cost: 4
delay: 4
collisionMask: FullTileMask
- rotation: Camera
+ rotation: User # ss220 rcd upd (fix rot)
fx: EffectRCDConstruct4
-
+
- type: rcd
id: Firelock
category: Airlocks
- sprite: /Textures/Interface/Radial/RCD/firelock.png
+ sprite: /Textures/SS220/Interface/Radial/RCD/firelock.png # ss220 rcd upd
mode: ConstructObject
prototype: Firelock
cost: 4
delay: 3
collisionMask: FullTileMask
- rotation: Camera
+ rotation: User # ss220 rcd upd (fix rot)
fx: EffectRCDConstruct3
# Lighting
@@ -208,7 +208,7 @@
collisionBounds: "-0.23,-0.49,0.23,-0.36"
rotation: User
fx: EffectRCDConstruct1
-
+
- type: rcd
id: BulbLight
category: Lighting
@@ -235,7 +235,7 @@
- MustBuildOnSubfloor
rotation: Fixed
fx: EffectRCDConstruct0
-
+
- type: rcd
id: MVCable
category: Electrical
@@ -248,7 +248,7 @@
- MustBuildOnSubfloor
rotation: Fixed
fx: EffectRCDConstruct0
-
+
- type: rcd
id: HVCable
category: Electrical
@@ -261,7 +261,7 @@
- MustBuildOnSubfloor
rotation: Fixed
fx: EffectRCDConstruct0
-
+
- type: rcd
id: CableTerminal
category: Electrical
diff --git a/Resources/Prototypes/SS220/RCD/rcd.yml b/Resources/Prototypes/SS220/RCD/rcd.yml
new file mode 100644
index 000000000000..14f66e3f9ebc
--- /dev/null
+++ b/Resources/Prototypes/SS220/RCD/rcd.yml
@@ -0,0 +1,170 @@
+- type: rcd
+ id: WallReinforced
+ category: WallsAndFlooring
+ sprite: /Textures/SS220/Interface/Radial/RCD/reinforced_wall.png
+ mode: ConstructObject
+ prototype: WallReinforced
+ cost: 10
+ delay: 6
+ collisionMask: FullTileMask
+ rotation: Fixed
+ fx: EffectRCDConstruct4
+
+- type: rcd
+ id: StraightPipe
+ category: Pipes
+ sprite: /Textures/SS220/Interface/Radial/RCD/pipeStraight.png
+ mode: ConstructObject
+ prototype: GasPipeStraight
+ cost: 1
+ delay: 0
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct0
+
+- type: rcd
+ id: PipeFourway
+ category: Pipes
+ sprite: /Textures/SS220/Interface/Radial/RCD/pipeFourway.png
+ mode: ConstructObject
+ prototype: GasPipeFourway
+ cost: 1
+ delay: 0
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct0
+
+- type: rcd
+ id: PipeTjunction
+ category: Pipes
+ sprite: /Textures/SS220/Interface/Radial/RCD/pipeTjunction.png
+ mode: ConstructObject
+ prototype: GasPipeTJunction
+ cost: 1
+ delay: 0
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct0
+
+- type: rcd
+ id: PipeBend
+ category: Pipes
+ sprite: /Textures/SS220/Interface/Radial/RCD/pipeBend.png
+ mode: ConstructObject
+ prototype: GasPipeBend
+ cost: 1
+ delay: 0
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct0
+
+- type: rcd
+ id: PassiveVent
+ category: Pipes
+ sprite: /Textures/SS220/Interface/Radial/RCD/vent_passive.png
+ mode: ConstructObject
+ prototype: GasPassiveVent
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+- type: rcd
+ id: AirVent
+ category: Pipes
+ sprite: /Textures/SS220/Interface/Radial/RCD/vent_air.png
+ mode: ConstructObject
+ prototype: GasVentPump
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+- type: rcd
+ id: Scrubber
+ category: Pipes
+ sprite: /Textures/SS220/Interface/Radial/RCD/scrub.png
+ mode: ConstructObject
+ prototype: GasVentScrubber
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+- type: rcd
+ id: DisposalPipe
+ category: Disposals
+ sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-s.png
+ mode: ConstructObject
+ prototype: DisposalPipe
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+- type: rcd
+ id: DisposalTrunk
+ category: Disposals
+ sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-t.png
+ mode: ConstructObject
+ prototype: DisposalTrunk
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+- type: rcd
+ id: DisposalJunction
+ category: Disposals
+ sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-j1.png
+ mode: ConstructObject
+ prototype: DisposalJunction
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+
+- type: rcd
+ id: DisposalJunctionFlipped
+ category: Disposals
+ sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-j2.png
+ mode: ConstructObject
+ prototype: DisposalJunctionFlipped
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+
+- type: rcd
+ id: DisposalYJunction
+ category: Disposals
+ sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-y.png
+ mode: ConstructObject
+ prototype: DisposalYJunction
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
+
+
+- type: rcd
+ id: DisposalBend
+ category: Disposals
+ sprite: /Textures/SS220/Interface/Radial/RCD/conpipe-c.png
+ mode: ConstructObject
+ prototype: DisposalBend
+ cost: 2
+ delay: 1
+ collisionMask: Impassable
+ rotation: User
+ fx: EffectRCDConstruct1
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/airlock.png b/Resources/Textures/SS220/Interface/Radial/RCD/airlock.png
new file mode 100644
index 000000000000..27e2dee6f7c3
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/airlock.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/catwalk.png b/Resources/Textures/SS220/Interface/Radial/RCD/catwalk.png
new file mode 100644
index 000000000000..d17a0a68c1bb
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/catwalk.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-c.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-c.png
new file mode 100644
index 000000000000..c47b3cef1699
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-c.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j1.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j1.png
new file mode 100644
index 000000000000..007f5ff07671
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j1.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j2.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j2.png
new file mode 100644
index 000000000000..7dc37cbd8e5b
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-j2.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-s.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-s.png
new file mode 100644
index 000000000000..f8e2ae364486
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-s.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-t.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-t.png
new file mode 100644
index 000000000000..5e83afd1c9f0
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-t.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-tagger.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-tagger.png
new file mode 100644
index 000000000000..8f8dcc5855a8
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-tagger.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-y.png b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-y.png
new file mode 100644
index 000000000000..5f27ebbe5972
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/conpipe-y.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/directional.png b/Resources/Textures/SS220/Interface/Radial/RCD/directional.png
new file mode 100644
index 000000000000..b5b460663ffd
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/directional.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/directional_reinforced.png b/Resources/Textures/SS220/Interface/Radial/RCD/directional_reinforced.png
new file mode 100644
index 000000000000..4e9f54d584a2
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/directional_reinforced.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/firelock.png b/Resources/Textures/SS220/Interface/Radial/RCD/firelock.png
new file mode 100644
index 000000000000..5b1396fb37de
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/firelock.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/glass_airlock.png b/Resources/Textures/SS220/Interface/Radial/RCD/glass_airlock.png
new file mode 100644
index 000000000000..ad7043f26c13
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/glass_airlock.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeBend.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeBend.png
new file mode 100644
index 000000000000..40137c67d62f
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeBend.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeFourway.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeFourway.png
new file mode 100644
index 000000000000..f4056fec13ea
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeFourway.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeStraight.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeStraight.png
new file mode 100644
index 000000000000..909597b0d91f
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeStraight.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipeTjunction.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipeTjunction.png
new file mode 100644
index 000000000000..d0e87bc5d4f0
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipeTjunction.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/pipes.png b/Resources/Textures/SS220/Interface/Radial/RCD/pipes.png
new file mode 100644
index 000000000000..c9b31f270176
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/pipes.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/reinforced_wall.png b/Resources/Textures/SS220/Interface/Radial/RCD/reinforced_wall.png
new file mode 100644
index 000000000000..a73c7a1ecbe1
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/reinforced_wall.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/scrub.png b/Resources/Textures/SS220/Interface/Radial/RCD/scrub.png
new file mode 100644
index 000000000000..8b6aec829cda
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/scrub.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/solid_wall.png b/Resources/Textures/SS220/Interface/Radial/RCD/solid_wall.png
new file mode 100644
index 000000000000..5cd252ecad2f
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/solid_wall.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/vent_air.png b/Resources/Textures/SS220/Interface/Radial/RCD/vent_air.png
new file mode 100644
index 000000000000..0fa391a31a74
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/vent_air.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/vent_passive.png b/Resources/Textures/SS220/Interface/Radial/RCD/vent_passive.png
new file mode 100644
index 000000000000..9cdc8f72ce85
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/vent_passive.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/window.png b/Resources/Textures/SS220/Interface/Radial/RCD/window.png
new file mode 100644
index 000000000000..f48a1d83aad1
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/window.png differ
diff --git a/Resources/Textures/SS220/Interface/Radial/RCD/window_reinforced.png b/Resources/Textures/SS220/Interface/Radial/RCD/window_reinforced.png
new file mode 100644
index 000000000000..25a64194f50c
Binary files /dev/null and b/Resources/Textures/SS220/Interface/Radial/RCD/window_reinforced.png differ