aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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;
}