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

@ -57,6 +57,10 @@ Event Chatter_WonTheRound = good_job_team, nice_work_team, way_to_be_team, well_
Event Chatter_QuicklyWonTheRound = i_am_dangerous, do_not_mess_with_me, we_owned_them, they_never_knew_what_hit_them, thats_the_way_this_is_done, and_thats_how_its_done, owned, yesss, yesss2, yea_baby, whoo, whoo2, oh_yea, oh_yea2
Event Chatter_ScaredEmotion = whoa, uh_oh, oh_no, yikes, oh, oh_boy, oh_boy2, aah
Event Chatter_HeardEnemy = i_hear_them, hang_on_i_heard_something, i_hear_something, i_heard_them, i_heard_something_over_there
Event Chatter_SpottedOneEnemy = one_guy
Event Chatter_SpottedTwoEnemies = two_of_them
Event Chatter_SpottedThreeEnemies = three, three_of_them
Event Chatter_TooManyEnemies = a_bunch_of_them, theyre_all_over_the_place2, theyre_everywhere2, theres_too_many_of_them, theres_too_many, too_many2, the_actions_hot_here, its_a_party
Event Chatter_SniperWarning = sniper, sniper2, watch_it_theres_a_sniper
Event Chatter_SniperKilled = got_the_sniper, got_the_sniper2, sniper_down, took_out_the_sniper, the_sniper_is_dead
Event Chatter_VIPSpotted = i_see_our_target, target_spotted, target_acquired

View file

@ -195,6 +195,10 @@ CR_DECLARE_SCOPED_ENUM (Chatter,
WonTheRound,
ScaredEmotion,
HeardTheEnemy,
SpottedOneEnemy,
SpottedTwoEnemies,
SpottedThreeEnemies,
TooManyEnemies,
SniperWarning,
SniperKilled,
VIPSpotted,

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:
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,8 +399,26 @@ bool Bot::lookupEnemies () {
}
else {
if (m_seeEnemyTime + 3.0f < game.time () && (m_hasC4 || m_hasHostage || !game.isNullEntity (m_targetEntity))) {
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...
if (cv_whose_your_daddy) {

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 },