Core/Object: Fix Line of Sight issue with object edges

Fixes: https://github.com/TrinityCore/TrinityCore/pull/15807#issuecomment-268077802
(cherry picked from commit 020a6b984d)
This commit is contained in:
Golrag
2017-03-19 14:32:39 +01:00
committed by funjoker
parent bfcb276781
commit b8c8dcdbfc

View File

@@ -1116,7 +1116,7 @@ Position WorldObject::GetHitSpherePointFor(Position const& dest) const
{
G3D::Vector3 vThis(GetPositionX(), GetPositionY(), GetPositionZ());
G3D::Vector3 vObj(dest.GetPositionX(), dest.GetPositionY(), dest.GetPositionZ());
G3D::Vector3 contactPoint = vThis + (vObj - vThis).directionOrZero() * GetObjectSize();
G3D::Vector3 contactPoint = vThis + (vObj - vThis).directionOrZero() * std::min(dest.GetExactDist(GetPosition()), GetObjectSize());
return Position(contactPoint.x, contactPoint.y, contactPoint.z, GetAngle(contactPoint.x, contactPoint.y));
}