From 330d6bfb6752c0cb53198c315f0c83004a644e88 Mon Sep 17 00:00:00 2001 From: Jackrost Date: Sun, 23 Oct 2022 00:54:19 +0300 Subject: [PATCH] Biomass reclaimer now respond if power change (#11984) --- .../BiomassReclaimer/BiomassReclaimerSystem.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs b/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs index aef21ac2c4..69d0fc4b48 100644 --- a/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs +++ b/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs @@ -22,6 +22,7 @@ using Content.Server.Mind.Components; using Content.Server.Stack; using Content.Shared.Interaction.Events; using Content.Shared.Popups; +using Robust.Shared.GameObjects; using Robust.Shared.Player; using Robust.Shared.Random; using Robust.Shared.Configuration; @@ -93,6 +94,7 @@ namespace Content.Server.Medical.BiomassReclaimer SubscribeLocalEvent(OnAfterInteractUsing); SubscribeLocalEvent(OnClimbedOn); SubscribeLocalEvent(OnRefreshParts); + SubscribeLocalEvent(OnPowerChanged); SubscribeLocalEvent(OnSuicide); SubscribeLocalEvent(OnReclaimSuccessful); SubscribeLocalEvent(OnReclaimCancelled); @@ -127,6 +129,17 @@ namespace Content.Server.Medical.BiomassReclaimer _ambientSoundSystem.SetAmbience(uid, false); } + private void OnPowerChanged(EntityUid uid, BiomassReclaimerComponent component, ref PowerChangedEvent args) + { + if (args.Powered) + { + if (component.ProcessingTimer > 0) + EnsureComp(uid); + } + else + RemComp(component.Owner); + } + private void OnUnanchorAttempt(EntityUid uid, ActiveBiomassReclaimerComponent component, UnanchorAttemptEvent args) { args.Cancel();