diff options
author | Gustavo <sirikfoll@hotmail.com> | 2017-12-15 22:11:02 -0200 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2021-03-15 20:17:31 +0100 |
commit | 044110d42366c3e91007add3a2aa4bd02cbe7d2c (patch) | |
tree | 62942dda4d870c24627872b83d0d6821a1333501 /src | |
parent | f60b0ead83dc94e9ab084bb584febcb73391e535 (diff) |
Core/Entities: add extra use of UPDATETYPE_CREATE_OBJECT2 (#20955)
(cherry picked from commit 51c4196acf9d670601c0bba999498c8e7bb863dd)
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; } |