1
0
Fork 0

PF - Fixed mobs not reaching leaning player

This commit is contained in:
wiseoldman95 2015-05-06 06:46:10 +03:00
parent f71d693302
commit 020e928685
2 changed files with 10 additions and 3 deletions

View File

@ -143,10 +143,11 @@ bool cMonster::TickPathFinding(cChunk & a_Chunk)
{
/* If we reached the last path waypoint,
Or if we haven't re-calculated for too long.
Interval is proportional to distance squared. (Recalculate lots when close, calculate rarely when far) */
Interval is proportional to distance squared, and its minimum is 10.
(Recalculate lots when close, calculate rarely when far) */
if (
((GetPosition() - m_PathFinderDestination).Length() < 0.25) ||
m_TicksSinceLastPathReset > (0.15 * (m_FinalDestination - GetPosition()).SqrLength())
((m_TicksSinceLastPathReset > 10) && (m_TicksSinceLastPathReset > (0.15 * (m_FinalDestination - GetPosition()).SqrLength())))
)
{
ResetPathFinding();

View File

@ -182,7 +182,13 @@ bool cPath::Step_Internal()
}
// Path found.
if (CurrentCell->m_Location == m_Destination)
if (
(CurrentCell->m_Location == m_Destination + Vector3i(0, 0, 1)) ||
(CurrentCell->m_Location == m_Destination + Vector3i(1, 0, 0)) ||
(CurrentCell->m_Location == m_Destination + Vector3i(-1, 0, 0)) ||
(CurrentCell->m_Location == m_Destination + Vector3i(0, 0, -1)) ||
(CurrentCell->m_Location == m_Destination + Vector3i(0, -1, 0))
)
{
do
{