[nexuiz-commits] r7453 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Aug 17 08:08:30 EDT 2009
Author: mand1nga
Date: 2009-08-17 08:08:30 -0400 (Mon, 17 Aug 2009)
New Revision: 7453
Modified:
trunk/data/qcsrc/server/havocbot.qc
Log:
Better landing
Modified: trunk/data/qcsrc/server/havocbot.qc
===================================================================
--- trunk/data/qcsrc/server/havocbot.qc 2009-08-16 19:22:40 UTC (rev 7452)
+++ trunk/data/qcsrc/server/havocbot.qc 2009-08-17 12:08:30 UTC (rev 7453)
@@ -334,14 +334,20 @@
// Landing
if(self.aistatus & AI_STATUS_JETPACK_LANDING)
{
- // TODO: more accurate landing (with optimum fuel usage)
- vector p = self.origin - self.goalcurrent.origin; p_z = 0;
- if( vlen(p) < max(cvar("g_jetpack_maxspeed_side"), vlen(self.velocity)))
+ // Calculate brake distance in xy
+ float db, v, d;
+ vector dxy;
+
+ dxy = self.origin - self.goalcurrent.origin; dxy_z = 0;
+ d = vlen(dxy);
+ v = vlen(self.velocity - self.velocity_z * '0 0 1');
+ db = (pow(v,2) / (cvar("g_jetpack_acceleration_side") * 2)) + 100;
+ // dprint("distance ", ftos(ceil(d)), " velocity ", ftos(ceil(v)), " brake at ", ftos(ceil(db)), "\n");
+ if(d < db || d < 500)
{
// Brake
- if(fabs(self.velocity_x)>maxspeed)
+ if(fabs(self.velocity_x)>maxspeed*0.3)
{
- self.BUTTON_HOOK = TRUE;
self.movement_x = dir * v_forward * -maxspeed;
return;
}
More information about the nexuiz-commits
mailing list