Prevent inserting into unpowered lathes (#12405)

Entities with MaterialStorageComponent should not accept materials if
they are supposed to be powered, and are not actually powered.

This fixes being able to insert ores into unpowered or unanchored ore
processors, among other issues.
This commit is contained in:
Kevin Zheng
2022-11-08 12:56:53 -08:00
committed by GitHub
parent df1ace61c3
commit d431ea05b9

View File

@@ -1,5 +1,6 @@
using Content.Shared.Materials; using Content.Shared.Materials;
using Content.Shared.Popups; using Content.Shared.Popups;
using Content.Server.Power.Components;
using Robust.Shared.Player; using Robust.Shared.Player;
namespace Content.Server.Materials; namespace Content.Server.Materials;
@@ -16,6 +17,8 @@ public sealed class MaterialStorageSystem : SharedMaterialStorageSystem
{ {
if (!Resolve(receiver, ref component)) if (!Resolve(receiver, ref component))
return false; return false;
if (TryComp<ApcPowerReceiverComponent>(receiver, out var power) && !power.Powered)
return false;
if (!base.TryInsertMaterialEntity(user, toInsert, receiver, component)) if (!base.TryInsertMaterialEntity(user, toInsert, receiver, component))
return false; return false;
_audio.PlayPvs(component.InsertingSound, component.Owner); _audio.PlayPvs(component.InsertingSound, component.Owner);