hedgewars/uGearsHandlersMess.pas
changeset 15596 3409433a236a
parent 15587 61f2ffcd5652
child 15597 6e72bd61002e
equal deleted inserted replaced
15594:fdca2af677a9 15596:3409433a236a
   533     if Gear^.AdvBounce > 1 then
   533     if Gear^.AdvBounce > 1 then
   534         dec(Gear^.AdvBounce);
   534         dec(Gear^.AdvBounce);
   535 
   535 
   536     if isFalling and (Gear^.State and gstNoGravity = 0) then
   536     if isFalling and (Gear^.State and gstNoGravity = 0) then
   537         begin
   537         begin
       
   538         // Apply gravity and wind
   538         Gear^.dY := Gear^.dY + cGravity;
   539         Gear^.dY := Gear^.dY + cGravity;
   539         if (GameFlags and gfMoreWind <> 0) and (TurnTimeLeft > 0) and
   540         if ((GameFlags and gfMoreWind) <> 0) and
       
   541            // Disable gfMoreWind for land objects on turn end to prevent bouncing them forever
       
   542            ((not (Gear^.Kind in [gtMine, gtAirMine, gtSMine, gtKnife, gtExplosives])) or (TurnTimeLeft > 0)) and
   540            ((xland or land) = 0) and
   543            ((xland or land) = 0) and
   541            ((Gear^.dX.QWordValue + Gear^.dY.QWordValue) > _0_02.QWordValue) then
   544            ((Gear^.dX.QWordValue + Gear^.dY.QWordValue) > _0_02.QWordValue) then
   542             Gear^.dX := Gear^.dX + cWindSpeed / Gear^.Density
   545             Gear^.dX := Gear^.dX + cWindSpeed / Gear^.Density
   543         end;
   546         end;
   544 
   547