]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
electro: enforce a 0.4s delay after releasing fire before firing primary again
authorRudolf Polzer <divverent@alientrap.org>
Thu, 16 Sep 2010 10:02:35 +0000 (12:02 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Thu, 16 Sep 2010 10:13:18 +0000 (12:13 +0200)
balanceXonotic.cfg
qcsrc/server/w_electro.qc

index bbcee6aa1ac18d4e5924b11d33de3ed57ba31b65..08c19f56c7e0cd298684dd5b850e2a7b71811e1e 100644 (file)
@@ -314,7 +314,7 @@ set g_balance_electro_primary_comboradius 75
 set g_balance_electro_primary_speed 0
 set g_balance_electro_primary_spread 0
 set g_balance_electro_primary_lifetime 0
-set g_balance_electro_primary_refire 0.03333333
+set g_balance_electro_primary_refire 0.4
 set g_balance_electro_primary_animtime 0.03333333
 set g_balance_electro_primary_ammo 7
 set g_balance_electro_primary_range 800
index fa9034c136cb7c2822620b6a7b87a7765f2fc7c6..e885cd0d28d8635b9abe9fd5ce11edb62a9d9eba 100644 (file)
@@ -368,7 +368,14 @@ float w_electro(float req)
                                weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_electro_primary_animtime"), w_ready);
                        }
                } else {
-                       self.BUTTON_ATCK_prev = 0;
+                       if(cvar("g_balance_electro_lightning"))
+                       {
+                               if (self.BUTTON_ATCK_prev != 0)
+                               {
+                                       ATTACK_FINISHED(self) = time + cvar("g_balance_electro_primary_refire") * W_WeaponRateFactor();
+                               }
+                               self.BUTTON_ATCK_prev = 0;
+                       }
                }
 
                if (self.BUTTON_ATCK2)
@@ -401,7 +408,7 @@ float w_electro(float req)
        else if (req == WR_CHECKAMMO1)
        {
                if(cvar("g_balance_electro_lightning"))
-                       return self.ammo_cells >= cvar("g_balance_electro_primary_ammo") * cvar("g_balance_electro_primary_refire");
+                       return !cvar("g_balance_electro_primary_ammo") || (self.ammo_cells > 0);
                else
                        return self.ammo_cells >= cvar("g_balance_electro_primary_ammo");
        }