[nexuiz-commits] r6802 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat May 30 06:23:14 EDT 2009


Author: div0
Date: 2009-05-30 06:23:14 -0400 (Sat, 30 May 2009)
New Revision: 6802

Modified:
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/w_rocketlauncher.qc
Log:
rocket guiding: no revenge from the grave


Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2009-05-30 10:17:24 UTC (rev 6801)
+++ trunk/data/qcsrc/server/cl_client.qc	2009-05-30 10:23:14 UTC (rev 6802)
@@ -852,6 +852,7 @@
 		// don't reset back to last position, even if new position is stuck in solid
 		self.oldorigin = self.origin;
 		self.prevorigin = self.origin;
+		self.lastrocket = world; // stop rocket guiding, no revenge from the grave!
 
 		if(g_arena)
 		{

Modified: trunk/data/qcsrc/server/w_rocketlauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-05-30 10:17:24 UTC (rev 6801)
+++ trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-05-30 10:23:14 UTC (rev 6802)
@@ -198,24 +198,24 @@
 		}
 		else
 		{
-			if(self == self.owner.lastrocket && !self.owner.rl_release && cvar("g_balance_rocketlauncher_guiderate"))
+			if(self == self.owner.lastrocket)
+			if(!self.owner.rl_release)
+			if(cvar("g_balance_rocketlauncher_guiderate"))
+			if(time > self.pushltime)
 			{
-				if(time > self.pushltime)
-				{
-					velspeed = vlen(self.velocity);
+				velspeed = vlen(self.velocity);
 
-					makevectors(self.owner.v_angle);
-					desireddir = v_forward;
-					desiredorigin = self.owner.origin + self.owner.view_ofs;
-					olddir = normalize(self.velocity);
+				makevectors(self.owner.v_angle);
+				desireddir = v_forward;
+				desiredorigin = self.owner.origin + self.owner.view_ofs;
+				olddir = normalize(self.velocity);
 
-					// now it gets tricky... we want to move like some curve to approximate the target direction
-					// but we are limiting the rate at which we can turn!
-					goal = desiredorigin + ((self.origin - desiredorigin) * desireddir + cvar("g_balance_rocketlauncher_guidegoal")) * desireddir;
-					newdir = rocket_steerto(olddir, normalize(goal - self.origin), cos(cvar("g_balance_rocketlauncher_guiderate") * frametime * PI / 180));
+				// now it gets tricky... we want to move like some curve to approximate the target direction
+				// but we are limiting the rate at which we can turn!
+				goal = desiredorigin + ((self.origin - desiredorigin) * desireddir + cvar("g_balance_rocketlauncher_guidegoal")) * desireddir;
+				newdir = rocket_steerto(olddir, normalize(goal - self.origin), cos(cvar("g_balance_rocketlauncher_guiderate") * frametime * PI / 180));
 
-					self.velocity = newdir * velspeed;
-				}
+				self.velocity = newdir * velspeed;
 			}
 
 			if(self.rl_detonate_later)



More information about the nexuiz-commits mailing list