From 7e2e199696e2757622564f413ec98b52eeed9757 Mon Sep 17 00:00:00 2001 From: div0 Date: Sat, 11 Jul 2009 15:27:00 +0000 Subject: [PATCH] more penalty time fixes git-svn-id: svn://svn.icculus.org/nexuiz/trunk@7192 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/client/Main.qc | 1 - data/qcsrc/server/race.qc | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/data/qcsrc/client/Main.qc b/data/qcsrc/client/Main.qc index c4299b4c1..84ac0d0d4 100644 --- a/data/qcsrc/client/Main.qc +++ b/data/qcsrc/client/Main.qc @@ -920,7 +920,6 @@ void Net_ReadRace() if(race_checkpoint == 0 || race_checkpoint == 254) { - race_penaltytime = 0; race_penaltyaccumulator = 0; race_laptime = time; // valid } diff --git a/data/qcsrc/server/race.qc b/data/qcsrc/server/race.qc index 7cd64a565..a38d07525 100644 --- a/data/qcsrc/server/race.qc +++ b/data/qcsrc/server/race.qc @@ -363,6 +363,18 @@ void checkpoint_passed() if(other.race_checkpoint == -1 || other.race_checkpoint == self.race_checkpoint) { + if(self.race_penalty) + { + if(other.race_lastpenalty != self) + { + other.race_lastpenalty = self; + race_ImposePenaltyTime(other, self.race_penalty, self.race_penalty_reason); + } + } + + if(other.race_penalty) + return; + /* * Trigger targets */ @@ -375,8 +387,6 @@ void checkpoint_passed() self.message = oldmsg; } - race_ImposePenaltyTime(other, self.race_penalty, self.race_penalty_reason); - other.race_checkpoint = race_NextCheckpoint(self.race_checkpoint); race_SendTime(other, self.race_checkpoint, time - other.race_laptime, !!other.race_laptime); -- 2.39.2