--- 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