hedgewars/uGearsUtils.pas
changeset 8992 5b0be812dcdb
parent 8991 82e3a6e5d51b
child 9071 df85fad2c7f7
equal deleted inserted replaced
8991:82e3a6e5d51b 8992:5b0be812dcdb
   359                 Gear^.dY:= _90-(GetRandomf*_360)
   359                 Gear^.dY:= _90-(GetRandomf*_360)
   360                 end
   360                 end
   361             else DeleteGear(Gear);
   361             else DeleteGear(Gear);
   362             exit
   362             exit
   363             end;
   363             end;
   364         isSubmersible:= ((Gear = CurrentHedgehog^.Gear) and (CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amJetpack)) or (Gear^.State and gstNoDrown <> 0);
   364         isSubmersible:= ((Gear = CurrentHedgehog^.Gear) and (CurAmmoGear <> nil) and (CurAmmoGear^.State and gstSubmersible <> 0)) or (Gear^.State and gstSubmersible <> 0);
   365         skipSpeed := _0_25;
   365         skipSpeed := _0_25;
   366         skipAngle := _1_9;
   366         skipAngle := _1_9;
   367         skipDecay := _0_87;
   367         skipDecay := _0_87;
   368         X:= hwRound(Gear^.X);
   368         X:= hwRound(Gear^.X);
   369         vdX:= hwFloat2Float(Gear^.dX);
   369         vdX:= hwFloat2Float(Gear^.dX);
   406                         Gear^.doStep := @doStepDrowningGear;
   406                         Gear^.doStep := @doStepDrowningGear;
   407                         if Gear^.Kind = gtFlake then
   407                         if Gear^.Kind = gtFlake then
   408                             exit // skip splashes 
   408                             exit // skip splashes 
   409                 end
   409                 end
   410             else if (Y > cWaterLine + cVisibleWater*4) and 
   410             else if (Y > cWaterLine + cVisibleWater*4) and 
   411                     ((Gear <> CurrentHedgehog^.Gear) or (CurAmmoGear = nil) or (CurAmmoGear^.AmmoType <> amJetpack)) then
   411                     ((Gear <> CurrentHedgehog^.Gear) or (CurAmmoGear = nil) or (CurAmmoGear^.State and gstSubmersible = 0)) then
   412                 Gear^.doStep:= @doStepDrowningGear;
   412                 Gear^.doStep:= @doStepDrowningGear;
   413             if ((not isSubmersible) and (Y < cWaterLine + 64 + Gear^.Radius))
   413             if ((not isSubmersible) and (Y < cWaterLine + 64 + Gear^.Radius))
   414             or (isSubmersible and (Y < cWaterLine + 2 + Gear^.Radius) and (Gear = CurAmmoGear) and ((CurAmmoGear^.Pos = 0)
   414             or (isSubmersible and (Y < cWaterLine + 2 + Gear^.Radius) and (Gear = CurAmmoGear) and ((CurAmmoGear^.Pos = 0)
   415             and (CurAmmoGear^.dY < _0_01))) then
   415             and (CurAmmoGear^.dY < _0_01))) then
   416                 if Gear^.Density * Gear^.dY > _1 then
   416                 if Gear^.Density * Gear^.dY > _1 then