hedgewars/uGearsHandlersRope.pas
changeset 7648 796ff8debbbc
parent 7647 e496587db93e
child 7652 db731c523653
equal deleted inserted replaced
7647:e496587db93e 7648:796ff8debbbc
   106 begin
   106 begin
   107     if GameTicks mod 8 <> 0 then exit;
   107     if GameTicks mod 8 <> 0 then exit;
   108 
   108 
   109     HHGear := Gear^.Hedgehog^.Gear;
   109     HHGear := Gear^.Hedgehog^.Gear;
   110 
   110 
   111     HHGear^.dX.QWordValue:= HHGear^.dX.QWordValue shl 3;
       
   112     HHGear^.dY.QWordValue:= HHGear^.dY.QWordValue shl 3;
       
   113 
       
   114     if ((HHGear^.State and gstHHDriven) = 0)
   111     if ((HHGear^.State and gstHHDriven) = 0)
   115        or (CheckGearDrowning(HHGear)) or (Gear^.PortalCounter <> 0) then
   112        or (CheckGearDrowning(HHGear)) or (Gear^.PortalCounter <> 0) then
   116         begin
   113         begin
   117         PlaySound(sndRopeRelease);
   114         PlaySound(sndRopeRelease);
   118         RopeDeleteMe(Gear, HHGear);
   115         RopeDeleteMe(Gear, HHGear);
   119         exit
   116         exit
   120         end;
   117         end;
       
   118 
       
   119     HHGear^.dX.QWordValue:= HHGear^.dX.QWordValue shl 3;
       
   120     HHGear^.dY.QWordValue:= HHGear^.dY.QWordValue shl 3;
   121 
   121 
   122     if (Gear^.Message and gmLeft  <> 0) and (not TestCollisionXwithGear(HHGear, -1)) then
   122     if (Gear^.Message and gmLeft  <> 0) and (not TestCollisionXwithGear(HHGear, -1)) then
   123         HHGear^.dX := HHGear^.dX - _0_0128;
   123         HHGear^.dX := HHGear^.dX - _0_0128;
   124 
   124 
   125     if (Gear^.Message and gmRight <> 0) and (not TestCollisionXwithGear(HHGear,  1)) then
   125     if (Gear^.Message and gmRight <> 0) and (not TestCollisionXwithGear(HHGear,  1)) then