diff --git a/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/BasePumpComponent.cs b/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/BasePumpComponent.cs
index 4b7eb31895..2cf6ed46ff 100644
--- a/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/BasePumpComponent.cs
+++ b/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/BasePumpComponent.cs
@@ -4,6 +4,7 @@ using Content.Server.Atmos;
using Content.Server.GameObjects.Components.NodeContainer;
using Content.Server.GameObjects.Components.NodeContainer.Nodes;
using Content.Shared.GameObjects.Components.Atmos;
+using Content.Shared.Interfaces.GameObjects.Components;
using Robust.Server.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.Interfaces.GameObjects;
@@ -16,7 +17,7 @@ namespace Content.Server.GameObjects.Components.Atmos.Piping.Pumps
///
/// Transfer gas from one to another.
///
- public abstract class BasePumpComponent : Component
+ public abstract class BasePumpComponent : Component, IActivate
{
///
/// If the pump is currently pumping.
@@ -100,6 +101,11 @@ namespace Content.Server.GameObjects.Components.Atmos.Piping.Pumps
_appearance?.SetData(PumpVisuals.VisualState, new PumpVisualState(_initialInletDirection, _initialOutletDirection, PumpEnabled));
}
+ public void Activate(ActivateEventArgs eventArgs)
+ {
+ PumpEnabled = !PumpEnabled;
+ }
+
private void SetPipes()
{
_inletPipe = null;
diff --git a/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/PressurePumpComponent.cs b/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/PressurePumpComponent.cs
index 3ccff576bb..4135ef4389 100644
--- a/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/PressurePumpComponent.cs
+++ b/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/PressurePumpComponent.cs
@@ -1,6 +1,7 @@
#nullable enable
using System;
using Content.Server.Atmos;
+using Content.Shared.Interfaces.GameObjects.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using Robust.Shared.ViewVariables;
@@ -9,6 +10,7 @@ namespace Content.Server.GameObjects.Components.Atmos.Piping.Pumps
{
[RegisterComponent]
[ComponentReference(typeof(BasePumpComponent))]
+ [ComponentReference(typeof(IActivate))]
public class PressurePumpComponent : BasePumpComponent
{
public override string Name => "PressurePump";
diff --git a/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/VolumePumpComponent.cs b/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/VolumePumpComponent.cs
index d9c8c27a28..51824e1738 100644
--- a/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/VolumePumpComponent.cs
+++ b/Content.Server/GameObjects/Components/Atmos/Piping/Pumps/VolumePumpComponent.cs
@@ -1,6 +1,7 @@
#nullable enable
using System;
using Content.Server.Atmos;
+using Content.Shared.Interfaces.GameObjects.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using Robust.Shared.ViewVariables;
@@ -9,6 +10,7 @@ namespace Content.Server.GameObjects.Components.Atmos.Piping.Pumps
{
[RegisterComponent]
[ComponentReference(typeof(BasePumpComponent))]
+ [ComponentReference(typeof(IActivate))]
public class VolumePumpComponent : BasePumpComponent
{
[ViewVariables(VVAccess.ReadWrite)]