hedgewars/uAmmos.pas
changeset 5316 191cd6c06203
parent 5273 102728b20c4d
child 5345 3c5480e91951
equal deleted inserted replaced
5313:5e18eaef65d0 5316:191cd6c06203
   189 
   189 
   190 procedure AddAmmo(var Hedgehog: THedgehog; ammo: TAmmoType; cnt: LongWord);
   190 procedure AddAmmo(var Hedgehog: THedgehog; ammo: TAmmoType; cnt: LongWord);
   191 var ammos: TAmmoCounts;
   191 var ammos: TAmmoCounts;
   192     slot, ami: LongInt;
   192     slot, ami: LongInt;
   193     hhammo: PHHAmmo;
   193     hhammo: PHHAmmo;
       
   194     CurWeapon: PAmmo;
   194 begin
   195 begin
   195 {$HINTS OFF}
   196 {$HINTS OFF}
   196 FillChar(ammos, sizeof(ammos), 0);
   197 FillChar(ammos, sizeof(ammos), 0);
   197 {$HINTS ON}
   198 {$HINTS ON}
   198 hhammo:= Hedgehog.Ammo;
   199 hhammo:= Hedgehog.Ammo;
   203            ammos[hhammo^[slot, ami].AmmoType]:= hhammo^[slot, ami].Count;
   204            ammos[hhammo^[slot, ami].AmmoType]:= hhammo^[slot, ami].Count;
   204 
   205 
   205 ammos[ammo]:= cnt;
   206 ammos[ammo]:= cnt;
   206 if ammos[ammo] > AMMO_INFINITE then ammos[ammo]:= AMMO_INFINITE;
   207 if ammos[ammo] > AMMO_INFINITE then ammos[ammo]:= AMMO_INFINITE;
   207 
   208 
   208 FillAmmoStore(hhammo, ammos)
   209 FillAmmoStore(hhammo, ammos);
       
   210 CurWeapon:= GetAmmoEntry(Hedgehog);
       
   211 with Hedgehog do
       
   212     begin
       
   213     with CurWeapon^ do
       
   214         if Count = 0 then
       
   215             begin
       
   216             PackAmmo(Ammo, Ammoz[AmmoType].Slot);
       
   217             CurAmmoType:= amNothing
       
   218             end
       
   219     end
   209 end;
   220 end;
   210 
   221 
   211 procedure PackAmmo(Ammo: PHHAmmo; Slot: LongInt);
   222 procedure PackAmmo(Ammo: PHHAmmo; Slot: LongInt);
   212 var ami: LongInt;
   223 var ami: LongInt;
   213     b: boolean;
   224     b: boolean;