[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