aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKaelima <kaelima@live.se>2012-01-03 12:56:18 -0800
committerKaelima <kaelima@live.se>2012-01-03 12:56:18 -0800
commitb75a42f761b8491c9ce663fba8a253afe7ee3af5 (patch)
tree3248e1c21563d989b0b44d4e48d5bc6769206f7a /src
parent0f66a5bd15e0a7f6239e32f8b0663c937b7dcc20 (diff)
parent6b35b76fbaeadfe472597ac21f02c4cd51df1c4b (diff)
Merge pull request #4608 from elecyb/farsight
Core/Spells: Some corrections after viewpoint visibility fix
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Object/Object.cpp3
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp7
2 files changed, 5 insertions, 5 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 2bee996eab0..3cd02d05a90 100755
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -1672,6 +1672,9 @@ bool WorldObject::canSeeOrDetect(WorldObject const* obj, bool ignoreStealth, boo
if (Player const* player = this->ToPlayer())
viewpoint = player->GetViewpoint();
+ if (!viewpoint)
+ viewpoint = this;
+
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 74f475aab17..10ec8500923 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -22973,11 +22973,8 @@ void Player::SetViewpoint(WorldObject* target, bool apply)
WorldObject* Player::GetViewpoint() const
{
if (uint64 guid = GetUInt64Value(PLAYER_FARSIGHT))
- {
- WorldObject* viewpoint = (WorldObject*) ObjectAccessor::GetObjectByTypeMask(*this, guid, TYPEMASK_SEER);
- return viewpoint ? viewpoint : (WorldObject*) this; // always expected not NULL
- }
- return (WorldObject*) this;
+ return (WorldObject*)ObjectAccessor::GetObjectByTypeMask(*this, guid, TYPEMASK_SEER);
+ return NULL;
}
bool Player::CanUseBattlegroundObject()