hedgewars/uGearsHedgehog.pas
changeset 9499 bbc093acb91e
parent 9477 0463f747e839
child 9501 dc3d658de350
--- a/hedgewars/uGearsHedgehog.pas	Mon Oct 07 21:31:28 2013 -0400
+++ b/hedgewars/uGearsHedgehog.pas	Mon Oct 07 21:31:47 2013 -0400
@@ -848,10 +848,12 @@
     if (Gear^.dY.isNegative) and TestCollisionYKick(Gear, -1) then
         Gear^.dY:= _0;
     Gear^.State:= Gear^.State or gstMoving;
-    if (CurrentHedgehog^.Gear = Gear)
-        and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > _0_003) then
+    if (CurrentHedgehog^.Gear = Gear) and (CurrentHedgehog^.Gear^.State and gstDriven <> 0) and
+       (not CurrentTeam^.ExtDriven) and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > _0_003) then
         begin
         // TODO: why so aggressive at setting FollowGear when falling?
+        // because hog was being yanked out of frame by other stuff when doing a complicated jump/chute/saucer/roping.
+        // added a couple more conditions to make it a bit less aggressive, at cost of possibly spectator failing to follow a maneuver
         FollowGear:= Gear;
         end;
     if isUnderwater then