diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.h | 2 | ||||
-rw-r--r-- | src/server/game/Maps/Map.cpp | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 118169837d3..38d74371044 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -67,6 +67,7 @@ Object::Object() : m_values(this) m_updateFlag.Clear(); m_inWorld = false; + m_isNewObject = false; m_objectUpdated = false; } diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index c49f029e82b..0b6af2ed858 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -168,6 +168,7 @@ class TC_GAME_API Object virtual bool hasQuest(uint32 /* quest_id */) const { return false; } virtual bool hasInvolvedQuest(uint32 /* quest_id */) const { return false; } + void SetIsNewObject(bool enable) { m_isNewObject = enable; } virtual void BuildUpdate(UpdateDataMapType&) { } void BuildFieldsUpdate(Player*, UpdateDataMapType &) const; @@ -346,6 +347,7 @@ class TC_GAME_API Object private: ObjectGuid m_guid; bool m_inWorld; + bool m_isNewObject; Object(Object const& right) = delete; Object& operator=(Object const& right) = delete; diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index b40cf3a5deb..b92b1b71c68 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -728,7 +728,9 @@ bool Map::AddToMap(T* obj) //something, such as vehicle, needs to be update immediately //also, trigger needs to cast spell, if not update, cannot see visual + obj->SetIsNewObject(true); obj->UpdateObjectVisibilityOnCreate(); + obj->SetIsNewObject(false); return true; } |