hedgewars/GSHandlers.inc
changeset 8822 fc9877ff7f1a
parent 8814 01e13871f578
child 8833 c13ebed437cb
child 8838 aa2ffd427f6a
equal deleted inserted replaced
8820:9cc4a057473f 8822:fc9877ff7f1a
  2887 var
  2887 var
  2888     t: PGearArray;
  2888     t: PGearArray;
  2889     tempColl: Word;
  2889     tempColl: Word;
  2890 begin
  2890 begin
  2891     AllInactive := false;
  2891     AllInactive := false;
  2892 
  2892     if (Gear^.Timer > 0) and (Gear^.Timer mod 10 <> 0) then
  2893 
  2893         begin
  2894     if (Gear^.Timer > 0) and ((Gear^.Timer mod 10) = 0) then
  2894         dec(Gear^.Timer);
  2895     begin
  2895         exit;
  2896         DrawTunnel(Gear^.X, Gear^.Y, Gear^.dX, Gear^.dY, 2, 6);
  2896         end;
  2897         Gear^.X := Gear^.X + Gear^.dX;
  2897 
  2898         Gear^.Y := Gear^.Y + Gear^.dY;
  2898     DrawTunnel(Gear^.X, Gear^.Y, Gear^.dX, Gear^.dY, 2, 6);
  2899         if (Gear^.Timer mod 30) = 0 then
  2899     Gear^.X := Gear^.X + Gear^.dX;
  2900             AddVisualGear(hwRound(Gear^.X + _20 * Gear^.dX), hwRound(Gear^.Y + _20 * Gear^.dY), vgtDust);
  2900     Gear^.Y := Gear^.Y + Gear^.dY;
  2901         if (CheckGearDrowning(Gear)) then
  2901     if (Gear^.Timer mod 30) = 0 then
  2902             begin
  2902         AddVisualGear(hwRound(Gear^.X + _20 * Gear^.dX), hwRound(Gear^.Y + _20 * Gear^.dY), vgtDust);
  2903             StopSoundChan(Gear^.SoundChannel);
  2903     if (CheckGearDrowning(Gear)) then
  2904             exit
  2904         begin
  2905         end
  2905         StopSoundChan(Gear^.SoundChannel);
       
  2906         exit
  2906     end;
  2907     end;
       
  2908 
  2907     tempColl:= Gear^.CollisionMask;
  2909     tempColl:= Gear^.CollisionMask;
  2908     Gear^.CollisionMask:= $007F;
  2910     Gear^.CollisionMask:= $007F;
  2909     if (TestCollisionYWithGear(Gear, hwSign(Gear^.dY)) <> 0) or TestCollisionXWithGear(Gear, hwSign(Gear^.dX)) or (GameTicks > Gear^.FlightTime) then
  2911     if (TestCollisionYWithGear(Gear, hwSign(Gear^.dY)) <> 0) or TestCollisionXWithGear(Gear, hwSign(Gear^.dX)) or (GameTicks > Gear^.FlightTime) then
  2910         t := CheckGearsCollision(Gear)
  2912         t := CheckGearsCollision(Gear)
  2911     else t := nil;
  2913     else t := nil;