]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
fix viewing nav slowing shuttle down (#32381)
authorIlya246 <57039557+Ilya246@users.noreply.github.com>
Tue, 19 Nov 2024 02:59:42 +0000 (06:59 +0400)
committerGitHub <noreply@github.com>
Tue, 19 Nov 2024 02:59:42 +0000 (03:59 +0100)
fix

Content.Server/Physics/Controllers/MoverController.cs

index f927e717a9d868f4a082e9c0aef144da72f1c7d4..d0605e916e72a6370a2a8421bdafb3abfa7fe7da 100644 (file)
@@ -314,6 +314,9 @@ public sealed class MoverController : SharedMoverController
             var linearInput = Vector2.Zero;
             var brakeInput = 0f;
             var angularInput = 0f;
+            var linearCount = 0;
+            var brakeCount = 0;
+            var angularCount = 0;
 
             foreach (var (pilotUid, pilot, _, consoleXform) in pilots)
             {
@@ -322,24 +325,27 @@ public sealed class MoverController : SharedMoverController
                 if (brakes > 0f)
                 {
                     brakeInput += brakes;
+                    brakeCount++;
                 }
 
                 if (strafe.Length() > 0f)
                 {
                     var offsetRotation = consoleXform.LocalRotation;
                     linearInput += offsetRotation.RotateVec(strafe);
+                    linearCount++;
                 }
 
                 if (rotation != 0f)
                 {
                     angularInput += rotation;
+                    angularCount++;
                 }
             }
 
-            var count = pilots.Count;
-            linearInput /= count;
-            angularInput /= count;
-            brakeInput /= count;
+            // Don't slow down the shuttle if there's someone just looking at the console
+            linearInput /= Math.Max(1, linearCount);
+            angularInput /= Math.Max(1, angularCount);
+            brakeInput /= Math.Max(1, brakeCount);
 
             // Handle shuttle movement
             if (brakeInput > 0f)