mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 19:37:03 +00:00
[11807] Add gameobject_addon table
table holds additional per-guid gameobject data. currently it contains path rotation info that required for some elevators and transports
This commit is contained in:
parent
7a67f27ab3
commit
3567e69a3d
11 changed files with 93 additions and 16 deletions
|
|
@ -1398,7 +1398,7 @@ void ObjectMgr::RemoveCreatureFromGrid(uint32 guid, CreatureData const* data)
|
|||
}
|
||||
}
|
||||
|
||||
void ObjectMgr::LoadGameobjects()
|
||||
void ObjectMgr::LoadGameObjects()
|
||||
{
|
||||
uint32 count = 0;
|
||||
|
||||
|
|
@ -1561,6 +1561,33 @@ void ObjectMgr::LoadGameobjects()
|
|||
sLog.outString( ">> Loaded %lu gameobjects", (unsigned long)mGameObjectDataMap.size());
|
||||
}
|
||||
|
||||
void ObjectMgr::LoadGameObjectAddon()
|
||||
{
|
||||
sGameObjectDataAddonStorage.Load();
|
||||
|
||||
sLog.outString(">> Loaded %u gameobject addons", sGameObjectDataAddonStorage.RecordCount);
|
||||
sLog.outString();
|
||||
|
||||
for(uint32 i = 1; i < sGameObjectDataAddonStorage.MaxEntry; ++i)
|
||||
{
|
||||
GameObjectDataAddon const* addon = sGameObjectDataAddonStorage.LookupEntry<GameObjectDataAddon>(i);
|
||||
if (!addon)
|
||||
continue;
|
||||
|
||||
if (!GetGODataPair(addon->guid))
|
||||
{
|
||||
sLog.outErrorDb("Gameobject (GUID: %u) does not exist but has a record in `gameobject_addon`",addon->guid);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!addon->path_rotation.isUnit())
|
||||
{
|
||||
sLog.outErrorDb("Gameobject (GUID: %u) has invalid path rotation", addon->guid);
|
||||
const_cast<GameObjectDataAddon*>(addon)->path_rotation = QuaternionData(0.f, 0.f, 0.f, 1.f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ObjectMgr::AddGameobjectToGrid(uint32 guid, GameObjectData const* data)
|
||||
{
|
||||
uint8 mask = data->spawnMask;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue