]> git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/cl_client.qc
Scoreboard respawn info from my code in Xonotic
[voretournament/voretournament.git] / data / qcsrc / server / cl_client.qc
index b41bb1d06110f9aedd67ab6ba17801398635a783..aedf04dbb1acbc944352f4edabeb54cdd8debddf 100644 (file)
@@ -2222,6 +2222,7 @@ void SpectateCopy(entity spectatee) {
        self.stat_sbring1_clip = spectatee.stat_sbring1_clip;\r
        self.stat_sbring2_type = spectatee.stat_sbring2_type;\r
        self.stat_sbring2_clip = spectatee.stat_sbring2_clip;\r
+       self.stat_respawn_time = spectatee.stat_respawn_time;\r
        setorigin(self, spectatee.origin);\r
        setsize(self, spectatee.mins, spectatee.maxs);\r
        SetZoomState(spectatee.zoomstate);\r
@@ -2556,6 +2557,11 @@ void PlayerPreThink (void)
        self.stat_allow_oldnexbeam = cvar("g_allow_oldnexbeam");\r
        self.stat_leadlimit = cvar("leadlimit");\r
 \r
+       if(g_arena || (g_ca && !allowed_to_spawn))\r
+               self.stat_respawn_time = 0;\r
+       else\r
+               self.stat_respawn_time = self.death_time;\r
+\r
        if(frametime)\r
        {\r
                // physics frames: update anticheat stuff\r
@@ -2793,6 +2799,11 @@ void PlayerPreThink (void)
                                }\r
                                ShowRespawnCountdown();\r
                        }\r
+\r
+                       // if respawning, invert stat_respawn_time to indicate this, the client translates it\r
+                       if(self.deadflag == DEAD_RESPAWNING && self.stat_respawn_time > 0)\r
+                               self.stat_respawn_time *= -1;\r
+\r
                        return;\r
                }\r
 \r