hedgewars/HHHandlers.inc
changeset 2137 4bb9ff2069ec
parent 2136 3b19c7874a45
child 2140 75e5c4fcae2a
equal deleted inserted replaced
2136:3b19c7874a45 2137:4bb9ff2069ec
   468 
   468 
   469    if not Gear^.dY.isNegative then
   469    if not Gear^.dY.isNegative then
   470       begin
   470       begin
   471       CheckHHDamage(Gear);
   471       CheckHHDamage(Gear);
   472 
   472 
   473       if ((Gear^.State and gstHHHJump) <> 0) and
   473       if ((Gear^.State and gstHHHJump) <> 0) and (not cArtillery) and
   474          (Gear^.dX.QWordValue < _0_02.QWordValue) then Gear^.dX.isNegative:= not Gear^.dX.isNegative; // landing after high jump
   474          (Gear^.dX.QWordValue < _0_02.QWordValue) then Gear^.dX.isNegative:= not Gear^.dX.isNegative; // landing after high jump
   475 
   475 
   476       Gear^.State:= Gear^.State and not (gstHHJumping or gstHHHJump);
   476       Gear^.State:= Gear^.State and not (gstHHJumping or gstHHHJump);
   477       Gear^.dY:= _0;
   477       Gear^.dY:= _0;
   478       end else Gear^.dY:= Gear^.dY + cGravity;
   478       end else Gear^.dY:= Gear^.dY + cGravity;
   625 	if ((Gear^.Message and gm_HJump) <> 0) and
   625 	if ((Gear^.Message and gm_HJump) <> 0) and
   626 		wasJumping and
   626 		wasJumping and
   627 		((Gear^.State and gstHHHJump) = 0) then
   627 		((Gear^.State and gstHHHJump) = 0) then
   628 		if (not (hwAbs(Gear^.dX) > cLittle)) and (Gear^.dY < -_0_02) then
   628 		if (not (hwAbs(Gear^.dX) > cLittle)) and (Gear^.dY < -_0_02) then
   629 			begin
   629 			begin
       
   630 			Gear^.State:= Gear^.State or gstHHHJump;
   630 			Gear^.dY:= -_0_25;
   631 			Gear^.dY:= -_0_25;
   631 			if not cArtillery then
   632 			if not cArtillery then Gear^.dX:= -SignAs(_0_02, Gear^.dX);
   632 				begin
       
   633 				Gear^.State:= Gear^.State or gstHHHJump;
       
   634 				Gear^.dX:= -SignAs(_0_02, Gear^.dX)
       
   635 				end;
       
   636 			
       
   637 			PlaySound(sndJump2, false, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack)
   633 			PlaySound(sndJump2, false, PHedgehog(Gear^.Hedgehog)^.Team^.voicepack)
   638 			end;
   634 			end;
   639 	
   635 	
   640 	Gear^.Message:= Gear^.Message and not (gm_LJump or gm_HJump);
   636 	Gear^.Message:= Gear^.Message and not (gm_LJump or gm_HJump);
   641 
   637