diff options
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
| -rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index c5f4f51599a..5cfe337d362 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -3252,6 +3252,41 @@ void ObjectMgr::LoadVehicleTemplateAccessories() TC_LOG_INFO("server.loading", ">> Loaded %u Vehicle Template Accessories in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); } +void ObjectMgr::LoadVehicleTemplate() +{ + uint32 oldMSTime = getMSTime(); + + _vehicleTemplateStore.clear(); + + // 0 1 + QueryResult result = WorldDatabase.Query("SELECT creatureId, despawnDelayMs FROM vehicle_template"); + + if (!result) + { + TC_LOG_INFO("server.loading", ">> Loaded 0 vehicle template. DB table `vehicle_template` is empty."); + return; + } + + do + { + Field* fields = result->Fetch(); + + uint32 creatureId = fields[0].GetUInt32(); + + if (!sObjectMgr->GetCreatureTemplate(creatureId)) + { + TC_LOG_ERROR("sql.sql", "Table `vehicle_template`: Vehicle %u does not exist.", creatureId); + continue; + } + + VehicleTemplate& vehicleTemplate = _vehicleTemplateStore[creatureId]; + vehicleTemplate.DespawnDelay = Milliseconds(fields[1].GetInt32()); + + } while (result->NextRow()); + + TC_LOG_INFO("server.loading", ">> Loaded " SZFMTD " Vehicle Template entries in %u ms", _vehicleTemplateStore.size(), GetMSTimeDiffToNow(oldMSTime)); +} + void ObjectMgr::LoadVehicleAccessories() { uint32 oldMSTime = getMSTime(); @@ -9991,6 +10026,11 @@ CreatureTemplate const* ObjectMgr::GetCreatureTemplate(uint32 entry) const return nullptr; } +VehicleTemplate const* ObjectMgr::GetVehicleTemplate(Vehicle* veh) const +{ + return Trinity::Containers::MapGetValuePtr(_vehicleTemplateStore, veh->GetCreatureEntry()); +} + VehicleAccessoryList const* ObjectMgr::GetVehicleAccessoryList(Vehicle* veh) const { if (Creature* cre = veh->GetBase()->ToCreature()) |
