]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cl_client.qc
Only show when the player is allowed to spawn, not during rounds in Arena or Clan...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cl_client.qc
index 9d6bcf798d8b3026e6fb542731491923ba99b715..22c2f0d5a1249af5919d108e8f055fb8937cc6dc 100644 (file)
@@ -2167,6 +2167,7 @@ void SpectateCopy(entity spectatee) {
        self.dmg_inflictor = spectatee.dmg_inflictor;
        self.v_angle = spectatee.v_angle;
        self.angles = spectatee.v_angle;
+       self.stat_respawn_time = spectatee.stat_respawn_time;
        if(!self.BUTTON_USE)
                self.fixangle = TRUE;
        setorigin(self, spectatee.origin);
@@ -2558,6 +2559,11 @@ void PlayerPreThink (void)
        self.stat_allow_oldnexbeam = autocvar_g_allow_oldnexbeam;
        self.stat_leadlimit = autocvar_leadlimit;
 
+       if(allowed_to_spawn)
+               self.stat_respawn_time = self.respawn_time;
+       else
+               self.stat_respawn_time = 0;
+
        if(frametime)
        {
                // physics frames: update anticheat stuff
@@ -2730,6 +2736,11 @@ void PlayerPreThink (void)
                                }
                                ShowRespawnCountdown();
                        }
+
+                       // if respawning, invert stat_respawn_time to indicate this, the client translates it
+                       if(self.deadflag == DEAD_RESPAWNING && self.stat_respawn_time > 0)
+                               self.stat_respawn_time *= -1;
+
                        return;
                }
                // FIXME from now on self.deadflag is always 0 (and self.health is never < 1)