r4077 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Aug 9 11:14:08 EDT 2008


Author: div0
Date: 2008-08-09 11:14:07 -0400 (Sat, 09 Aug 2008)
New Revision: 4077

Modified:
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/race.qc
   trunk/data/qcsrc/server/race.qh
Log:
when dead and respawning behind a checkpoint, also retract the checkpoint number (or stop the timer, when back at the finish line)


Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2008-08-09 14:57:47 UTC (rev 4076)
+++ trunk/data/qcsrc/server/cl_client.qc	2008-08-09 15:14:07 UTC (rev 4077)
@@ -702,9 +702,13 @@
 
 		if(g_race)
 			if(self.killcount != -666)
+			{
 				if(spot.target == "")
 					// let the player run without timing, if he did not spawn at a targetting spawnpoint
 					race_PreparePlayer();
+				else
+					race_RetractPlayer();
+			}
 
 		if(self.killcount == -666) {
 			PlayerScore_Clear(self);

Modified: trunk/data/qcsrc/server/race.qc
===================================================================
--- trunk/data/qcsrc/server/race.qc	2008-08-09 14:57:47 UTC (rev 4076)
+++ trunk/data/qcsrc/server/race.qc	2008-08-09 15:14:07 UTC (rev 4077)
@@ -244,9 +244,20 @@
 {
 	if(!g_race)
 		return;
+	print("prepare\n");
 	race_ClearTime(self);
 }
 
+void race_RetractPlayer()
+{
+	if(!g_race)
+		return;
+	print("retract\n");
+	self.race_checkpoint = race_PreviousCheckpoint(self.race_checkpoint);
+	if(self.race_checkpoint == 0)
+		race_ClearTime(self);
+}
+
 void spawnfunc_info_player_race (void)
 {
 	if(!g_race)

Modified: trunk/data/qcsrc/server/race.qh
===================================================================
--- trunk/data/qcsrc/server/race.qh	2008-08-09 14:57:47 UTC (rev 4076)
+++ trunk/data/qcsrc/server/race.qh	2008-08-09 15:14:07 UTC (rev 4077)
@@ -1,4 +1,5 @@
 void race_PreparePlayer();
+void race_RetractPlayer(); // go back by one checkpoint
 float race_teams;
 float race_spawns;
 float race_PreviousCheckpoint(float f);




More information about the nexuiz-commits mailing list