Fixed path error for charge spells after 17802ab6e5

thanks @jackpoz for original patch
This commit is contained in:
Yehonal
2017-11-25 01:57:43 +00:00
parent c14f8cffed
commit 3b22c59bec

View File

@@ -5804,7 +5804,8 @@ SpellCastResult Spell::CheckCast(bool strict)
break;
m_pathFinder = new PathGenerator(m_caster);
m_pathFinder->CalculatePath(pos.m_positionX, pos.m_positionY, pos.m_positionZ+0.15f, false);
float targetObjectSize = std::min(target->GetObjectSize(), 4.0f);
m_pathFinder->CalculatePath(pos.m_positionX, pos.m_positionY, pos.m_positionZ + targetObjectSize, false);
G3D::Vector3 endPos = m_pathFinder->GetEndPosition(); // also check distance between target and the point calculated by mmaps
if (m_pathFinder->GetPathType() & (PATHFIND_NOPATH | PATHFIND_INCOMPLETE) || target->GetExactDistSq(endPos.x, endPos.y, endPos.z) > maxdist*maxdist || m_pathFinder->getPathLength() > (40.0f + (m_caster->HasAura(58097) ? 5.0f : 0.0f)))
return SPELL_FAILED_NOPATH;