hedgewars/uGearsHedgehog.pas
branchwebgl
changeset 9954 bf51bc7e2808
parent 9950 2759212a27de
child 10015 4feced261c68
equal deleted inserted replaced
9952:32f5982604f4 9954:bf51bc7e2808
   875             doStepFallingGear(Gear);
   875             doStepFallingGear(Gear);
   876             Gear^.dX:= Gear^.dX * _0_8
   876             Gear^.dX:= Gear^.dX * _0_8
   877             end;
   877             end;
   878         if (land and lfBouncy = 0) or (Gear^.State and gstCollision <> 0) then
   878         if (land and lfBouncy = 0) or (Gear^.State and gstCollision <> 0) then
   879             Gear^.dY:= _0;
   879             Gear^.dY:= _0;
   880         Gear^.State:= Gear^.State and not gstCollision 
   880         Gear^.State:= Gear^.State and (not gstCollision)
   881         end;
   881         end;
   882     Gear^.State:= Gear^.State or gstMoving;
   882     Gear^.State:= Gear^.State or gstMoving;
   883     if (CurrentHedgehog^.Gear = Gear) and (CurrentHedgehog^.Gear^.State and gstHHDriven <> 0) and
   883     if (CurrentHedgehog^.Gear = Gear) and (CurrentHedgehog^.Gear^.State and gstHHDriven <> 0) and
   884        (not CurrentTeam^.ExtDriven) and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > _0_003) then
   884        (not CurrentTeam^.ExtDriven) and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > _0_003) then
   885         begin
   885         begin
   930                 end;
   930                 end;
   931             Gear^.State:= Gear^.State and (not (gstHHJumping or gstHHHJump));
   931             Gear^.State:= Gear^.State and (not (gstHHJumping or gstHHHJump));
   932             if (land and lfBouncy = 0) or (Gear^.dX.QWordValue < _0_02.QWordValue) then
   932             if (land and lfBouncy = 0) or (Gear^.dX.QWordValue < _0_02.QWordValue) then
   933                 Gear^.dY:= _0
   933                 Gear^.dY:= _0
   934             end;
   934             end;
   935         Gear^.State:= Gear^.State and not gstCollision 
   935         Gear^.State:= Gear^.State and (not gstCollision)
   936         end
   936         end
   937     else
   937     else
   938         Gear^.dY:= Gear^.dY + cGravity;
   938         Gear^.dY:= Gear^.dY + cGravity;
   939 
   939 
   940     if ((Gear^.State and gstMoving) <> 0) then
   940     if ((Gear^.State and gstMoving) <> 0) then
  1055             begin
  1055             begin
  1056             CheckHHDamage(Gear);
  1056             CheckHHDamage(Gear);
  1057             Gear^.dY:= _0;
  1057             Gear^.dY:= _0;
  1058             Gear^.Y:= Gear^.Y + _1
  1058             Gear^.Y:= Gear^.Y + _1
  1059             end;
  1059             end;
  1060         Gear^.State:= Gear^.State and not gstCollision 
  1060         Gear^.State:= Gear^.State and (not gstCollision)
  1061         end;
  1061         end;
  1062 
  1062 
  1063     // could become nil if ai's hog fails to respawn in ai survival
  1063     // could become nil if ai's hog fails to respawn in ai survival
  1064     if Gear = nil then exit;
  1064     if Gear = nil then exit;
  1065     // hide target cursor if current hog is drowning
  1065     // hide target cursor if current hog is drowning