hedgewars/uGearsHedgehog.pas
changeset 8553 a8e1cff496d8
parent 8494 53b91a602955
child 8562 d9d1cb650ff8
equal deleted inserted replaced
8550:17378d33e62e 8553:a8e1cff496d8
    51     begin
    51     begin
    52     HHGear^.Message:= HHGear^.Message and (not gmSlot);
    52     HHGear^.Message:= HHGear^.Message and (not gmSlot);
    53     prevAmmo:= CurAmmoType;
    53     prevAmmo:= CurAmmoType;
    54     ammoidx:= 0;
    54     ammoidx:= 0;
    55     if ((HHGear^.State and (gstAttacking or gstAttacked)) <> 0)
    55     if ((HHGear^.State and (gstAttacking or gstAttacked)) <> 0)
    56     or ((MultiShootAttacks > 0) and ((Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) = 0))
       
    57     or ((HHGear^.State and gstHHDriven) = 0) then
    56     or ((HHGear^.State and gstHHDriven) = 0) then
    58         exit;
    57         exit;
    59     ChangeAmmo:= true;
    58     ChangeAmmo:= true;
    60 
    59 
    61     while (ammoidx < cMaxSlotAmmoIndex) and (Ammo^[slot, ammoidx].AmmoType <> CurAmmoType) do
    60     while (ammoidx < cMaxSlotAmmoIndex) and (Ammo^[slot, ammoidx].AmmoType <> CurAmmoType) do
    62         inc(ammoidx);
    61         inc(ammoidx);
    63 
    62 
    64     if ((Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) <> 0) and (MultiShootAttacks > 0) then
    63     if (MultiShootAttacks > 0) then
    65         OnUsedAmmo(HHGear^.Hedgehog^);
    64         begin
       
    65         if (CurAmmoType = amSniperRifle) and ((GameFlags and gfArtillery) = 0) then
       
    66             cArtillery := false;
       
    67         OnUsedAmmo(HHGear^.Hedgehog^)
       
    68         end;
    66 
    69 
    67     MultiShootAttacks:= 0;
    70     MultiShootAttacks:= 0;
    68     HHGear^.Message:= HHGear^.Message and (not (gmLJump or gmHJump));
    71     HHGear^.Message:= HHGear^.Message and (not (gmLJump or gmHJump));
    69     
    72     
    70     if Ammoz[CurAmmoType].Slot = slot then
    73     if Ammoz[CurAmmoType].Slot = slot then