diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 04fa0b04f2..590d7f73ea 100755 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -872,6 +872,12 @@ bool GameObject::ActivateToQuest(Player *pTarget) const } break; } + case GAMEOBJECT_TYPE_GENERIC: + { + if (pTarget->GetQuestStatus(GetGOInfo()->_generic.questID) == QUEST_STATUS_INCOMPLETE || GetGOInfo()->_generic.questID == -1) + return true; + break; + } case GAMEOBJECT_TYPE_GOOBER: { if (pTarget->GetQuestStatus(GetGOInfo()->goober.questId) == QUEST_STATUS_INCOMPLETE || GetGOInfo()->goober.questId == -1) diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index d3bde92c99..5e48963c61 100755 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -686,6 +686,10 @@ void Object::_BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask *data << uint16(9); *data << uint16(-1); break; + case GAMEOBJECT_TYPE_GENERIC: + *data << uint16(8); + *data << uint16(-1); + break; case GAMEOBJECT_TYPE_GOOBER: *data << uint16(9); *data << uint16(-1); diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 395e4842cf..b030dfa6c2 100755 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7876,6 +7876,15 @@ void ObjectMgr::LoadGameObjectForQuests() } break; } + case GAMEOBJECT_TYPE_GENERIC: + { + if (goInfo->_generic.questID) //quests objects + { + mGameObjectForQuestSet.insert(go_entry); + count++; + } + break; + } case GAMEOBJECT_TYPE_GOOBER: { if (goInfo->goober.questId) //quests objects