diff options
author | Golrag <Golrag@users.noreply.github.com> | 2017-03-19 14:32:39 +0100 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2020-04-24 17:18:48 +0200 |
commit | b8c8dcdbfcac9335ccba7e1e4efccfea6670372f (patch) | |
tree | 189221100a4a1db3ec00d661c782858b31f7232f /src | |
parent | bfcb27678115662b188dc6a472df620d5e43bdd1 (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.cpp | 2 |
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)); } |