aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGustavo <sirikfoll@hotmail.com>2017-12-15 22:11:02 -0200
committerfunjoker <funjoker109@gmail.com>2021-03-15 20:17:31 +0100
commit044110d42366c3e91007add3a2aa4bd02cbe7d2c (patch)
tree62942dda4d870c24627872b83d0d6821a1333501 /src
parentf60b0ead83dc94e9ab084bb584febcb73391e535 (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.cpp1
-rw-r--r--src/server/game/Entities/Object/Object.h2
-rw-r--r--src/server/game/Maps/Map.cpp2
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;
}