diff options
-rw-r--r-- | src/game/GridNotifiers.cpp | 10 | ||||
-rw-r--r-- | src/game/Map.cpp | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/game/GridNotifiers.cpp b/src/game/GridNotifiers.cpp index 5158f51d695..2b59a1a9098 100644 --- a/src/game/GridNotifiers.cpp +++ b/src/game/GridNotifiers.cpp @@ -73,6 +73,16 @@ PlayerVisibilityNotifier::Notify() if( i_data.HasData() ) { + uint32 entry = 0, map; + float x,y; + if(!i_visibleNow.empty()) + { + entry = (*i_visibleNow.begin())->GetEntry(); + map = (*i_visibleNow.begin())->GetMapId(); + x = (*i_visibleNow.begin())->GetPositionX(); + y = (*i_visibleNow.begin())->GetPositionY(); + } + // send create/outofrange packet to player (except player create updates that already sent using SendUpdateToPlayer) WorldPacket packet; i_data.BuildPacket(&packet); diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 144dce1edf6..3f5b0ba8e5e 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -592,7 +592,10 @@ void Map::RelocationNotify() if(unit->GetTypeId() == TYPEID_PLAYER) { Trinity::PlayerRelocationNotifier notifier(*((Player*)unit)); + if(((Player*)unit)->m_seer != unit) VisitAll(((Player*)unit)->m_seer->GetPositionX(), ((Player*)unit)->m_seer->GetPositionY(), World::GetMaxVisibleDistance() + dist, notifier); + else + VisitAll(((Player*)unit)->GetPositionX(), ((Player*)unit)->GetPositionY(), World::GetMaxVisibleDistance() + dist, notifier); notifier.Notify(); } else |