]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix docking config in some instances (#15005)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Fri, 31 Mar 2023 04:45:14 +0000 (15:45 +1100)
committerGitHub <noreply@github.com>
Fri, 31 Mar 2023 04:45:14 +0000 (15:45 +1100)
Content.Server/Shuttles/Systems/DockingSystem.Shuttle.cs

index f72a1df252fd8972fe0a2c65ccd7fe9fa767ed0b..f1bb320780ede51665239f0e5426141c8f61b3a1 100644 (file)
@@ -75,7 +75,7 @@ public sealed partial class DockingSystem
        if (!ValidSpawn(grid, shuttleDockedAABB.Value))
            return false;
 
-       gridRotation = targetGridRotation + gridDockAngle - shuttleDockAngle;
+       gridRotation = (targetGridRotation + gridDockAngle - shuttleDockAngle).Reduced();
        return true;
    }
 
@@ -162,7 +162,7 @@ public sealed partial class DockingSystem
                    var spawnPosition = new EntityCoordinates(targetGrid, matty.Transform(Vector2.Zero));
                    spawnPosition = new EntityCoordinates(targetGridXform.MapUid!.Value, spawnPosition.ToMapPos(EntityManager, _transform));
 
-                   var dockedBounds = new Box2Rotated(shuttleAABB.Translated(spawnPosition.Position), targetGridAngle, spawnPosition.Position);
+                   var dockedBounds = new Box2Rotated(shuttleAABB.Translated(spawnPosition.Position), targetAngle, spawnPosition.Position);
 
                    // Check if there's no intersecting grids (AKA oh god it's docking at cargo).
                    if (_mapManager.FindGridsIntersecting(targetGridXform.MapID,
@@ -180,8 +180,6 @@ public sealed partial class DockingSystem
                        (dockUid, gridDockUid, shuttleDock, gridDock),
                    };
 
-                   // TODO: Check shuttle orientation as the tiebreaker.
-
                    foreach (var (otherUid, other) in shuttleDocks)
                    {
                        if (other == shuttleDock)