Fixed bots unable to search bomp defuse point, cause search radius is too small for buckets.
Fixed uninitialized variable in team counting.
This commit is contained in:
parent
c70e3bd756
commit
602d2ddd8c
3 changed files with 5 additions and 5 deletions
|
|
@ -2910,7 +2910,7 @@ void Bot::frame (void) {
|
||||||
m_numFriendsLeft = numFriendsNear (pev->origin, 99999.0f);
|
m_numFriendsLeft = numFriendsNear (pev->origin, 99999.0f);
|
||||||
m_numEnemiesLeft = numEnemiesNear (pev->origin, 99999.0f);
|
m_numEnemiesLeft = numEnemiesNear (pev->origin, 99999.0f);
|
||||||
|
|
||||||
if (g_bombPlanted && m_team == TEAM_COUNTER) {
|
if (g_bombPlanted && m_team == TEAM_COUNTER && m_notKilled) {
|
||||||
const Vector &bombPosition = waypoints.getBombPos ();
|
const Vector &bombPosition = waypoints.getBombPos ();
|
||||||
|
|
||||||
if (!m_hasProgressBar && taskId () != TASK_ESCAPEFROMBOMB && (pev->origin - bombPosition).lengthSq () < cr::square (1540.0f) && m_moveSpeed < pev->maxspeed && !isBombDefusing (bombPosition)) {
|
if (!m_hasProgressBar && taskId () != TASK_ESCAPEFROMBOMB && (pev->origin - bombPosition).lengthSq () < cr::square (1540.0f) && m_moveSpeed < pev->maxspeed && !isBombDefusing (bombPosition)) {
|
||||||
|
|
|
||||||
|
|
@ -423,7 +423,7 @@ void BotManager::maintainQuota (void) {
|
||||||
createRandom ();
|
createRandom ();
|
||||||
}
|
}
|
||||||
else if (desiredBotCount < botsInGame) {
|
else if (desiredBotCount < botsInGame) {
|
||||||
int ts, cts = 0;
|
int ts = 0, cts = 0;
|
||||||
countTeamPlayers (ts, cts);
|
countTeamPlayers (ts, cts);
|
||||||
|
|
||||||
if (ts > cts) {
|
if (ts > cts) {
|
||||||
|
|
|
||||||
|
|
@ -1917,15 +1917,15 @@ int Bot::getBombPoint (void) {
|
||||||
|
|
||||||
if (!audible.empty ()) {
|
if (!audible.empty ()) {
|
||||||
m_bombSearchOverridden = true;
|
m_bombSearchOverridden = true;
|
||||||
return waypoints.getNearest (audible, 80.0f);
|
return waypoints.getNearest (audible, 240.0f);
|
||||||
}
|
}
|
||||||
else if (goals.empty ()) {
|
else if (goals.empty ()) {
|
||||||
return waypoints.getNearest (bomb, 80.0f, FLAG_GOAL); // reliability check
|
return waypoints.getNearest (bomb, 240.0f, FLAG_GOAL); // reliability check
|
||||||
}
|
}
|
||||||
|
|
||||||
// take the nearest to bomb waypoints instead of goal if close enough
|
// take the nearest to bomb waypoints instead of goal if close enough
|
||||||
else if ((pev->origin - bomb).lengthSq () < cr::square (512.0f)) {
|
else if ((pev->origin - bomb).lengthSq () < cr::square (512.0f)) {
|
||||||
int waypoint = waypoints.getNearest (bomb, 80.0f);
|
int waypoint = waypoints.getNearest (bomb, 240.0f);
|
||||||
m_bombSearchOverridden = true;
|
m_bombSearchOverridden = true;
|
||||||
|
|
||||||
if (waypoint != INVALID_WAYPOINT_INDEX) {
|
if (waypoint != INVALID_WAYPOINT_INDEX) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue