aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Object
diff options
context:
space:
mode:
authorccrs <crs_92_19@hotmail.com>2016-02-25 01:44:43 +0100
committerccrs <crs_92_19@hotmail.com>2016-03-01 21:20:47 +0100
commit6a339ed5c91244a02fac375101f9d0d04698328b (patch)
tree72391cd46cb3440803d2c25549b368bc93c69d4f /src/server/game/Entities/Object
parent45c911ba94ab7f6f2952241191df258238c49035 (diff)
Core/TempSummons: avoid use MoveInLineOfSight before InitSummon
Diffstat (limited to 'src/server/game/Entities/Object')
-rw-r--r--src/server/game/Entities/Object/Object.cpp4
-rw-r--r--src/server/game/Entities/Object/Object.h5
2 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 4877ff094e1..836a041abc3 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -1878,7 +1878,9 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert
AddToMap(summon->ToCreature());
summon->InitSummon();
- //ObjectAccessor::UpdateObjectVisibility(summon);
+ // call MoveInLineOfSight for nearby creatures
+ Trinity::AIRelocationNotifier notifier(*summon);
+ summon->VisitNearbyObject(GetVisibilityRange(), notifier);
return summon;
}
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 419044081e3..ba03c16fa1e 100644
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -555,6 +555,11 @@ class WorldObject : public Object, public WorldLocation
void DestroyForNearbyPlayers();
virtual void UpdateObjectVisibility(bool forced = true);
+ virtual void UpdateObjectVisibilityOnCreate()
+ {
+ UpdateObjectVisibility(true);
+ }
+
void BuildUpdate(UpdateDataMapType&) override;
void AddToObjectUpdate() override;