From 5c1facb54b6968de3b1a62d0d46c05bfcfd77e34 Mon Sep 17 00:00:00 2001 From: jeefo Date: Tue, 30 Oct 2018 16:01:52 +0300 Subject: [PATCH] Tweaked chatter timers --- source/basecode.cpp | 27 +++++++++++++++++++-------- source/interface.cpp | 34 +++++++++++++++++----------------- 2 files changed, 36 insertions(+), 25 deletions(-) diff --git a/source/basecode.cpp b/source/basecode.cpp index 8514c7d..6f306cf 100644 --- a/source/basecode.cpp +++ b/source/basecode.cpp @@ -768,7 +768,7 @@ void Bot::processPickups (void) { return; } - if (rng.getInt (0, 100) < 90) { + if (rng.getInt (0, 100) < 70) { pushChatterMessage (CHATTER_FOUND_BOMB_PLACE); } @@ -1837,7 +1837,7 @@ void Bot::setConditions (void) { if (rng.getInt (1, 100) < 10) { pushRadioMessage (RADIO_ENEMY_DOWN); } - else { + else if (rng.getInt (1, 100) < 60) { if ((m_lastVictim->v.weapons & (1 << WEAPON_AWP)) || (m_lastVictim->v.weapons & (1 << WEAPON_SCOUT)) || (m_lastVictim->v.weapons & (1 << WEAPON_G3SG1)) || (m_lastVictim->v.weapons & (1 << WEAPON_SG550))) { pushChatterMessage (CHATTER_SNIPER_KILLED); } @@ -3003,12 +3003,13 @@ void Bot::normal_ (void) { task ()->data = INVALID_WAYPOINT_INDEX; } - if (!g_bombPlanted && m_currentWaypointIndex != INVALID_WAYPOINT_INDEX && (m_currentPath->flags & FLAG_GOAL) && rng.getInt (0, 100) < 50 && numEnemiesNear (pev->origin, 650.0f) == 0) { - pushRadioMessage (RADIO_SECTOR_CLEAR); - } - // reached the destination (goal) waypoint? if (processNavigation ()) { + + // if we're reached the goal, and there is not enemies, notify the team + if (!g_bombPlanted && m_currentWaypointIndex != INVALID_WAYPOINT_INDEX && (m_currentPath->flags & FLAG_GOAL) && rng.getInt (0, 100) < 30 && numEnemiesNear (pev->origin, 650.0f) == 0) { + pushRadioMessage (RADIO_SECTOR_CLEAR); + } completeTask (); m_prevGoalIndex = INVALID_WAYPOINT_INDEX; @@ -3185,9 +3186,19 @@ void Bot::normal_ (void) { } // bot hasn't seen anything in a long time and is asking his teammates to report in - if (m_seeEnemyTime + rng.getFloat (45.0f, 80.0f) < engine.timebase () && rng.getInt (0, 100) < 30 && g_timeRoundStart + 20.0f < engine.timebase () && m_askCheckTime < engine.timebase ()) { - m_askCheckTime = engine.timebase () + rng.getFloat (45.0f, 80.0f); + if (m_seeEnemyTime + rng.getFloat (45.0f, 80.0f) < engine.timebase () && g_lastRadio[m_team] != RADIO_REPORT_TEAM && rng.getInt (0, 100) < 30 && g_timeRoundStart + 20.0f < engine.timebase () && m_askCheckTime < engine.timebase () && numFriendsNear (pev->origin, 1024.0f) == 0) { pushRadioMessage (RADIO_REPORT_TEAM); + + m_askCheckTime = engine.timebase () + rng.getFloat (45.0f, 80.0f); + + // make sure everyone else will not ask next few moments + for (int i = 0; i < engine.maxClients (); i++) { + auto bot = bots.getBot (i); + + if (bot && bot->m_notKilled) { + bot->m_askCheckTime = engine.timebase () + rng.getFloat (5.0f, 10.0f); + } + } } } diff --git a/source/interface.cpp b/source/interface.cpp index 56e9ae8..4296b56 100644 --- a/source/interface.cpp +++ b/source/interface.cpp @@ -759,10 +759,10 @@ void execBotConfigs (bool onlyMain) { } chatterEventMap[] = { { "Radio_CoverMe", RADIO_COVER_ME, MAX_CHATTER_REPEAT }, { "Radio_YouTakePoint", RADIO_YOU_TAKE_THE_POINT, MAX_CHATTER_REPEAT }, - { "Radio_HoldPosition", RADIO_HOLD_THIS_POSITION, MAX_CHATTER_REPEAT }, - { "Radio_RegroupTeam", RADIO_REGROUP_TEAM, MAX_CHATTER_REPEAT }, - { "Radio_FollowMe", RADIO_FOLLOW_ME, MAX_CHATTER_REPEAT }, - { "Radio_TakingFire", RADIO_TAKING_FIRE, MAX_CHATTER_REPEAT }, + { "Radio_HoldPosition", RADIO_HOLD_THIS_POSITION, 10.0f }, + { "Radio_RegroupTeam", RADIO_REGROUP_TEAM, 10.0f }, + { "Radio_FollowMe", RADIO_FOLLOW_ME, 15.0f }, + { "Radio_TakingFire", RADIO_TAKING_FIRE, 5.0f }, { "Radio_GoGoGo", RADIO_GO_GO_GO, MAX_CHATTER_REPEAT }, { "Radio_Fallback", RADIO_TEAM_FALLBACK, MAX_CHATTER_REPEAT }, { "Radio_StickTogether", RADIO_STICK_TOGETHER_TEAM, MAX_CHATTER_REPEAT }, @@ -770,30 +770,30 @@ void execBotConfigs (bool onlyMain) { { "Radio_StormTheFront", RADIO_STORM_THE_FRONT, MAX_CHATTER_REPEAT }, { "Radio_ReportTeam", RADIO_REPORT_TEAM, MAX_CHATTER_REPEAT }, { "Radio_Affirmative", RADIO_AFFIRMATIVE, MAX_CHATTER_REPEAT }, - { "Radio_EnemySpotted", RADIO_ENEMY_SPOTTED, MAX_CHATTER_REPEAT }, + { "Radio_EnemySpotted", RADIO_ENEMY_SPOTTED, 4.0f }, { "Radio_NeedBackup", RADIO_NEED_BACKUP, MAX_CHATTER_REPEAT }, - { "Radio_SectorClear", RADIO_SECTOR_CLEAR, MAX_CHATTER_REPEAT }, - { "Radio_InPosition", RADIO_IN_POSITION, MAX_CHATTER_REPEAT }, + { "Radio_SectorClear", RADIO_SECTOR_CLEAR, 10.0f }, + { "Radio_InPosition", RADIO_IN_POSITION, 10.0f }, { "Radio_ReportingIn", RADIO_REPORTING_IN, MAX_CHATTER_REPEAT }, { "Radio_ShesGonnaBlow", RADIO_SHES_GONNA_BLOW, MAX_CHATTER_REPEAT }, { "Radio_Negative", RADIO_NEGATIVE, MAX_CHATTER_REPEAT }, - { "Radio_EnemyDown", RADIO_ENEMY_DOWN, MAX_CHATTER_REPEAT }, + { "Radio_EnemyDown", RADIO_ENEMY_DOWN, 10.0f }, { "Chatter_DiePain", CHATTER_PAIN_DIED, MAX_CHATTER_REPEAT }, - { "Chatter_GoingToPlantBomb", CHATTER_GOING_TO_PLANT_BOMB, MAX_CHATTER_REPEAT }, + { "Chatter_GoingToPlantBomb", CHATTER_GOING_TO_PLANT_BOMB, 5.0f }, { "Chatter_GoingToGuardVIPSafety", CHATTER_GOING_TO_GUARD_VIP_SAFETY, MAX_CHATTER_REPEAT }, { "Chatter_RescuingHostages", CHATTER_RESCUING_HOSTAGES, MAX_CHATTER_REPEAT }, { "Chatter_TeamKill", CHATTER_TEAM_ATTACK, MAX_CHATTER_REPEAT }, { "Chatter_GuardingVipSafety", CHATTER_GUARDING_VIP_SAFETY, MAX_CHATTER_REPEAT }, - { "Chatter_PlantingC4", CHATTER_PLANTING_BOMB, MAX_CHATTER_REPEAT }, + { "Chatter_PlantingC4", CHATTER_PLANTING_BOMB, 10.0f }, { "Chatter_InCombat", CHATTER_IN_COMBAT, MAX_CHATTER_REPEAT }, { "Chatter_SeeksEnemy", CHATTER_SEEK_ENEMY, MAX_CHATTER_REPEAT }, { "Chatter_Nothing", CHATTER_NOTHING, MAX_CHATTER_REPEAT }, - { "Chatter_EnemyDown", CHATTER_ENEMY_DOWN, MAX_CHATTER_REPEAT }, + { "Chatter_EnemyDown", CHATTER_ENEMY_DOWN, 10.0f }, { "Chatter_UseHostage", CHATTER_USING_HOSTAGES, MAX_CHATTER_REPEAT }, { "Chatter_WonTheRound", CHATTER_WON_THE_ROUND, MAX_CHATTER_REPEAT }, { "Chatter_QuicklyWonTheRound", CHATTER_QUICK_WON_ROUND, MAX_CHATTER_REPEAT }, { "Chatter_NoEnemiesLeft", CHATTER_NO_ENEMIES_LEFT, MAX_CHATTER_REPEAT }, - { "Chatter_FoundBombPlace", CHATTER_FOUND_BOMB_PLACE, MAX_CHATTER_REPEAT }, + { "Chatter_FoundBombPlace", CHATTER_FOUND_BOMB_PLACE, 15.0f }, { "Chatter_WhereIsTheBomb", CHATTER_WHERE_IS_THE_BOMB, MAX_CHATTER_REPEAT }, { "Chatter_DefendingBombSite", CHATTER_DEFENDING_BOMBSITE, MAX_CHATTER_REPEAT }, { "Chatter_BarelyDefused", CHATTER_BARELY_DEFUSED, MAX_CHATTER_REPEAT }, @@ -809,13 +809,13 @@ void execBotConfigs (bool onlyMain) { { "Chatter_ScaredEmotion", CHATTER_SCARED_EMOTE, 6.1f }, { "Chatter_HeardEnemy", CHATTER_SCARED_EMOTE, 12.8f }, { "Chatter_SniperWarning", CHATTER_SNIPER_WARNING, 14.3f }, - { "Chatter_SniperKilled", CHATTER_SNIPER_KILLED, 2.1f }, - { "Chatter_OneEnemyLeft", CHATTER_ONE_ENEMY_LEFT, 2.5f }, - { "Chatter_TwoEnemiesLeft", CHATTER_TWO_ENEMIES_LEFT, 2.5f }, - { "Chatter_ThreeEnemiesLeft", CHATTER_THREE_ENEMIES_LEFT, 2.5f }, + { "Chatter_SniperKilled", CHATTER_SNIPER_KILLED, 12.1f }, + { "Chatter_OneEnemyLeft", CHATTER_ONE_ENEMY_LEFT, 12.5f }, + { "Chatter_TwoEnemiesLeft", CHATTER_TWO_ENEMIES_LEFT, 12.5f }, + { "Chatter_ThreeEnemiesLeft", CHATTER_THREE_ENEMIES_LEFT, 12.5f }, { "Chatter_NiceshotPall", CHATTER_NICESHOT_PALL, 2.0f }, { "Chatter_GoingToGuardHostages", CHATTER_GOING_TO_GUARD_HOSTAGES, 3.0f }, - { "Chatter_GoingToGuardDoppedBomb", CHATTER_GOING_TO_GUARD_DROPPED_BOMB, 3.0f }, + { "Chatter_GoingToGuardDoppedBomb", CHATTER_GOING_TO_GUARD_DROPPED_BOMB, 6.0f }, { "Chatter_OnMyWay", CHATTER_ON_MY_WAY, 1.5f }, { "Chatter_LeadOnSir", CHATTER_LEAD_ON_SIR, 5.0f }, { "Chatter_Pinned_Down", CHATTER_PINNED_DOWN, 5.0f },