]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cl_client.qc
Fix seeker cvar
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cl_client.qc
index 0ff543dd9de089fa2926eb7c795147e3e80654ec..e943c94a4d82b9ea98d108f0c93e9026d7ddf8b6 100644 (file)
@@ -889,6 +889,23 @@ void PutClientInServer (void)
                        self.nex_charge = autocvar_g_balance_nex_charge_start;
                }
 
+               // all weapons must be fully loaded the first time we pick them up, so set their load to maximum at respawn
+               self.laser_load = autocvar_g_balance_laser_reload_ammo;
+               self.shotgun_load = autocvar_g_balance_shotgun_reload_ammo;
+               self.uzi_load = autocvar_g_balance_uzi_reload_ammo;
+               self.grenadelauncher_load = autocvar_g_balance_grenadelauncher_reload_ammo;
+               self.minelayer_load = autocvar_g_balance_minelayer_reload_ammo;
+               self.electro_load = autocvar_g_balance_electro_reload_ammo;
+               self.crylink_load = autocvar_g_balance_crylink_reload_ammo;
+               self.hlac_load = autocvar_g_balance_hlac_reload_ammo;
+               self.nex_load = autocvar_g_balance_nex_reload_ammo;
+               self.minstanex_load = autocvar_g_balance_minstanex_reload_ammo;
+               self.sniperrifle_load = autocvar_g_balance_sniperrifle_reload_ammo;
+               self.seeker_load = autocvar_g_balance_seeker_reload_ammo;
+               self.hagar_load = autocvar_g_balance_hagar_reload_ammo;
+               self.fireball_load = autocvar_g_balance_fireball_reload_ammo;
+               self.rocketlauncher_load = autocvar_g_balance_rocketlauncher_reload_ammo;
+
                if(inWarmupStage)
                {
                        self.ammo_shells = warmup_start_ammo_shells;
@@ -1107,7 +1124,6 @@ float ClientInit_SendEntity(entity to, float sf)
        WriteByte(MSG_ENTITY, autocvar_g_balance_nex_secondary); // client has to know if it should zoom or not
        WriteByte(MSG_ENTITY, autocvar_g_balance_sniperrifle_secondary); // client has to know if it should zoom or not
        WriteByte(MSG_ENTITY, serverflags); // client has to know if it should zoom or not
-       WriteByte(MSG_ENTITY, autocvar_g_balance_sniperrifle_magazinecapacity); // rifle max bullets
        WriteCoord(MSG_ENTITY, autocvar_g_trueaim_minrange);
        return TRUE;
 }
@@ -1366,7 +1382,7 @@ void ClientKill (void)
        {
                // do nothing
        }
-    else if(g_freezetag && self.freezetag_frozen == 1)
+    else if(self.freezetag_frozen)
     {
         // do nothing
     }
@@ -2935,6 +2951,10 @@ void PlayerPreThink (void)
        }
 
        target_voicescript_next(self);
+
+       // if a player goes unarmed after holding a loaded weapon, empty his clip size and remove the crosshair ammo ring
+       if(!self.weapon)
+               self.clip_load = self.clip_size = 0;
 }
 
 float isInvisibleString(string s)