aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGolrag <Golrag@users.noreply.github.com>2017-03-19 14:32:39 +0100
committerfunjoker <funjoker109@gmail.com>2020-04-24 17:18:48 +0200
commitb8c8dcdbfcac9335ccba7e1e4efccfea6670372f (patch)
tree189221100a4a1db3ec00d661c782858b31f7232f /src
parentbfcb27678115662b188dc6a472df620d5e43bdd1 (diff)
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)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Object.cpp2
1 files changed, 1 insertions, 1 deletions
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));
}