hedgewars/HHHandlers.inc
changeset 5640 07676ee23aff
parent 5638 e35ba2a400d8
child 5706 4454aa0523e7
equal deleted inserted replaced
5638:e35ba2a400d8 5640:07676ee23aff
   739 
   739 
   740 procedure HedgehogChAngle(HHGear: PGear);
   740 procedure HedgehogChAngle(HHGear: PGear);
   741 var da: LongWord;
   741 var da: LongWord;
   742 begin
   742 begin
   743 with HHGear^.Hedgehog^ do
   743 with HHGear^.Hedgehog^ do
   744     if (CurAmmoType = amRope)
   744     if ((CurAmmoType = amRope) and 
   745     and ((HHGear^.State and (gstMoving or gstHHJumping)) = gstMoving) then da:= 2 else da:= 1;
   745         ((HHGear^.State and (gstMoving or gstHHJumping)) = gstMoving)) or
       
   746        ((CurAmmoType = amPortalGun) and 
       
   747         ((HHGear^.State and gstMoving) <> 0)) then da:= 2
       
   748     else da:= 1;
   746 
   749 
   747 if (((HHGear^.Message and gmPrecise) = 0) or ((GameTicks mod 5) = 1)) then
   750 if (((HHGear^.Message and gmPrecise) = 0) or ((GameTicks mod 5) = 1)) then
   748     if ((HHGear^.Message and gmUp) <> 0) and (HHGear^.Angle >= CurMinAngle + da) then dec(HHGear^.Angle, da)
   751     if ((HHGear^.Message and gmUp) <> 0) and (HHGear^.Angle >= CurMinAngle + da) then dec(HHGear^.Angle, da)
   749     else
   752     else
   750     if ((HHGear^.Message and gmDown) <> 0) and (HHGear^.Angle + da <= CurMaxAngle) then inc(HHGear^.Angle, da)
   753     if ((HHGear^.Message and gmDown) <> 0) and (HHGear^.Angle + da <= CurMaxAngle) then inc(HHGear^.Angle, da)