hedgewars/uGearsHandlersRope.pas
branchios-develop
changeset 13413 ba39a1d396c0
parent 13077 c213645ff848
child 13463 f1d349a52bc7
equal deleted inserted replaced
13411:6e8b807bda4b 13413:ba39a1d396c0
   460 
   460 
   461     DeleteCI(HHGear);
   461     DeleteCI(HHGear);
   462 
   462 
   463     if (HHGear^.State and gstMoving) <> 0 then
   463     if (HHGear^.State and gstMoving) <> 0 then
   464         begin
   464         begin
   465         if TestCollisionXwithGear(HHGear, hwSign(HHGear^.dX)) <> 0 then
   465         doStepHedgehogMoving(HHGear);
   466             SetLittle(HHGear^.dX);
       
   467         if HHGear^.dY.isNegative and (TestCollisionYwithGear(HHGear, -1) <> 0) then
       
   468             HHGear^.dY := _0;
       
   469 
       
   470         HHGear^.X := HHGear^.X + HHGear^.dX;
       
   471         Gear^.X := Gear^.X + HHGear^.dX;
   466         Gear^.X := Gear^.X + HHGear^.dX;
   472 
   467         Gear^.Y := Gear^.Y + HHGear^.dY;
   473         if TestCollisionYwithGear(HHGear, 1) <> 0 then
   468 
   474             begin
       
   475             CheckHHDamage(HHGear);
       
   476             HHGear^.dY := _0
       
   477             //HHGear^.State:= HHGear^.State and (not (gstHHJumping or gstHHHJump));
       
   478             end
       
   479         else
       
   480             begin
       
   481             HHGear^.Y := HHGear^.Y + HHGear^.dY;
       
   482             Gear^.Y := Gear^.Y + HHGear^.dY;
       
   483             HHGear^.dY := HHGear^.dY + cGravity;
       
   484             if (GameFlags and gfMoreWind) <> 0 then
       
   485                 HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density
       
   486             end;
       
   487 
   469 
   488         tt := Gear^.Elasticity;
   470         tt := Gear^.Elasticity;
   489         tx := _0;
   471         tx := _0;
   490         ty := _0;
   472         ty := _0;
   491         while tt > _20 do
   473         while tt > _20 do