hedgewars/GSHandlers.inc
changeset 516 f682e134ac2e
parent 514 fb8ba88a83c3
child 517 ba560c17c24c
equal deleted inserted replaced
515:270f10276d2e 516:f682e134ac2e
   986 var HHGear: PGear;
   986 var HHGear: PGear;
   987 begin
   987 begin
   988 HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
   988 HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
   989 HHGear^.State:= HHGear^.State and not gstAttacking;
   989 HHGear^.State:= HHGear^.State and not gstAttacking;
   990 
   990 
       
   991 inc(Gear^.Timer);
       
   992 
   991 if TestCollisionYwithGear(HHGear, 1)
   993 if TestCollisionYwithGear(HHGear, 1)
   992    or ((HHGear^.State and gstHHDriven) = 0)
   994    or ((HHGear^.State and gstHHDriven) = 0)
   993    or CheckGearDrowning(HHGear) then
   995    or CheckGearDrowning(HHGear) then
   994    begin
   996    begin
   995    with HHGear^ do
   997    with HHGear^ do
   999         dY:= _0;
  1001         dY:= _0;
  1000         State:= State and not (gstAttacking or gstAttacked);
  1002         State:= State and not (gstAttacking or gstAttacked);
  1001         State:= State or gstFalling;
  1003         State:= State or gstFalling;
  1002         end;
  1004         end;
  1003    DeleteGear(Gear);
  1005    DeleteGear(Gear);
  1004    OnUsedAmmo(PHedgehog(HHGear^.Hedgehog)^.Ammo);
  1006    if Gear^.Timer > 10 then
  1005    ApplyAmmoChanges(PHedgehog(HHGear^.Hedgehog)^);
  1007       begin
       
  1008       OnUsedAmmo(PHedgehog(HHGear^.Hedgehog)^.Ammo);
       
  1009       ApplyAmmoChanges(PHedgehog(HHGear^.Hedgehog)^)
       
  1010       end;
  1006    exit
  1011    exit
  1007    end;
  1012    end;
  1008 
  1013 
  1009 if not TestCollisionXwithGear(HHGear, hwSign(HHGear^.dX)) then
  1014 if not TestCollisionXwithGear(HHGear, hwSign(HHGear^.dX)) then
  1010    HHGear^.X:= HHGear^.X + cWindSpeed * 200;
  1015    HHGear^.X:= HHGear^.X + cWindSpeed * 200;