]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Turn weapon load floats into a single float with an array. The new system should...
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sun, 30 Jan 2011 16:38:27 +0000 (18:38 +0200)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sun, 30 Jan 2011 16:38:27 +0000 (18:38 +0200)
qcsrc/server/cl_weaponsystem.qc
qcsrc/server/defs.qh
qcsrc/server/w_hagar.qc

index eac82741090d46d74a443428aed7aa1f4b32a3a4..78135fcc98bf76b62c43a5e03a8d2846f1897bf0 100644 (file)
@@ -1665,7 +1665,7 @@ void W_ReloadedAndReady()
                self.clip_load += 1;
                self.(self.reload_ammo_player) -= 1;
        }
-       //self.hagar_load = self.clip_load;
+       self.weapon_load[self.weapon] = self.clip_load;
 
        t = ATTACK_FINISHED(self) - self.reload_time - 1;
        ATTACK_FINISHED(self) = t;
index f60aad976fbbf014ed713f79ecb4b23fdc628196..0c7b0e86ec24387e3ab1cf9f64e45b6892f3cf1e 100644 (file)
@@ -612,6 +612,7 @@ float client_cefc_accumulator;
 float client_cefc_accumulatortime;
 #endif
 
+.float weapon_load[WEP_MAXCOUNT]; FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(weapon_load);
 .float clip_load;
 .float old_clip_load;
 .float clip_size;
index 6572e2c9efca198fe73599572994411d0b148ab3..b27f25aa2bb3c6ebf2d174c3ac27783da8d27f03 100644 (file)
@@ -4,9 +4,6 @@ REGISTER_WEAPON(HAGAR, w_hagar, IT_ROCKETS, 8, WEP_FLAG_NORMAL | WEP_FLAG_CANCLI
 #ifdef SVQC
 // NO bounce protection, as bounces are limited!
 
-// weapon load persistence, for weapons that support reloading
-.float hagar_load;
-
 void W_Hagar_SetAmmoCounter()
 {
        // set clip_load to the weapon we have switched to, if the gun uses reloading
@@ -14,7 +11,7 @@ void W_Hagar_SetAmmoCounter()
                self.clip_load = 0; // also keeps crosshair ammo from displaying
        else
        {
-               self.clip_load = self.hagar_load;
+               self.clip_load = self.weapon_load[WEP_HAGAR];
                self.clip_size = autocvar_g_balance_hagar_reload_ammo; // for the crosshair ammo display
        }
 }
@@ -77,7 +74,7 @@ void W_Hagar_Attack (void)
                if(autocvar_g_balance_hagar_reload_ammo)
                {
                        self.clip_load -= autocvar_g_balance_hagar_primary_ammo;
-                       self.hagar_load = self.clip_load;
+                       self.weapon_load[WEP_HAGAR] = self.clip_load;
                }
                else
                        self.ammo_rockets -= autocvar_g_balance_hagar_primary_ammo;
@@ -122,7 +119,7 @@ void W_Hagar_Attack2 (void)
                if(autocvar_g_balance_hagar_reload_ammo)
                {
                        self.clip_load -= autocvar_g_balance_hagar_secondary_ammo;
-                       self.hagar_load = self.clip_load;
+                       self.weapon_load[WEP_HAGAR] = self.clip_load;
                }
                else
                        self.ammo_rockets -= autocvar_g_balance_hagar_secondary_ammo;
@@ -211,19 +208,19 @@ float w_hagar(float req)
        else if (req == WR_CHECKAMMO1)
        {
                ammo_amount = self.ammo_rockets >= autocvar_g_balance_hagar_primary_ammo;
-               ammo_amount += self.hagar_load >= autocvar_g_balance_hagar_primary_ammo;
+               ammo_amount += self.weapon_load[WEP_HAGAR] >= autocvar_g_balance_hagar_primary_ammo;
                return ammo_amount;
        }
        else if (req == WR_CHECKAMMO2)
        {
                ammo_amount = self.ammo_rockets >= autocvar_g_balance_hagar_secondary_ammo;
-               ammo_amount += self.hagar_load >= autocvar_g_balance_hagar_secondary_ammo;
+               ammo_amount += self.weapon_load[WEP_HAGAR] >= autocvar_g_balance_hagar_secondary_ammo;
                return ammo_amount;
        }
        else if (req == WR_RESETPLAYER)
        {
                // all weapons must be fully loaded when we spawn
-               self.hagar_load = autocvar_g_balance_hagar_reload_ammo;
+               self.weapon_load[WEP_HAGAR] = autocvar_g_balance_hagar_reload_ammo;
        }
        else if (req == WR_RELOAD)
        {