aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Object.cpp23
-rw-r--r--src/server/game/Maps/Map.cpp9
2 files changed, 11 insertions, 21 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 7610c9981c5..3f58b6cc092 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -1496,23 +1496,18 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
float WorldObject::GetGridActivationRange() const
{
- if (ToPlayer())
+ if (isActiveObject())
{
- if (ToPlayer()->GetCinematicMgr()->IsOnCinematic())
- return DEFAULT_VISIBILITY_INSTANCE;
+ if (GetTypeId() == TYPEID_PLAYER && ToPlayer()->GetCinematicMgr->IsOnCinematic())
+ return std::max(DEFAULT_VISIBILITY_INSTANCE, GetMap()->GetVisibilityRange());
+
return GetMap()->GetVisibilityRange();
}
- else if (ToCreature())
- return ToCreature()->m_SightDistance;
- else if (ToDynObject())
- {
- if (isActiveObject())
- return GetMap()->GetVisibilityRange();
- else
- return 0.0f;
- }
- else
- return 0.0f;
+
+ if (Creature const* thisCreature = ToCreature())
+ return thisCreature->m_SightDistance;
+
+ return 0.0f;
}
float WorldObject::GetVisibilityRange() const
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index d2bc9cdfb51..943f4bd759b 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -721,14 +721,9 @@ void Map::Update(const uint32 t_diff)
VisitNearbyCellsOf(player, grid_object_update, world_object_update);
- // If player is using far sight, visit that object too
+ // If player is using far sight or mind vision, visit that object too
if (WorldObject* viewPoint = player->GetViewpoint())
- {
- if (Creature* viewCreature = viewPoint->ToCreature())
- VisitNearbyCellsOf(viewCreature, grid_object_update, world_object_update);
- else if (DynamicObject* viewObject = viewPoint->ToDynObject())
- VisitNearbyCellsOf(viewObject, grid_object_update, world_object_update);
- }
+ VisitNearbyCellsOf(viewPoint, grid_object_update, world_object_update);
// Handle updates for creatures in combat with player and are more than 60 yards away
if (player->IsInCombat())