diff options
author | SafwatHalaby <SafwatHalaby@users.noreply.github.com> | 2015-05-19 05:54:20 +0200 |
---|---|---|
committer | SafwatHalaby <SafwatHalaby@users.noreply.github.com> | 2015-05-20 19:42:35 +0200 |
commit | 8436e5d8bd0889830f8daa7a15f08b6772e106fe (patch) | |
tree | 68b959cc0ca2eaee66add4887fed70785e4ce283 /src/Mobs/Path.cpp | |
parent | Merge pull request #2074 from SafwatHalaby/rmUnique (diff) | |
download | cuberite-8436e5d8bd0889830f8daa7a15f08b6772e106fe.tar cuberite-8436e5d8bd0889830f8daa7a15f08b6772e106fe.tar.gz cuberite-8436e5d8bd0889830f8daa7a15f08b6772e106fe.tar.bz2 cuberite-8436e5d8bd0889830f8daa7a15f08b6772e106fe.tar.lz cuberite-8436e5d8bd0889830f8daa7a15f08b6772e106fe.tar.xz cuberite-8436e5d8bd0889830f8daa7a15f08b6772e106fe.tar.zst cuberite-8436e5d8bd0889830f8daa7a15f08b6772e106fe.zip |
Diffstat (limited to 'src/Mobs/Path.cpp')
-rw-r--r-- | src/Mobs/Path.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Mobs/Path.cpp b/src/Mobs/Path.cpp index bf5e4ba5e..eba29be7e 100644 --- a/src/Mobs/Path.cpp +++ b/src/Mobs/Path.cpp @@ -6,6 +6,7 @@ #include "Path.h" #include "../Chunk.h" + #define DISTANCE_MANHATTAN 0 // 1: More speed, a bit less accuracy 0: Max accuracy, less speed. #define HEURISTICS_ONLY 0 // 1: Much more speed, much less accurate. #define CALCULATIONS_PER_STEP 10 // Higher means more CPU load but faster path calculations. @@ -178,11 +179,18 @@ bool cPath::Step_Internal() // Calculation not finished yet. // Check if we have a new NearestPoint. - if (CurrentCell->m_H < m_NearestPointToTarget->m_H) + + if ((m_Destination - CurrentCell->m_Location).Length() < 5) + { + if (m_Rand.NextInt(4) == 0) + { + m_NearestPointToTarget = CurrentCell; + } + } + else if (CurrentCell->m_H < m_NearestPointToTarget->m_H) { m_NearestPointToTarget = CurrentCell; } - // process a currentCell by inspecting all neighbors. // Check North, South, East, West on all 3 different heights. |