Biomass reclaimer now respond if power change (#11984)

This commit is contained in:
Jackrost
2022-10-23 00:54:19 +03:00
committed by GitHub
parent 8da57fb16a
commit 330d6bfb67

View File

@@ -22,6 +22,7 @@ using Content.Server.Mind.Components;
using Content.Server.Stack; using Content.Server.Stack;
using Content.Shared.Interaction.Events; using Content.Shared.Interaction.Events;
using Content.Shared.Popups; using Content.Shared.Popups;
using Robust.Shared.GameObjects;
using Robust.Shared.Player; using Robust.Shared.Player;
using Robust.Shared.Random; using Robust.Shared.Random;
using Robust.Shared.Configuration; using Robust.Shared.Configuration;
@@ -93,6 +94,7 @@ namespace Content.Server.Medical.BiomassReclaimer
SubscribeLocalEvent<BiomassReclaimerComponent, AfterInteractUsingEvent>(OnAfterInteractUsing); SubscribeLocalEvent<BiomassReclaimerComponent, AfterInteractUsingEvent>(OnAfterInteractUsing);
SubscribeLocalEvent<BiomassReclaimerComponent, ClimbedOnEvent>(OnClimbedOn); SubscribeLocalEvent<BiomassReclaimerComponent, ClimbedOnEvent>(OnClimbedOn);
SubscribeLocalEvent<BiomassReclaimerComponent, RefreshPartsEvent>(OnRefreshParts); SubscribeLocalEvent<BiomassReclaimerComponent, RefreshPartsEvent>(OnRefreshParts);
SubscribeLocalEvent<BiomassReclaimerComponent, PowerChangedEvent>(OnPowerChanged);
SubscribeLocalEvent<BiomassReclaimerComponent, SuicideEvent>(OnSuicide); SubscribeLocalEvent<BiomassReclaimerComponent, SuicideEvent>(OnSuicide);
SubscribeLocalEvent<ReclaimSuccessfulEvent>(OnReclaimSuccessful); SubscribeLocalEvent<ReclaimSuccessfulEvent>(OnReclaimSuccessful);
SubscribeLocalEvent<ReclaimCancelledEvent>(OnReclaimCancelled); SubscribeLocalEvent<ReclaimCancelledEvent>(OnReclaimCancelled);
@@ -127,6 +129,17 @@ namespace Content.Server.Medical.BiomassReclaimer
_ambientSoundSystem.SetAmbience(uid, false); _ambientSoundSystem.SetAmbience(uid, false);
} }
private void OnPowerChanged(EntityUid uid, BiomassReclaimerComponent component, ref PowerChangedEvent args)
{
if (args.Powered)
{
if (component.ProcessingTimer > 0)
EnsureComp<ActiveBiomassReclaimerComponent>(uid);
}
else
RemComp<ActiveBiomassReclaimerComponent>(component.Owner);
}
private void OnUnanchorAttempt(EntityUid uid, ActiveBiomassReclaimerComponent component, UnanchorAttemptEvent args) private void OnUnanchorAttempt(EntityUid uid, ActiveBiomassReclaimerComponent component, UnanchorAttemptEvent args)
{ {
args.Cancel(); args.Cancel();