Hotfix door bumps (#8665)

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
This commit is contained in:
metalgearsloth
2022-06-12 11:15:53 +10:00
committed by GitHub
parent 2b51906740
commit 093d65e92a
2 changed files with 36 additions and 10 deletions

View File

@@ -25,11 +25,10 @@ namespace Content.Server.Doors.Systems;
public sealed class DoorSystem : SharedDoorSystem
{
[Dependency] private readonly AccessReaderSystem _accessReaderSystem = default!;
[Dependency] private readonly AirtightSystem _airtightSystem = default!;
[Dependency] private readonly ConstructionSystem _constructionSystem = default!;
[Dependency] private readonly ToolSystem _toolSystem = default!;
[Dependency] private readonly AirtightSystem _airtightSystem = default!;
[Dependency] private readonly AccessReaderSystem _accessReaderSystem = default!;
[Dependency] private readonly TagSystem _tagSystem = default!;
public override void Initialize()
{
@@ -239,7 +238,7 @@ public sealed class DoorSystem : SharedDoorSystem
var otherUid = args.OtherFixture.Body.Owner;
if (_tagSystem.HasTag(otherUid, "DoorBumpOpener"))
if (Tags.HasTag(otherUid, "DoorBumpOpener"))
TryOpen(uid, door, otherUid);
}
@@ -298,6 +297,18 @@ public sealed class DoorSystem : SharedDoorSystem
if(lastState == DoorState.Emagging && TryComp<AirlockComponent>(door.Owner, out var airlockComponent))
airlockComponent?.SetBoltsWithAudio(!airlockComponent.IsBolted());
}
protected override void CheckDoorBump(DoorComponent component, PhysicsComponent body)
{
if (component.BumpOpen)
{
foreach (var other in PhysicsSystem.GetCollidingEntities(body))
{
if (Tags.HasTag(other.Owner, "DoorBumpOpener") &&
TryOpen(component.Owner, component, other.Owner)) break;
}
}
}
}
public sealed class PryFinishedEvent : EntityEventArgs { }