]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Hotfix for errors in handheld lights and radio jammers (#25880)
authorTayrtahn <tayrtahn@gmail.com>
Wed, 6 Mar 2024 13:44:14 +0000 (08:44 -0500)
committerGitHub <noreply@github.com>
Wed, 6 Mar 2024 13:44:14 +0000 (00:44 +1100)
Content.Server/Light/EntitySystems/HandheldLightSystem.cs
Content.Server/Radio/EntitySystems/JammerSystem.cs

index 90b9a812c7008ba3906952e1ee0e0c2e0472385d..813f8c407b7125d6650f467b1080ce388c04144c 100644 (file)
@@ -247,13 +247,16 @@ namespace Content.Server.Light.EntitySystems
         public void TryUpdate(Entity<HandheldLightComponent> uid, float frameTime)
         {
             var component = uid.Comp;
-            if (!_powerCell.TryGetBatteryFromSlot(uid, out var battery) &&
+            if (!_powerCell.TryGetBatteryFromSlot(uid, out var batteryUid, out var battery, null) &&
                 !TryComp(uid, out battery))
             {
                 TurnOff(uid, false);
                 return;
             }
 
+            if (batteryUid == null)
+                return;
+
             var appearanceComponent = EntityManager.GetComponentOrNull<AppearanceComponent>(uid);
 
             var fraction = battery.CurrentCharge / battery.MaxCharge;
@@ -270,7 +273,7 @@ namespace Content.Server.Light.EntitySystems
                 _appearance.SetData(uid, HandheldLightVisuals.Power, HandheldLightPowerStates.Dying, appearanceComponent);
             }
 
-            if (component.Activated && !_battery.TryUseCharge(uid, component.Wattage * frameTime, battery))
+            if (component.Activated && !_battery.TryUseCharge(batteryUid.Value, component.Wattage * frameTime, battery))
                 TurnOff(uid, false);
 
             UpdateLevel(uid);
index e6a8701f2020190d125fd1895b8d148f635975f3..dc6f4764161e1bc3a31ecd4fcac545f82056828c 100644 (file)
@@ -30,8 +30,8 @@ public sealed class JammerSystem : EntitySystem
         var query = EntityQueryEnumerator<ActiveRadioJammerComponent, RadioJammerComponent>();
         while (query.MoveNext(out var uid, out var _, out var jam))
         {
-            if (_powerCell.TryGetBatteryFromSlot(uid, out var battery) &&
-                !_battery.TryUseCharge(uid, jam.Wattage * frameTime, battery))
+            if (_powerCell.TryGetBatteryFromSlot(uid, out var batteryUid, out var battery) &&
+                !_battery.TryUseCharge(batteryUid.Value, jam.Wattage * frameTime, battery))
             {
                 RemComp<ActiveRadioJammerComponent>(uid);
             }