From 279674c0b37fa325de730485dbcc2f093df0d3d3 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Fri, 1 Sep 2023 09:47:30 +1000 Subject: [PATCH] Revert "Make lights dim under low power" (#19708) --- .../Light/EntitySystems/PoweredLightSystem.cs | 15 ++------------- .../Components/ApcPowerReceiverComponent.cs | 1 - .../Power/EntitySystems/PowerNetSystem.cs | 3 +-- .../EntitySystems/PowerReceiverSystem.cs | 19 ------------------- 4 files changed, 3 insertions(+), 35 deletions(-) diff --git a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs index 01ea48c4cc..bac13274ea 100644 --- a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs +++ b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs @@ -4,7 +4,6 @@ using Content.Server.DeviceNetwork.Systems; using Content.Server.Ghost; using Content.Server.Light.Components; using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; using Content.Server.Temperature.Components; using Content.Shared.Audio; using Content.Shared.Damage; @@ -43,7 +42,6 @@ namespace Content.Server.Light.EntitySystems [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly PowerReceiverSystem _power = default!; private static readonly TimeSpan ThunkDelay = TimeSpan.FromSeconds(2); public const string LightBulbContainer = "light_bulb"; @@ -243,14 +241,6 @@ namespace Content.Server.Light.EntitySystems } #endregion - /// - /// Supply factor (0-1) as input x, returns linear light scale (0-1). - /// - private float LightCurve(float x) - { - return (float)(1/0.8*(x-0.2)); - } - private void UpdateLight(EntityUid uid, PoweredLightComponent? light = null, ApcPowerReceiverComponent? powerReceiver = null, @@ -275,10 +265,9 @@ namespace Content.Server.Light.EntitySystems switch (lightBulb.State) { case LightBulbState.Normal: - float factor = LightCurve(_power.SupplyFactor(uid, powerReceiver)); - if (factor > 0 && light.On) + if (powerReceiver.Powered && light.On) { - SetLight(uid, true, lightBulb.Color, light, lightBulb.LightRadius*factor, lightBulb.LightEnergy*factor, lightBulb.LightSoftness); + SetLight(uid, true, lightBulb.Color, light, lightBulb.LightRadius, lightBulb.LightEnergy, lightBulb.LightSoftness); _appearance.SetData(uid, PoweredLightVisuals.BulbState, PoweredLightState.On, appearance); var time = _gameTiming.CurTime; if (time > light.LastThunk + ThunkDelay) diff --git a/Content.Server/Power/Components/ApcPowerReceiverComponent.cs b/Content.Server/Power/Components/ApcPowerReceiverComponent.cs index e224e86153..ae4d739430 100644 --- a/Content.Server/Power/Components/ApcPowerReceiverComponent.cs +++ b/Content.Server/Power/Components/ApcPowerReceiverComponent.cs @@ -51,7 +51,6 @@ namespace Content.Server.Power.Components } public bool? PoweredLastUpdate; - public float LastPowerReceived; [ViewVariables] public PowerState.Load NetworkLoad { get; } = new PowerState.Load diff --git a/Content.Server/Power/EntitySystems/PowerNetSystem.cs b/Content.Server/Power/EntitySystems/PowerNetSystem.cs index 6b5adc46af..a3aa1caee2 100644 --- a/Content.Server/Power/EntitySystems/PowerNetSystem.cs +++ b/Content.Server/Power/EntitySystems/PowerNetSystem.cs @@ -297,14 +297,13 @@ namespace Content.Server.Power.EntitySystems while (enumerator.MoveNext(out var uid, out var apcReceiver)) { var powered = apcReceiver.Powered; - if (apcReceiver.LastPowerReceived == apcReceiver.NetworkLoad.ReceivingPower) + if (powered == apcReceiver.PoweredLastUpdate) continue; if (metaQuery.GetComponent(uid).EntityPaused) continue; apcReceiver.PoweredLastUpdate = powered; - apcReceiver.LastPowerReceived = apcReceiver.NetworkLoad.ReceivingPower; var ev = new PowerChangedEvent(apcReceiver.Powered, apcReceiver.NetworkLoad.ReceivingPower); RaiseLocalEvent(apcReceiver.Owner, ref ev); diff --git a/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs b/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs index 1e70b7ac7b..35412d1742 100644 --- a/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs +++ b/Content.Server/Power/EntitySystems/PowerReceiverSystem.cs @@ -156,25 +156,6 @@ namespace Content.Server.Power.EntitySystems return receiver.Powered; } - /// - /// Return the fraction of the load power that is actually supplied to this receiver, e.g. 1 - /// if full power and 0 if no power. Better at handling brownouts compared to IsPowered(). - /// Handles always-powered devices correctly. - /// - public float SupplyFactor(EntityUid uid, ApcPowerReceiverComponent? receiver = null) - { - if (!Resolve(uid, ref receiver, false)) - return 1f; - - if (receiver.PowerDisabled) - return 0f; - - if (!receiver.NeedsPower) - return 1f; - - return receiver.NetworkLoad.ReceivingPower / receiver.Load; - } - /// /// Turn this machine on or off. /// Returns true if we turned it on, false if we turned it off.