using Content.Server.Power.Components; using Content.Shared.Power.Components; using Content.Shared.Power.EntitySystems; namespace Content.Server.Power.EntitySystems; /// > public sealed partial class PowerStateSystem : SharedPowerStateSystem { /// Init IsWorking and power values on startup. [SubscribeLocalEvent] private void OnComponentStartup(Entity ent, ref ComponentStartup args) { if (ent.Comp.EnsureApc) EnsureComp(ent); SetPowerLoad(ent, ent.Comp.IsWorking); } /// > protected override void SetPowerLoad(Entity ent, bool isWorking) { base.SetPowerLoad(ent, isWorking); if (TryComp(ent, out var powerConsumer)) powerConsumer.DrawRate = isWorking ? ent.Comp.WorkingPowerDraw : ent.Comp.IdlePowerDraw; } }