diff options
| author | Traesh <Traesh@users.noreply.github.com> | 2017-05-14 11:40:55 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-05-14 11:40:55 +0200 |
| commit | c73ce93f4cf84667d23c2ec7e425f40a845eaf4f (patch) | |
| tree | 255a3af04144a58e3156491bffd1aa743fb06bfa /src/server/game/Entities/Object | |
| parent | 3e18fcb8fd4ac8e9700f10eb3b6a1292c0f8beb8 (diff) | |
Core/Entities : Basic Conversation Implementation (#18010)
Diffstat (limited to 'src/server/game/Entities/Object')
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/Object.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index b1dc8e894bf..333a6a3c5d0 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -182,6 +182,7 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c case HighGuid::Corpse: case HighGuid::DynamicObject: case HighGuid::AreaTrigger: + case HighGuid::Conversation: updateType = UPDATETYPE_CREATE_OBJECT2; break; case HighGuid::Creature: @@ -1012,6 +1013,9 @@ uint32 Object::GetDynamicUpdateFieldData(Player const* target, uint32*& flags) c break; case TYPEID_CONVERSATION: flags = ConversationDynamicUpdateFieldFlags; + + if (ToConversation()->GetCreatorGuid() == target->GetGUID()) + visibleFlag |= UF_FLAG_0x100; break; default: flags = nullptr; diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index f3b4041db3c..5232e9912b2 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -315,6 +315,9 @@ class TC_GAME_API Object AreaTrigger* ToAreaTrigger() { if (GetTypeId() == TYPEID_AREATRIGGER) return reinterpret_cast<AreaTrigger*>(this); else return NULL; } AreaTrigger const* ToAreaTrigger() const { if (GetTypeId() == TYPEID_AREATRIGGER) return reinterpret_cast<AreaTrigger const*>(this); else return NULL; } + Conversation* ToConversation() { if (GetTypeId() == TYPEID_CONVERSATION) return reinterpret_cast<Conversation*>(this); else return NULL; } + Conversation const* ToConversation() const { if (GetTypeId() == TYPEID_CONVERSATION) return reinterpret_cast<Conversation const*>(this); else return NULL; } + protected: Object(); |
