equal
deleted
inserted
replaced
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 |