float minstanex_ammo;
float w_minstanex(float req)
{
+ float ammo_amount;
if (req == WR_AIM)
{
if(self.ammo_cells > 0)
}
else if (req == WR_CHECKAMMO1)
{
- if(autocvar_g_balance_minstanex_reload_ammo)
- return self.clip_load >= minstanex_ammo;
- else
- return self.ammo_cells >= minstanex_ammo;
+ ammo_amount = self.ammo_cells >= autocvar_g_balance_minstanex_ammo;
+ ammo_amount += (autocvar_g_balance_minstanex_reload_ammo && self.minstanex_load >= autocvar_g_balance_minstanex_ammo);
+ return ammo_amount;
}
else if (req == WR_CHECKAMMO2)
{
if(!autocvar_g_balance_minstanex_laser_ammo)
return TRUE;
- if(autocvar_g_balance_minstanex_reload_ammo)
- return self.clip_load >= autocvar_g_balance_minstanex_laser_ammo;
- else
- return self.ammo_cells >= autocvar_g_balance_minstanex_laser_ammo;
+ ammo_amount = self.ammo_cells >= autocvar_g_balance_minstanex_laser_ammo;
+ ammo_amount += (autocvar_g_balance_minstanex_reload_ammo && self.minstanex_load >= autocvar_g_balance_minstanex_laser_ammo);
+ return ammo_amount;
}
else if (req == WR_RESETPLAYER)
{
{
W_Minstanex_Reload();
}
- else if (req == WR_SWITCHABLE)
- {
- // checks if this weapon can be switched to, when reloading is enabled
- // returns true if there's either enough load in the weapon to use it,
- // or we have enough ammo to reload the weapon to a usable point
- float ammo_amount;
- if(g_minstagib)
- ammo_amount = 1;
- else
- ammo_amount = autocvar_g_balance_minstanex_ammo;
- if(autocvar_g_balance_minstanex_laser_ammo)
- ammo_amount = min(ammo_amount, autocvar_g_balance_minstanex_laser_ammo);
-
- return (autocvar_g_balance_minstanex_reload_ammo && self.minstanex_load >= ammo_amount) || self.ammo_cells >= ammo_amount;
- }
return TRUE;
};
#endif