From 3d8a2adbf8717dde7a3738ac744a1b5c3dab024d Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 16 Oct 2022 17:38:04 +1100 Subject: [PATCH] Hotfix buckle teleports (#11950) --- .../Buckle/Components/SharedBuckleComponent.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Content.Shared/Buckle/Components/SharedBuckleComponent.cs b/Content.Shared/Buckle/Components/SharedBuckleComponent.cs index 5d4602707d..2c7d6a8802 100644 --- a/Content.Shared/Buckle/Components/SharedBuckleComponent.cs +++ b/Content.Shared/Buckle/Components/SharedBuckleComponent.cs @@ -2,6 +2,7 @@ using Content.Shared.DragDrop; using Content.Shared.Interaction; using Content.Shared.Standing; using Robust.Shared.GameStates; +using Robust.Shared.Map; using Robust.Shared.Serialization; namespace Content.Shared.Buckle.Components @@ -48,7 +49,13 @@ namespace Content.Shared.Buckle.Components var ownTransform = EntMan.GetComponent(Owner); var strapTransform = EntMan.GetComponent(strap.Owner); - ownTransform.AttachParent(strapTransform); + ownTransform.Coordinates = new EntityCoordinates(strapTransform.Owner, strap.BuckleOffset); + + // Buckle subscribes to move for so this might fail. + // TODO: Make buckle not do that. + if (ownTransform.ParentUid != strapTransform.Owner) + return; + ownTransform.LocalRotation = Angle.Zero; switch (strap.Position) @@ -62,8 +69,6 @@ namespace Content.Shared.Buckle.Components EntitySystem.Get().Down(Owner, false, false); break; } - - ownTransform.LocalPosition = strap.BuckleOffset; } }