From 5bc4e1c6756bc1a9801a16a2afc71e72d826c0db Mon Sep 17 00:00:00 2001 From: jeefo Date: Thu, 13 Apr 2023 21:12:49 +0300 Subject: [PATCH] fix: do not apply knife mode if we're just have knife in hands nav: increase search radius in checking node reachability --- src/botlib.cpp | 2 +- src/navigate.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/botlib.cpp b/src/botlib.cpp index 1eae24b..3409f67 100644 --- a/src/botlib.cpp +++ b/src/botlib.cpp @@ -1567,7 +1567,7 @@ void Bot::overrideConditions () { } // special handling, if we have a knife in our hands - if ((usesKnife () || !hasAnyWeapons ()) && (util.isPlayer (m_enemy) || (cv_attack_monsters.bool_ () && util.isMonster (m_enemy)))) { + if (isKnifeMode () && (util.isPlayer (m_enemy) || (cv_attack_monsters.bool_ () && util.isMonster (m_enemy)))) { float length = pev->origin.distance2d (m_enemy->v.origin); // do waypoint movement if enemy is not reachable with a knife diff --git a/src/navigate.cpp b/src/navigate.cpp index bedc9e1..791ee18 100644 --- a/src/navigate.cpp +++ b/src/navigate.cpp @@ -3415,7 +3415,7 @@ bool Bot::isReachableNode (int index) { const Vector &dst = graph[index].origin; // is the destination close enough? - if (dst.distanceSq (src) >= cr::square (320.0f)) { + if (dst.distanceSq (src) >= cr::square (600.0f)) { return false; } @@ -3423,7 +3423,6 @@ bool Bot::isReachableNode (int index) { if (isOccupiedNode (index, true)) { return false; } - float ladderDist = dst.distance2d (src); TraceResult tr {}; game.testHull (src, dst, TraceIgnore::Monsters, head_hull, ent (), &tr); @@ -3435,6 +3434,7 @@ bool Bot::isReachableNode (int index) { if (pev->waterlevel == 2 || pev->waterlevel == 3) { return true; } + float ladderDist = dst.distance2d (src); // check for ladder bool nonLadder = !(graph[index].flags & NodeFlag::Ladder) || ladderDist > 16.0f;