Fix toggle mask issues (#22496)

This commit is contained in:
themias
2023-12-14 15:49:26 -05:00
committed by GitHub
parent 1d8116e3f0
commit 59e23c5283
2 changed files with 13 additions and 15 deletions

View File

@@ -53,22 +53,18 @@ public sealed class LungSystem : EntitySystem
private void OnMaskToggled(Entity<BreathToolComponent> ent, ref ItemMaskToggledEvent args)
{
// toggle breath tool connection (skip during equip since that is handled in LungSystem)
if (args.IsEquip)
if (args.IsToggled || args.IsEquip)
{
if (args.IsToggled)
{
_atmos.DisconnectInternals(ent.Comp);
}
else
{
ent.Comp.IsFunctional = true;
_atmos.DisconnectInternals(ent.Comp);
}
else
{
ent.Comp.IsFunctional = true;
if (TryComp(args.Wearer, out InternalsComponent? internals))
{
ent.Comp.ConnectedInternalsEntity = args.Wearer;
_internals.ConnectBreathTool((args.Wearer, internals), ent);
}
if (TryComp(args.Wearer, out InternalsComponent? internals))
{
ent.Comp.ConnectedInternalsEntity = args.Wearer;
_internals.ConnectBreathTool((args.Wearer, internals), ent);
}
}
}