From af992c374c2d6d92758f193567b378da7dbcedbb Mon Sep 17 00:00:00 2001 From: dmitry Date: Thu, 14 Apr 2022 12:36:23 +0300 Subject: [PATCH] fix: wrong data type for flash level (flashbat message) --- inc/yapb.h | 2 +- src/botlib.cpp | 9 +++++---- src/manager.cpp | 2 +- src/message.cpp | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/inc/yapb.h b/inc/yapb.h index 074e883..039875f 100644 --- a/inc/yapb.h +++ b/inc/yapb.h @@ -946,7 +946,6 @@ public: float m_nextBuyTime {}; // next buy time float m_checkDarkTime {}; // check for darkness time float m_preventFlashing {}; // bot turned away from flashbang - float m_flashLevel {}; // flashlight level float m_blindTime {}; // time when bot is blinded float m_blindMoveSpeed {}; // mad speeds when bot is blind float m_blindSidemoveSpeed {}; // mad side move speeds when bot is blind @@ -978,6 +977,7 @@ public: float m_kpdRatio; // kill per death ratio float m_healthValue; // clamped bot health + int m_flashLevel {}; // flashlight level int m_basePing; // base ping for bot int m_numEnemiesLeft {}; // number of enemies alive left on map int m_numFriendsLeft {}; // number of friend alive left on map diff --git a/src/botlib.cpp b/src/botlib.cpp index 2b275b9..f254c5c 100644 --- a/src/botlib.cpp +++ b/src/botlib.cpp @@ -2891,7 +2891,7 @@ void Bot::updateAimDir () { void Bot::checkDarkness () { // do not check for darkness at the start of the round - if (m_spawnTime + 5.0f > game.time () || !graph.exists (m_currentNodeIndex) || cr::fzero (m_path->light)) { + if (m_spawnTime + 5.0f > game.time () || !graph.exists (m_currentNodeIndex)) { return; } @@ -2900,19 +2900,20 @@ void Bot::checkDarkness () { return; } auto skyColor = illum.getSkyColor (); + auto flashOn = (pev->effects & EF_DIMLIGHT); if (mp_flashlight.bool_ () && !m_hasNVG) { auto task = Task (); - if (!(pev->effects & EF_DIMLIGHT) && task != Task::Camp && task != Task::Attack && m_heardSoundTime + 3.0f < game.time () && m_flashLevel > 30.0f && ((skyColor > 50.0f && m_path->light < 10.0f) || (skyColor <= 50.0f && m_path->light < 40.0f))) { + if (!flashOn && task != Task::Camp && task != Task::Attack && m_heardSoundTime + 3.0f < game.time () && m_flashLevel > 30 && ((skyColor > 50.0f && m_path->light < 10.0f) || (skyColor <= 50.0f && m_path->light < 40.0f))) { pev->impulse = 100; } - else if ((pev->effects & EF_DIMLIGHT) && (((m_path->light > 15.0f && skyColor > 50.0f) || (m_path->light > 45.0f && skyColor <= 50.0f)) || task == Task::Camp || task == Task::Attack || m_flashLevel <= 0 || m_heardSoundTime + 3.0f >= game.time ())) { + else if (flashOn && (((m_path->light > 15.0f && skyColor > 50.0f) || (m_path->light > 45.0f && skyColor <= 50.0f)) || task == Task::Camp || task == Task::Attack || m_flashLevel <= 0 || m_heardSoundTime + 3.0f >= game.time ())) { pev->impulse = 100; } } else if (m_hasNVG) { - if (pev->effects & EF_DIMLIGHT) { + if (flashOn) { pev->impulse = 100; } else if (!m_usesNVG && ((skyColor > 50.0f && m_path->light < 15.0f) || (skyColor <= 50.0f && m_path->light < 40.0f))) { diff --git a/src/manager.cpp b/src/manager.cpp index 89e02eb..20c5977 100644 --- a/src/manager.cpp +++ b/src/manager.cpp @@ -1354,7 +1354,7 @@ void Bot::newRound () { m_currentWeapon = 0; m_weaponType = 0; } - m_flashLevel = 100.0f; + m_flashLevel = 100; m_checkDarkTime = game.time (); m_knifeAttackTime = game.time () + rg.get (1.3f, 2.6f); diff --git a/src/message.cpp b/src/message.cpp index 9efd7ee..a3af3d0 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -394,7 +394,7 @@ void MessageDispatcher::netMsgFlashBat () { if (m_args.length () < min || !m_bot) { return; } - m_bot->m_flashLevel = m_args[value].float_; + m_bot->m_flashLevel = m_args[value].long_; } MessageDispatcher::MessageDispatcher () {