]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Actually, create an optional ammo usage cvar for the minstanex laser (so it can take...
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 22 Jan 2011 15:14:14 +0000 (17:14 +0200)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 22 Jan 2011 15:14:14 +0000 (17:14 +0200)
balanceXonotic.cfg
qcsrc/server/autocvars.qh
qcsrc/server/w_minstanex.qc

index c50e3640b4b3411b1e4144e3f2d9716eb5678131..e95b61da5b1c23841b2c08cc403ae3775b3eb25f 100644 (file)
@@ -518,8 +518,8 @@ set g_balance_nex_reload_time 2
 set g_balance_minstanex_refire 1
 set g_balance_minstanex_animtime 0.50
 set g_balance_minstanex_ammo 10
+set g_balance_minstanex_laser_ammo 5
 set g_balance_minstanex_reload_ammo 40
-set g_balance_minstanex_reload_laserload 5
 set g_balance_minstanex_reload_time 2
 // }}}
 // {{{ hagar
index 7d0c15e2d8e6e754e0cd8d6939b483a3295dbe03..741c9daf05fed20aa15e6ec9ed8a701e6b673e12 100644 (file)
@@ -443,10 +443,10 @@ float autocvar_g_balance_minelayer_time;
 float autocvar_g_balance_minelayer_reload_ammo;
 float autocvar_g_balance_minelayer_reload_time;
 float autocvar_g_balance_minstanex_ammo;
+float autocvar_g_balance_minstanex_laser_ammo;
 float autocvar_g_balance_minstanex_animtime;
 float autocvar_g_balance_minstanex_refire;
 float autocvar_g_balance_minstanex_reload_ammo;
-float autocvar_g_balance_minstanex_reload_laserload;
 float autocvar_g_balance_minstanex_reload_time;
 float autocvar_g_balance_nex_charge;
 float autocvar_g_balance_nex_charge_limit;
index b96d42f12163b63be2bf5bd470c31ed66ad47f59..da25ad8ffab5deccbf68ac69b9af1bd1c7462cf5 100644 (file)
@@ -6,18 +6,6 @@ REGISTER_WEAPON(MINSTANEX, w_minstanex, IT_CELLS, 7, WEP_FLAG_HIDDEN | WEP_FLAG_
 
 .float minstanex_load;
 
-float W_Minstanex_LaserUsesLoad()
-{
-       // if the minsta uses reloading, and consumption is enabled for the minsta laser, decrease clip load
-       if(!autocvar_g_balance_minstanex_reload_ammo) // reloading is disabled
-               return FALSE;
-
-       if(autocvar_g_balance_minstanex_reload_laserload)
-               return autocvar_g_balance_minstanex_reload_laserload;
-
-       return FALSE;
-}
-
 void W_Minstanex_SetAmmoCounter()
 {
        // set clip_load to the weapon we have switched to, if the gun uses reloading
@@ -54,9 +42,9 @@ void W_Minstanex_Reload()
        if(!autocvar_g_balance_minstanex_reload_ammo)
                return;
 
-       if(W_Minstanex_LaserUsesLoad())
+       if(autocvar_g_balance_minstanex_laser_ammo)
        {
-               if(!W_ReloadCheck(self.ammo_cells, min(autocvar_g_balance_minstanex_ammo, W_Minstanex_LaserUsesLoad())))
+               if(!W_ReloadCheck(self.ammo_cells, min(autocvar_g_balance_minstanex_ammo, autocvar_g_balance_minstanex_laser_ammo)))
                        return;
        }
        else if(!W_ReloadCheck(self.ammo_cells, autocvar_g_balance_minstanex_ammo))
@@ -272,7 +260,7 @@ float w_minstanex(float req)
                        minstanex_ammo = autocvar_g_balance_minstanex_ammo;
 
                // if the laser uses load, we also consider its ammo for reloading
-               if(autocvar_g_balance_minstanex_reload_ammo && W_Minstanex_LaserUsesLoad() && self.clip_load < min(minstanex_ammo, W_Minstanex_LaserUsesLoad())) // forced reload
+               if(autocvar_g_balance_minstanex_reload_ammo && autocvar_g_balance_minstanex_laser_ammo && self.clip_load < min(minstanex_ammo, autocvar_g_balance_minstanex_laser_ammo)) // forced reload
                        W_Minstanex_Reload();
                else if(autocvar_g_balance_minstanex_reload_ammo && self.clip_load < minstanex_ammo) // forced reload
                        W_Minstanex_Reload();
@@ -290,9 +278,14 @@ float w_minstanex(float req)
                        {
                                self.jump_interval = time + autocvar_g_balance_laser_primary_refire * W_WeaponRateFactor();
 
-                               // decrease clip load for the laser?
-                               if(autocvar_g_balance_minstanex_reload_ammo && W_Minstanex_LaserUsesLoad())
-                                       self.clip_load -= W_Minstanex_LaserUsesLoad();
+                               // decrease ammo for the laser?
+                               if(autocvar_g_balance_minstanex_laser_ammo)
+                               {
+                                       if(autocvar_g_balance_minstanex_reload_ammo)
+                                               self.clip_load -= autocvar_g_balance_minstanex_laser_ammo;
+                                       else
+                                               self.ammo_cells -= autocvar_g_balance_minstanex_laser_ammo;
+                               }
 
                                // ugly minstagib hack to reuse the fire mode of the laser
                                float w;
@@ -341,8 +334,8 @@ float w_minstanex(float req)
        }
        else if (req == WR_CHECKAMMO2)
        {
-               if(W_Minstanex_LaserUsesLoad())
-                       return W_Minstanex_LaserUsesLoad();
+               if(autocvar_g_balance_minstanex_laser_ammo)
+                       return autocvar_g_balance_minstanex_laser_ammo;
                else
                        return TRUE;
        }