]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/weapons/weaponsystem.qc
Fix #1434
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / weapons / weaponsystem.qc
index 13123a4601bf91a791018e37a232c5626c5dda45..2d8fa6b001824c2ce2c83caa50a3e149ddfc2469 100644 (file)
@@ -641,6 +641,8 @@ float forbidWeaponUse()
                return 1;
        if(self.frozen)
                return 1;
+       if(self.weapon_blocked)
+               return 1;
        return 0;
 }
 
@@ -689,7 +691,7 @@ void W_WeaponFrame()
                        self.weapon = self.switchweapon;
                        self.weaponname = newwep.mdl;
                        self.bulletcounter = 0;
-                       //self.ammo_field = newwep.ammo_field;
+                       self.ammo_field = newwep.ammo_field;
                        WEP_ACTION(self.switchweapon, WR_SETUP);
                        self.weaponentity.state = WS_RAISE;
 
@@ -862,11 +864,10 @@ void W_ReloadedAndReady()
                self.clip_load = self.reload_ammo_amount;
        else
        {
-               while(self.clip_load < self.reload_ammo_amount && self.(self.ammo_field)) // make sure we don't add more ammo than we have
-               {
-                       self.clip_load += 1;
-                       self.(self.ammo_field) -= 1;
-               }
+               // make sure we don't add more ammo than we have
+               float load = min(self.reload_ammo_amount - self.clip_load, self.(self.ammo_field));
+        self.clip_load += load;
+        self.(self.ammo_field) -= load;
        }
        self.(weapon_load[self.weapon]) = self.clip_load;