r4352 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Sep 5 05:52:52 EDT 2008
Author: div0
Date: 2008-09-05 05:52:52 -0400 (Fri, 05 Sep 2008)
New Revision: 4352
Modified:
trunk/data/qcsrc/server/portals.qc
trunk/data/qcsrc/server/race.qc
Log:
fix more bugs with race + portals
Modified: trunk/data/qcsrc/server/portals.qc
===================================================================
--- trunk/data/qcsrc/server/portals.qc 2008-09-05 09:03:44 UTC (rev 4351)
+++ trunk/data/qcsrc/server/portals.qc 2008-09-05 09:52:52 UTC (rev 4352)
@@ -184,6 +184,10 @@
self.portal_activatetime = time + 0.1;
return;
}
+ if(other != self.owner)
+ if(other.classname == "player")
+ if(IS_INDEPENDENT_PLAYER(other) || IS_INDEPENDENT_PLAYER(self.owner))
+ return; // cannot go through someone else's portal
fixedmakevectors(self.angles);
if((other.origin - self.origin) * v_forward < 0)
return;
@@ -346,6 +350,9 @@
if(time < self.portal_activatetime)
if(e == o)
continue;
+ if(e != o)
+ if(IS_INDEPENDENT_PLAYER(e) || IS_INDEPENDENT_PLAYER(o))
+ continue; // cannot go through someone else's portal
// if e would hit the portal in a frame...
// already teleport him
tracebox(e.origin, e.mins, e.maxs, e.origin + e.velocity * 2 * frametime, MOVE_NORMAL, e);
Modified: trunk/data/qcsrc/server/race.qc
===================================================================
--- trunk/data/qcsrc/server/race.qc 2008-09-05 09:03:44 UTC (rev 4351)
+++ trunk/data/qcsrc/server/race.qc 2008-09-05 09:52:52 UTC (rev 4352)
@@ -339,7 +339,7 @@
oldself = self;
self = other.porto_current;
W_Porto_Fail(1);
- self = other;
+ self = oldself;
}
if(other.race_checkpoint == -1 || other.race_checkpoint == self.race_checkpoint)
More information about the nexuiz-commits
mailing list