Improved bot aimming

This commit is contained in:
ineedbots 2021-05-19 15:44:50 -06:00
parent e3253d291a
commit 8d108b0fc5

View File

@ -1295,7 +1295,7 @@ aim()
if(!nadeAimOffset && conedot > 0.999 && lengthsquared(aimoffset) < 0.05) if(!nadeAimOffset && conedot > 0.999 && lengthsquared(aimoffset) < 0.05)
self thread bot_lookat(aimpos, 0.05); self thread bot_lookat(aimpos, 0.05);
else else
self thread bot_lookat(aimpos, aimspeed); self thread bot_lookat(aimpos, aimspeed, target getVelocity());
} }
else else
{ {
@ -2195,12 +2195,23 @@ bot_lookat(pos, time)
if (!isDefined(pos)) if (!isDefined(pos))
return; return;
steps = time / 0.05; if (!isDefined(time))
if (!isDefined(steps) || steps <= 0) time = 0.05;
if (!isDefined(vel))
vel = (0, 0, 0);
steps = int(time * 20);
if (steps < 1)
steps = 1; steps = 1;
myEye = self GetEyePos(); // get our eye pos
myEye += (self getVelocity() * 0.05) * (steps - 1); // account for our velocity
pos += (vel * 0.05) * (steps - 1); // add the velocity vector
myAngle=self getPlayerAngles(); myAngle=self getPlayerAngles();
angles = VectorToAngles( (pos - self GetEyePos()) - anglesToForward(myAngle) ); angles = VectorToAngles( (pos - myEye) - anglesToForward(myAngle) );
X=(angles[0]-myAngle[0]); X=(angles[0]-myAngle[0]);
while(X > 170.0) while(X > 170.0)