]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix this bug: playing Arena the field score is never updated in the scoreboard. The...
authorterencehill <piuntn@gmail.com>
Sat, 26 Jun 2010 00:11:50 +0000 (02:11 +0200)
committerterencehill <piuntn@gmail.com>
Sat, 26 Jun 2010 00:20:29 +0000 (02:20 +0200)
While I was at it I've made a small clean up to arena.qc, trimming some trailing space and converting some
FOR_EACH_CLIENT(self) if (self.classname == "player")
into
FOR_EACH_PLAYER(self).

qcsrc/server/arena.qc
qcsrc/server/cl_player.qc

index 5a3ee7a0d8838d4d5d736c932fa92bdb4da90807..ee4ce1b87ed9388ca2bf376f98a437866ef21bc3 100644 (file)
@@ -10,7 +10,7 @@ entity spawnqueue_last;
 entity champion;
 float warmup;
 float allowed_to_spawn;
-float player_cnt;
+float ca_players;
 float required_ca_players;
 .float caplayer;
 
@@ -123,7 +123,7 @@ void reset_map(float dorespawn)
                kh_Controller_SetThink(cvar("g_balance_keyhunt_delay_round")+(game_starttime - time), "", kh_StartRound);
 
        if(g_arena || g_ca)
-       if(champion && champion.classname == "player" && player_cnt > 1)
+       if(champion && champion.classname == "player" && player_count > 1)
                UpdateFrags(champion, +1);
 
        self = oldself;
@@ -183,7 +183,7 @@ void Spawnqueue_Mark(entity e)
  * player when player is waiting for the countdown to finish.
  * Blocks the players movement while countdown is active.
  * Unblocks the player once the countdown is over.
- * 
+ *
  * Called in PlayerPostThink()
  */
 float roundStartTime_prev; // prevent networkspam
@@ -199,7 +199,7 @@ void Arena_Warmup()
 
        allowed_to_spawn = 0;
 
-       if(g_ca && (player_cnt < required_ca_players || inWarmupStage))
+       if(g_ca && (ca_players < required_ca_players || inWarmupStage))
                allowed_to_spawn = 1;
 
        msg = NEWLINES;
@@ -242,15 +242,13 @@ void Arena_Warmup()
        {
                roundStartTime_prev = f;
                Announce("begin");
-               centerprint(self, "^1Begin!\n");        
+               centerprint(self, "^1Begin!\n");
 
                if(g_ca) {
-                       player_cnt = 0;
+                       ca_players = 0;
 
-                       FOR_EACH_CLIENT(self) {
-                       if (self.classname == "player")
-                               player_cnt += 1;
-                       }               
+                       FOR_EACH_PLAYER(self)
+                               ca_players += 1;
                }
        }
 
@@ -263,7 +261,7 @@ float next_round;
  * This function finds out whether an arena round is over 1 player is left.
  * It determines the last player who's still alive and saves it's entity reference
  * in the global variable 'champion'. Then the new enemy/enemies are put into the server.
- * 
+ *
  * Gets called in StartFrame()
  */
 void Spawnqueue_Check()
@@ -274,21 +272,18 @@ void Spawnqueue_Check()
        if(g_ca) {
                // check the amount of spawned players in each team
                float redspawned, bluespawned;
-               FOR_EACH_CLIENT(self) {
-                       if (self.classname == "player") {
-                               if (self.team == COLOR_TEAM1) redspawned += 1;
-                               else if (self.team == COLOR_TEAM2) bluespawned += 1;
-                       }
+               FOR_EACH_PLAYER(self) {
+                       if (self.team == COLOR_TEAM1) redspawned += 1;
+                       else if (self.team == COLOR_TEAM2) bluespawned += 1;
                }
 
                required_ca_players = max(2, fabs(cvar("bot_vs_human") + 1));
 
-               if(player_cnt < required_ca_players && (redspawned && bluespawned)) {
+               if(ca_players < required_ca_players && (redspawned && bluespawned)) {
                        reset_map(TRUE);
                }
-               else if(player_cnt < required_ca_players) {
-                       FOR_EACH_CLIENT(self) 
-                       if(self.classname == "player")
+               else if(ca_players < required_ca_players) {
+                       FOR_EACH_PLAYER(self)
                                centerprint(self, strcat("^1Need at least 1 player in each team to play CA", "^7\n"));
 
                        allowed_to_spawn = 1;
index 3911ffecb89a5db3921992c8f729f91808f08dfa..2fe7d512089e9e655b9d5a51491d03bb5ff53a73 100644 (file)
@@ -433,7 +433,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
        else
                Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker);
 
-       if((g_arena && numspawned < 2) || (g_ca && player_cnt < required_ca_players) && !inWarmupStage)
+       if((g_arena && numspawned < 2) || (g_ca && ca_players < required_ca_players) && !inWarmupStage)
                return;
 
        if (!g_minstagib)