diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index acd8041580b..01f8eb040fe 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -149,6 +149,7 @@ bool Transport::Create(ObjectGuid::LowType guidlow, uint32 entry, Map* map, uint ASSERT(map); SetMap(map); + UpdatePositionData(); SetZoneScript(); if (GetZoneScript()) { @@ -161,6 +162,8 @@ bool Transport::Create(ObjectGuid::LowType guidlow, uint32 entry, Map* map, uint if (!dynamic) SetRespawnCompatibilityMode(); + guidlow = map->GenerateLowGuid(); + if (!Transport::CreateTransport(guidlow, entry, map->GetId(), pos, animprogress)) return false; diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp index 987b274caf9..183135506eb 100644 --- a/src/server/game/Grids/ObjectGridLoader.cpp +++ b/src/server/game/Grids/ObjectGridLoader.cpp @@ -197,15 +197,18 @@ void LoadHelper(CellGuidSet const& guid_set, CellCoord &cell, GridRefManagerLoadFromDB(guid, map, false, false)) - { + if (!obj->LoadFromDB(guid, map, false, false)) + { + delete obj; + continue; + } + + AddObjectHelper(cell, m, count, map, obj); + } + else delete obj; - continue; - } - AddObjectHelper(cell, m, count, map, obj); } }