add: report of the enemies' count

This commit is contained in:
Владислав Сухов 2024-05-03 17:23:36 +00:00
commit 7ad54c55be
5 changed files with 59 additions and 2 deletions

View file

@ -2446,6 +2446,10 @@ void Bot::checkRadioQueue () {
case Radio::EnemySpotted:
case Radio::NeedBackup:
case Chatter::SpottedOneEnemy:
case Chatter::SpottedTwoEnemies:
case Chatter::SpottedThreeEnemies:
case Chatter::TooManyEnemies:
case Chatter::ScaredEmotion:
case Chatter::PinnedDown:
if (((game.isNullEntity (m_enemy) && seesEntity (m_radioEntity->v.origin)) || distanceSq < cr::sqrf (2048.0f) || !m_moveToC4)
@ -2686,7 +2690,30 @@ void Bot::checkRadioQueue () {
break;
case Task::Attack:
pushChatterMessage (Chatter::InCombat);
if (rg.chance (50)) {
pushChatterMessage (Chatter::InCombat);
}
else {
if (cv_radio_mode.as <int> () == 2) {
switch (numEnemiesNear (pev->origin, 384.0f)) {
case 1:
pushChatterMessage (Chatter::SpottedOneEnemy);
break;
case 2:
pushChatterMessage (Chatter::SpottedTwoEnemies);
break;
case 3:
pushChatterMessage (Chatter::SpottedThreeEnemies);
break;
default:
pushChatterMessage (Chatter::TooManyEnemies);
break;
}
}
else if (cv_radio_mode.as <int> () == 1) {
pushRadioMessage (Radio::EnemySpotted);
}
}
break;
case Task::Hide:

View file

@ -399,7 +399,25 @@ bool Bot::lookupEnemies () {
}
else {
if (m_seeEnemyTime + 3.0f < game.time () && (m_hasC4 || m_hasHostage || !game.isNullEntity (m_targetEntity))) {
pushRadioMessage (Radio::EnemySpotted);
if (cv_radio_mode.as <int> () == 2) {
switch (numEnemiesNear (pev->origin, 384.0f)) {
case 1:
pushChatterMessage (Chatter::SpottedOneEnemy);
break;
case 2:
pushChatterMessage (Chatter::SpottedTwoEnemies);
break;
case 3:
pushChatterMessage (Chatter::SpottedThreeEnemies);
break;
default:
pushChatterMessage (Chatter::TooManyEnemies);
break;
}
}
else if (cv_radio_mode.as <int> () == 1) {
pushRadioMessage (Radio::EnemySpotted);
}
}
m_targetEntity = nullptr; // stop following when we see an enemy...

View file

@ -297,6 +297,10 @@ void BotConfig::loadChatterConfig () {
{ "Chatter_FoundC4", Chatter::FoundC4, 5.5f },
{ "Chatter_ScaredEmotion", Chatter::ScaredEmotion, 6.1f },
{ "Chatter_HeardEnemy", Chatter::HeardTheEnemy, 12.8f },
{ "Chatter_SpottedOneEnemy", Chatter::SpottedOneEnemy, 4.0f },
{ "Chatter_SpottedTwoEnemies", Chatter::SpottedTwoEnemies, 4.0f },
{ "Chatter_SpottedThreeEnemies", Chatter::SpottedThreeEnemies, 4.0f },
{ "Chatter_TooManyEnemies", Chatter::TooManyEnemies, 4.0f },
{ "Chatter_SniperWarning", Chatter::SniperWarning, 14.3f },
{ "Chatter_SniperKilled", Chatter::SniperKilled, 12.1f },
{ "Chatter_OneEnemyLeft", Chatter::OneEnemyLeft, 12.5f },