diff options
Diffstat (limited to 'src/server')
-rwxr-xr-x | src/server/game/Entities/Object/Object.cpp | 6 | ||||
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 2fabc5130a8..2bee996eab0 100755 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1668,7 +1668,11 @@ bool WorldObject::canSeeOrDetect(WorldObject const* obj, bool ignoreStealth, boo } } - if (!corpseCheck && !IsWithinDist(obj, GetSightRange(obj), false)) + WorldObject const* viewpoint = this; + if (Player const* player = this->ToPlayer()) + viewpoint = player->GetViewpoint(); + + if (!corpseCheck && !viewpoint->IsWithinDist(obj, GetSightRange(obj), false)) return false; } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 10ec8500923..3c1764e1266 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22974,7 +22974,7 @@ WorldObject* Player::GetViewpoint() const { if (uint64 guid = GetUInt64Value(PLAYER_FARSIGHT)) return (WorldObject*)ObjectAccessor::GetObjectByTypeMask(*this, guid, TYPEMASK_SEER); - return NULL; + return (WorldObject*) this; } bool Player::CanUseBattlegroundObject() |