r2784 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Jul 7 08:23:11 EDT 2007
Author: div0
Date: 2007-07-07 08:23:11 -0400 (Sat, 07 Jul 2007)
New Revision: 2784
Modified:
trunk/data/qcsrc/server/cl_impulse.qc
Log:
remove teleport from impulse 99 again, instead make impulse 77 that teleports to personal waypoint, drops and returns the carried flag and also restores the view angle to the one of a preceding impulse 30.
Modified: trunk/data/qcsrc/server/cl_impulse.qc
===================================================================
--- trunk/data/qcsrc/server/cl_impulse.qc 2007-07-06 21:04:37 UTC (rev 2783)
+++ trunk/data/qcsrc/server/cl_impulse.qc 2007-07-07 12:23:11 UTC (rev 2784)
@@ -1,3 +1,5 @@
+.vector personal_v_angle; // view angles to restore on impulse 77
+
void CopyBody(float keepvelocity);
// changes by LordHavoc on 03/30/04
@@ -94,16 +96,19 @@
if(imp == 30)
{
WaypointSprite_DeployPersonal("waypoint", self.origin);
+ self.personal_v_angle = self.v_angle;
sprint(self, "personal waypoint spawned at location\n");
}
else if(imp == 31)
{
WaypointSprite_DeployPersonal("waypoint", self.cursor_trace_endpos);
+ self.personal_v_angle = self.v_angle;
sprint(self, "personal waypoint spawned at crosshair\n");
}
else if(imp == 32 && vlen(self.death_origin))
{
WaypointSprite_DeployPersonal("waypoint", self.death_origin);
+ self.personal_v_angle = self.v_angle;
sprint(self, "personal waypoint spawned at death location\n");
}
else if(imp == 33 && self.deadflag == DEAD_NO && teams_matter)
@@ -180,16 +185,34 @@
}
else if(self.deadflag == DEAD_NO)
{
- if(imp == 99)
+ if(imp == 77)
{
if(self.waypointsprite_deployed_personal)
{
tracebox(self.waypointsprite_deployed_personal.origin, self.mins, self.maxs, self.waypointsprite_deployed_personal.origin, MOVE_WORLDONLY, self);
if(trace_startsolid)
- sprint(self, "Cannot move there, cheater\n");
+ {
+ sprint(self, "Cannot move there, cheater - only waypoints set using g_waypointsprite_personal work\n");
+ }
else
+ {
+ // Abort speedrun, teleport back
setorigin(self, self.waypointsprite_deployed_personal.origin);
+ self.velocity = '0 0 0';
+ self.angles = self.personal_v_angle;
+ self.fixangle = TRUE;
+ if(self.flagcarried)
+ {
+ bprint("The ", self.flagcarried.netname, " was returned to base by its carrier\n");
+ ReturnFlag(self.flagcarried);
+ }
+ }
}
+ else
+ sprint(self, "No waypoint set, cheater (use g_waypointsprite_personal to set one)\n");
+ }
+ else if(imp == 99)
+ {
self.items |= (IT_LASER | IT_UZI | IT_SHOTGUN | IT_GRENADE_LAUNCHER | IT_ELECTRO | IT_CRYLINK | IT_NEX | IT_HAGAR | IT_ROCKET_LAUNCHER);
self.ammo_shells = cvar("g_pickup_shells_max");
self.ammo_nails = cvar("g_pickup_nails_max");
More information about the nexuiz-commits
mailing list