Reduce var usage no kd tree

This commit is contained in:
ineedbots
2021-05-27 11:18:39 -06:00
parent 6c1b6218a6
commit 40d5b03bcf
5 changed files with 205 additions and 257 deletions

View File

@ -1594,47 +1594,6 @@ bots_watch_touch_obj(obj)
}
}
/*
Is bot near any of the given waypoints
*/
nearAnyOfWaypoints(dist, waypoints)
{
dist *= dist;
for (i = 0; i < waypoints.size; i++)
{
waypoint = waypoints[i];
if (DistanceSquared(waypoint.origin, self.origin) > dist)
continue;
return true;
}
return false;
}
/*
Returns nearest waypoint of waypoints
*/
getNearestWaypointOfWaypoints(waypoints)
{
answer = undefined;
closestDist = 2147483647;
for (i = 0; i < waypoints.size; i++)
{
waypoint = waypoints[i];
thisDist = DistanceSquared(self.origin, waypoint.origin);
if (isDefined(answer) && thisDist > closestDist)
continue;
answer = waypoint;
closestDist = thisDist;
}
return answer;
}
/*
Watches while the obj is being carried, calls 'goal' when complete
*/
@ -2056,16 +2015,7 @@ bot_think_camp()
if(randomInt(100) > self.pers["bots"]["behavior"]["camp"])
continue;
campSpots = [];
distSq = 1024*1024;
for (i = 0; i < level.waypointsCamp.size; i++)
{
if (DistanceSquared(self.origin, level.waypointsCamp[i].origin) > distSq)
continue;
campSpots[campSpots.size] = level.waypointsCamp[i];
}
campSpot = random(campSpots);
campSpot = getWaypointForIndex(random(self waypointsNear(getWaypointsOfType("camp"), 1024)));
if (!isDefined(campSpot))
continue;
@ -2404,18 +2354,9 @@ bot_use_tube_think()
loc = undefined;
if (!self nearAnyOfWaypoints(128, level.waypointsTube))
if (!self nearAnyOfWaypoints(128, getWaypointsOfType("tube")))
{
tubeWps = [];
distSq = 1024*1024;
for (i = 0; i < level.waypointsTube.size; i++)
{
if (DistanceSquared(self.origin, level.waypointsTube[i].origin) > distSq)
continue;
tubeWps[tubeWps.size] = level.waypointsTube[i];
}
tubeWp = random(tubeWps);
tubeWp = getWaypointForIndex(random(self waypointsNear(getWaypointsOfType("tube"), 1024)));
myEye = self GetEye();
if (!isDefined(tubeWp) || self HasScriptGoal() || self.bot_lock_goal)
@ -2453,7 +2394,7 @@ bot_use_tube_think()
}
else
{
tubeWp = self getNearestWaypointOfWaypoints(level.waypointsTube);
tubeWp = getWaypointForIndex(self getNearestWaypointOfWaypoints(getWaypointsOfType("tube")));
loc = tubeWp.origin + AnglesToForward(tubeWp.angles) * 2048;
}
@ -2534,18 +2475,9 @@ bot_use_equipment_think()
loc = undefined;
if (!self nearAnyOfWaypoints(128, level.waypointsClay))
if (!self nearAnyOfWaypoints(128, getWaypointsOfType("claymore")))
{
clayWps = [];
distSq = 1024*1024;
for (i = 0; i < level.waypointsClay.size; i++)
{
if (DistanceSquared(self.origin, level.waypointsClay[i].origin) > distSq)
continue;
clayWps[clayWps.size] = level.waypointsClay[i];
}
clayWp = random(clayWps);
clayWp = getWaypointForIndex(random(self waypointsNear(getWaypointsOfType("claymore"), 1024)));
if (!isDefined(clayWp) || self HasScriptGoal() || self.bot_lock_goal)
{
@ -2573,7 +2505,7 @@ bot_use_equipment_think()
}
else
{
clayWp = self getNearestWaypointOfWaypoints(level.waypointsClay);
clayWp = getWaypointForIndex(self getNearestWaypointOfWaypoints(getWaypointsOfType("claymore")));
loc = clayWp.origin + AnglesToForward(clayWp.angles) * 2048;
}
@ -2642,18 +2574,9 @@ bot_use_grenade_think()
loc = undefined;
if (!self nearAnyOfWaypoints(128, level.waypointsGren))
if (!self nearAnyOfWaypoints(128, getWaypointsOfType("grenade")))
{
nadeWps = [];
distSq = 1024*1024;
for (i = 0; i < level.waypointsGren.size; i++)
{
if (DistanceSquared(self.origin, level.waypointsGren[i].origin) > distSq)
continue;
nadeWps[nadeWps.size] = level.waypointsGren[i];
}
nadeWp = random(nadeWps);
nadeWp = getWaypointForIndex(random(self waypointsNear(getWaypointsOfType("grenade"), 1024)));
myEye = self GetEye();
if (!isDefined(nadeWp) || self HasScriptGoal() || self.bot_lock_goal)
@ -2691,7 +2614,7 @@ bot_use_grenade_think()
}
else
{
nadeWp = self getNearestWaypointOfWaypoints(level.waypointsGren);
nadeWp = getWaypointForIndex(self getNearestWaypointOfWaypoints(getWaypointsOfType("grenade")));
loc = nadeWp.origin + AnglesToForward(nadeWp.angles) * 2048;
}
@ -2895,18 +2818,9 @@ bot_jav_loc_think()
loc = undefined;
if (!self nearAnyOfWaypoints(128, level.waypointsJav))
if (!self nearAnyOfWaypoints(128, getWaypointsOfType("javelin")))
{
javWps = [];
distSq = 1024*1024;
for (i = 0; i < level.waypointsJav.size; i++)
{
if (DistanceSquared(self.origin, level.waypointsJav[i].origin) > distSq)
continue;
javWps[javWps.size] = level.waypointsJav[i];
}
javWp = random(javWps);
javWp = getWaypointForIndex(random(self waypointsNear(getWaypointsOfType("javelin"), 1024)));
if (!isDefined(javWp) || self HasScriptGoal() || self.bot_lock_goal)
{
@ -2942,7 +2856,7 @@ bot_jav_loc_think()
}
else
{
javWp = self getNearestWaypointOfWaypoints(level.waypointsJav);
javWp = getWaypointForIndex(self getNearestWaypointOfWaypoints(getWaypointsOfType("javelin")));
loc = javWp.jav_point;
}
@ -4055,18 +3969,9 @@ bot_killstreak_think()
if (self inLastStand())
continue;
if (lifeId == self.deaths && !self HasScriptGoal() && !self.bot_lock_goal && streakName != "sentry" && !self nearAnyOfWaypoints(128, level.waypointsCamp))
if (lifeId == self.deaths && !self HasScriptGoal() && !self.bot_lock_goal && streakName != "sentry" && !self nearAnyOfWaypoints(128, getWaypointsOfType("camp")))
{
campSpots = [];
distSq = 1024*1024;
for (i = 0; i < level.waypointsCamp.size; i++)
{
if (DistanceSquared(self.origin, level.waypointsCamp[i].origin) > distSq)
continue;
campSpots[campSpots.size] = level.waypointsCamp[i];
}
campSpot = random(campSpots);
campSpot = getWaypointForIndex(random(self waypointsNear(getWaypointsOfType("camp"), 1024)));
if (isDefined(campSpot))
{