From dff55fa7ab5d3501a83dffd9417181adf3918a28 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Fri, 24 Jun 2022 22:49:08 +0200 Subject: [PATCH] Core/GameObjects: use the correc HighGuid value when spawning GAMEOBJECT_TYPE_TRANSPORT gameobjects --- src/server/game/Entities/GameObject/GameObject.cpp | 11 ++++++++--- src/server/game/Entities/Object/ObjectGuid.h | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index c1994c5d0e0..03feb9bf820 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -641,10 +641,15 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, P return false; } - if (goinfo->type == GAMEOBJECT_TYPE_TRANSPORT) - m_updateFlag |= UPDATEFLAG_TRANSPORT; + HighGuid guidHigh = HighGuid::GameObject; - Object::_Create(guidlow, goinfo->entry, HighGuid::GameObject); + if (goinfo->type == GAMEOBJECT_TYPE_TRANSPORT) + { + m_updateFlag |= UPDATEFLAG_TRANSPORT; + guidHigh = HighGuid::Mo_Transport; + } + + Object::_Create(guidlow, goinfo->entry, guidHigh); m_goInfo = goinfo; m_goTemplateAddon = sObjectMgr->GetGameObjectTemplateAddon(name_id); diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h index af892972c43..2bc16e2ce27 100644 --- a/src/server/game/Entities/Object/ObjectGuid.h +++ b/src/server/game/Entities/Object/ObjectGuid.h @@ -63,7 +63,7 @@ enum class HighGuid Container = 0x400, // blizz 4000 Player = 0x000, // blizz 0000 GameObject = 0xF11, // blizz F110 - Transport = 0xF12, // blizz F120 (for GAMEOBJECT_TYPE_TRANSPORT) + Transport = 0xF12, // blizz F120 // unused according to sniffs GAMEOBJECT_TYPE_TRANSPORT uses Mo_Transport as well Unit = 0xF13, // blizz F130 Pet = 0xF14, // blizz F140 Vehicle = 0xF15, // blizz F550 @@ -71,7 +71,7 @@ enum class HighGuid Corpse = 0xF101, // blizz F100 AreaTrigger = 0xF102, BattleGround = 0x1F1, - Mo_Transport = 0x1FC, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT) + Mo_Transport = 0x1FC, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT and GAMEOBJECT_TYPE_TRANSPORT) Instance = 0x1F4, // blizz 1F40 Group = 0x1F5, Guild = 0x1FF