for(i = WEP_FIRST; i <= WEP_LAST; ++i)
{
e = get_weaponinfo(i);
- if(self.weapon_load[i] < cvar(strcat("g_balance_", e.netname, "_reload_ammo")))
+ if ((e.spawnflags & WEP_FLAG_RELOADABLE) && self.weapon_load[i] < cvar(strcat("g_balance_", e.netname, "_reload_ammo")))
self.switchweapon = i;
}
}
\r
void W_DecreaseAmmo(.float ammo_type, float ammo_use, float ammo_reload)\r
{\r
- if(self.items & IT_UNLIMITED_WEAPON_AMMO)\r
+ if((self.items & IT_UNLIMITED_WEAPON_AMMO) && !ammo_reload)\r
return;\r
\r
// if this weapon is reloadable, decrease its load. Else decrease the player's ammo\r
while(self.clip_load < self.reload_ammo_amount && self.(self.current_ammo)) // make sure we don't add more ammo than we have\r
{\r
self.clip_load += 1;\r
- self.(self.current_ammo) -= 1;\r
+ if not(self.items & IT_UNLIMITED_WEAPON_AMMO)\r
+ self.(self.current_ammo) -= 1;\r
}\r
}\r
self.weapon_load[self.weapon] = self.clip_load;\r