Hotfix for errors in handheld lights and radio jammers (#25880)
(cherry picked from commit e5536e0652ab3605701627474d6450f0884a079c)
This commit is contained in:
parent
a8d082374d
commit
3f54180d28
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue