fiexed virtuel entry nodes so they will be considered equal to all other Nodes
clang PCH / build (push) Canceled after 0s
GCC PCH / build (push) Canceled after 0s

This commit is contained in:
Nico committed 2026-10-17 21:10:53 +00:00
1 parent ae2a4a0f08
commit 2bcffa5131
4 files changed
+80 -32

No files matched your search

@@ -470,6 +470,25 @@ bool ClientlessTravelGraphMgr::PlanAdaptiveRoute(
if (localDistance > startRadius)
continue;
// VCORE_VIRTUAL_EDGE_V11_PORTAL_APPROACH: never seed an unreachable node.
if (blockedBridgeKeys && blockedBridgeKeys->count("start:" + node.Key))
continue;
if (localDistance > 1.5f)
{
Position entryTarget;
entryTarget.Relocate(node.X, node.Y, node.Z, node.O);
ClientlessPathDiagnostics entryNav;
sClientlessTravelMgr->AnalyzePath(const_cast<Player*>(player), entryTarget, entryNav);
if (!entryNav.Calculated || !entryNav.Complete || entryNav.FinalDistance > 1.5f ||
entryNav.MaxSegmentLength > 8.0f || entryNav.MaxZDelta > 5.0f ||
entryNav.PathLength > 500.0f)
{
TC_LOG_INFO("server.adventurebot.navigation",
"START_NODE_REJECT node='%s' distance=%.2f reason='%s'",
node.Key.c_str(), localDistance, entryNav.Reason.c_str());
continue;
}
}
State state{ node.Key, false };
std::string const key = stateKey(state);
auto found = distance.find(key);
@@ -575,6 +594,8 @@ bool ClientlessTravelGraphMgr::PlanAdaptiveRoute(
State state{ candidate.Edge.ToNode, false };
std::string key = stateKey(state);
if (blockedBridgeKeys && blockedBridgeKeys->count("start:" + candidate.Edge.ToNode))
continue;
float remainingFraction = candidate.Edge.Reverse
? float(candidate.Index) / float(candidate.Count - 1)
: float(candidate.Count - candidate.Index - 1) / float(candidate.Count - 1);
@@ -591,7 +612,7 @@ bool ClientlessTravelGraphMgr::PlanAdaptiveRoute(
open.push({ newCost, state });
++accepted;
}
if (accepted)
if (validated)
TC_LOG_INFO("server.adventurebot.navigation",
"VIRTUAL_EDGE_CANDIDATES map=%u tested=%u accepted=%u",
player->GetMapId(), validated, accepted);