From: terencehill Date: Wed, 29 Jan 2014 17:53:16 +0000 (+0100) Subject: CA: ignore respawn settings (delay, forced respawn) as dead players can't respawn... X-Git-Tag: xonotic-v0.8.0~126^2~18 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=9f2347b8dc5e00d437a372209773fbe7e1e58a73;p=xonotic%2Fxonotic-data.pk3dir.git CA: ignore respawn settings (delay, forced respawn) as dead players can't respawn anyway. --- diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 0229d3ed5..f87cb8831 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -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)