@@ -1081,7 +1081,7 @@ automoverActorFunctions.setupActorWaypointData = function(self, actorData)
1081
1081
waypointData .actorReachedTargetInsideAutomoverArea = false ;
1082
1082
waypointData .actorReachedEndNodeForTargetOutsideAutomoverArea = false ;
1083
1083
waypointData .teleporterVisualsTimer = Timer (1000 );
1084
- waypointData .delayTimer = Timer (50 );
1084
+ waypointData .delayTimer = Timer (30 );
1085
1085
1086
1086
waypointData .endNode = self :findClosestNode (waypointData .targetPosition , waypointData .previousNode , false , waypointData .targetIsInsideAutomoverArea , true , actor .Team );
1087
1087
if not waypointData .endNode then
@@ -1317,7 +1317,7 @@ automoverActorFunctions.handleActorThatHasReachedItsEndNode = function(self, act
1317
1317
end
1318
1318
end
1319
1319
waypointData .delayTimer :Reset ();
1320
- elseif waypointData .exitPath ~= nil and # waypointData .exitPath > 0 then
1320
+ elseif waypointData .exitPath ~= nil and # waypointData .exitPath > 0 and waypointData . delayTimer : IsPastSimTimeLimit () then
1321
1321
local distanceFromActorToFirstExitPathPosition = SceneMan :ShortestDistance (waypointData .exitPath [1 ], actor .Pos , self .checkWrapping );
1322
1322
if distanceFromActorToFirstExitPathPosition :MagnitudeIsLessThan (20 ) then
1323
1323
table.remove (waypointData .exitPath , 1 );
@@ -1329,7 +1329,12 @@ automoverActorFunctions.handleActorThatHasReachedItsEndNode = function(self, act
1329
1329
1330
1330
local endNodeData = teamNodeTable [waypointData .endNode ];
1331
1331
if not endNodeData .zoneBox :IsWithinBox (waypointData .exitPath [1 ]) and (endNodeData .connectedNodeData [actorData .direction ] == nil or not endNodeData .connectingAreas [actorData .direction ]:IsInside (waypointData .exitPath [1 ])) then
1332
- actor .Vel = actor .Vel + (distanceFromActorToFirstExitPathPosition .Normalized :FlipX (true ):FlipY (true ) * self .movementAcceleration * 10 );
1332
+ local velocityToAddToActor = distanceFromActorToFirstExitPathPosition .Normalized :FlipX (true ):FlipY (true ) * self .movementAcceleration * 10 ;
1333
+ if math.abs (velocityToAddToActor .X ) < 1 and velocityToAddToActor .Y < 0 and SceneMan .GlobalAcc .Y > 0 then
1334
+ velocityToAddToActor .Y = velocityToAddToActor .Y * 2 ;
1335
+ end
1336
+ actor .Vel = actor .Vel + velocityToAddToActor ;
1337
+
1333
1338
end
1334
1339
waypointData .delayTimer :Reset ();
1335
1340
end
0 commit comments