From b8c8dcdbfcac9335ccba7e1e4efccfea6670372f Mon Sep 17 00:00:00 2001 From: Golrag Date: Sun, 19 Mar 2017 14:32:39 +0100 Subject: Core/Object: Fix Line of Sight issue with object edges Fixes: https://github.com/TrinityCore/TrinityCore/pull/15807#issuecomment-268077802 (cherry picked from commit 020a6b984d6f6c04a57211e433a8d995514c6c0a) --- src/server/game/Entities/Object/Object.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index b34b3523fc4..c0fbdaaf530 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -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)); } -- cgit v1.2.3