diff -r 237d691e5069 -r 6c689729b745 hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Sun Jun 21 03:00:39 2020 +0300 +++ b/hedgewars/uGearsHandlersMess.pas Sun Jun 21 03:08:21 2020 +0300 @@ -535,8 +535,15 @@ if isFalling and (Gear^.State and gstNoGravity = 0) then begin + // Apply gravity and wind Gear^.dY := Gear^.dY + cGravity; - if (GameFlags and gfMoreWind <> 0) and (TurnTimeLeft > 0) and + if ((GameFlags and gfMoreWind) <> 0) and + // Disable gfMoreWind for land objects on turn end to prevent bouncing them forever + // This solution is rather ugly, in that it will occassionally suddenly wind physics + // while a gear is moving, this can be rather confusing. + // TODO: Find a way to make gfMoreWind-affected land objects settle more reliably + // and quickler without touching wind itselvs + ((not (Gear^.Kind in [gtMine, gtAirMine, gtSMine, gtKnife, gtExplosives])) or (TimeNotInTurn < MaxMoreWindTime)) and ((xland or land) = 0) and ((Gear^.dX.QWordValue + Gear^.dY.QWordValue) > _0_02.QWordValue) then Gear^.dX := Gear^.dX + cWindSpeed / Gear^.Density