]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
CA: ignore respawn settings (delay, forced respawn) as dead players can't respawn...
authorterencehill <piuntn@gmail.com>
Wed, 29 Jan 2014 17:53:16 +0000 (18:53 +0100)
committerterencehill <piuntn@gmail.com>
Wed, 29 Jan 2014 17:53:16 +0000 (18:53 +0100)
qcsrc/server/cl_player.qc

index 0229d3ed5734a9aebe9f77021c79e4d249d939bb..f87cb8831cc5903f763504e3d4f549745746457f 100644 (file)
@@ -620,35 +620,38 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
                self.flags &= ~FL_ONGROUND;
                // dying animation
                self.deadflag = DEAD_DYING;
-               // when to allow respawn
-               sdelay = 0;
-               waves = 0;
-               sdelay = cvar(strcat("g_", GetGametype(), "_respawn_delay"));
-               if(!sdelay)
+               if(!g_ca)
                {
-                       if(g_cts)
-                               sdelay = 0; // no respawn delay in CTS
+                       // when to allow respawn
+                       sdelay = 0;
+                       waves = 0;
+                       sdelay = cvar(strcat("g_", GetGametype(), "_respawn_delay"));
+                       if(!sdelay)
+                       {
+                               if(g_cts)
+                                       sdelay = 0; // no respawn delay in CTS
+                               else
+                                       sdelay = autocvar_g_respawn_delay;
+                       }
+                       waves = cvar(strcat("g_", GetGametype(), "_respawn_waves"));
+                       if(!waves)
+                               waves = autocvar_g_respawn_waves;
+                       if(waves)
+                               self.respawn_time = ceil((time + sdelay) / waves) * waves;
                        else
-                               sdelay = autocvar_g_respawn_delay;
-               }
-               waves = cvar(strcat("g_", GetGametype(), "_respawn_waves"));
-               if(!waves)
-                       waves = autocvar_g_respawn_waves;
-               if(waves)
-                       self.respawn_time = ceil((time + sdelay) / waves) * waves;
-               else
-                       self.respawn_time = time + sdelay;
-               if(autocvar_g_respawn_delay_max > sdelay)
-                       self.respawn_time_max = time + autocvar_g_respawn_delay_max;
-               else
-                       self.respawn_time_max = self.respawn_time;
-               if((sdelay + waves >= 5.0) && (self.respawn_time - time > 1.75))
-                       self.respawn_countdown = 10; // first number to count down from is 10
-               else
-                       self.respawn_countdown = -1; // do not count down
+                               self.respawn_time = time + sdelay;
+                       if(autocvar_g_respawn_delay_max > sdelay)
+                               self.respawn_time_max = time + autocvar_g_respawn_delay_max;
+                       else
+                               self.respawn_time_max = self.respawn_time;
+                       if((sdelay + waves >= 5.0) && (self.respawn_time - time > 1.75))
+                               self.respawn_countdown = 10; // first number to count down from is 10
+                       else
+                               self.respawn_countdown = -1; // do not count down
 
-               if(g_cts || autocvar_g_forced_respawn)
-                       self.respawn_flags = self.respawn_flags | RESPAWN_FORCE;
+                       if(g_cts || autocvar_g_forced_respawn)
+                               self.respawn_flags = self.respawn_flags | RESPAWN_FORCE;
+               }
 
                self.death_time = time;
                if (random() < 0.5)