Fix inconsistent borg flashlight state (#33027)
* Fix borg light being stuck on if no cell is inserted * Fix HandheldLightComponent.Activted becoming out of sync with SharedPointLightComponent.Enabled * Fix for entities which don't have a handheld light component
This commit is contained in:
parent
c289851117
commit
9544aa9ddd
|
|
@ -293,8 +293,11 @@ public sealed partial class BorgSystem : SharedBorgSystem
|
|||
public void BorgActivate(EntityUid uid, BorgChassisComponent component)
|
||||
{
|
||||
Popup.PopupEntity(Loc.GetString("borg-mind-added", ("name", Identity.Name(uid, EntityManager))), uid);
|
||||
Toggle.TryActivate(uid);
|
||||
_powerCell.SetDrawEnabled(uid, _mobState.IsAlive(uid));
|
||||
if (_powerCell.HasDrawCharge(uid))
|
||||
{
|
||||
Toggle.TryActivate(uid);
|
||||
_powerCell.SetDrawEnabled(uid, _mobState.IsAlive(uid));
|
||||
}
|
||||
_appearance.SetData(uid, BorgVisuals.HasPlayer, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Content.Shared.Item.ItemToggle.Components;
|
||||
using Content.Shared.Light.Components;
|
||||
using Content.Shared.Toggleable;
|
||||
using ItemTogglePointLightComponent = Content.Shared.Light.Components.ItemTogglePointLightComponent;
|
||||
|
||||
|
|
@ -11,6 +12,7 @@ public sealed class ItemTogglePointLightSystem : EntitySystem
|
|||
{
|
||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||
[Dependency] private readonly SharedPointLightSystem _light = default!;
|
||||
[Dependency] private readonly SharedHandheldLightSystem _handheldLight = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
|
|
@ -25,5 +27,9 @@ public sealed class ItemTogglePointLightSystem : EntitySystem
|
|||
|
||||
_appearance.SetData(ent, ToggleableLightVisuals.Enabled, args.Activated);
|
||||
_light.SetEnabled(ent.Owner, args.Activated, comp: light);
|
||||
if (TryComp<HandheldLightComponent>(ent.Owner, out var handheldLight))
|
||||
{
|
||||
_handheldLight.SetActivated(ent.Owner, args.Activated, handheldLight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue