diff options
author | ModoX <moardox@gmail.com> | 2021-10-05 18:17:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-05 18:17:29 +0200 |
commit | 71eb30f89dc5abeb33c7aa4a526073f769b5c7d1 (patch) | |
tree | fa7f1fc240797044d97d25d2946c9af51d1fb466 /src/server/game/Globals/ObjectMgr.cpp | |
parent | 6d93f0a5f79c5465341a850279466ce36232e72e (diff) |
Core/Characters: Added allied race creation data, implemented intro scenes & added config option to disable achievement requirements for allied races (#26974)
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 6eaa14f0879..fa12c26614e 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -3476,8 +3476,8 @@ void ObjectMgr::LoadPlayerInfo() // Load playercreate { uint32 oldMSTime = getMSTime(); - // 0 1 2 3 4 5 6 7 8 9 10 11 12 - QueryResult result = WorldDatabase.Query("SELECT race, class, map, position_x, position_y, position_z, orientation, npe_map, npe_position_x, npe_position_y, npe_position_z, npe_orientation, npe_transport_guid FROM playercreateinfo"); + // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + QueryResult result = WorldDatabase.Query("SELECT race, class, map, position_x, position_y, position_z, orientation, npe_map, npe_position_x, npe_position_y, npe_position_z, npe_orientation, npe_transport_guid, intro_movie_id, intro_scene_id, npe_intro_scene_id FROM playercreateinfo"); if (!result) { @@ -3563,6 +3563,36 @@ void ObjectMgr::LoadPlayerInfo() } } + if (!fields[13].IsNull()) + { + uint32 introMovieId = fields[13].GetUInt32(); + if (sMovieStore.LookupEntry(introMovieId)) + info->introMovieId = introMovieId; + else + TC_LOG_ERROR("sql.sql", "Invalid intro movie id %u for class %u race %u pair in `playercreateinfo` table, ignoring.", + introMovieId, current_class, current_race); + } + + if (!fields[14].IsNull()) + { + uint32 introSceneId = fields[14].GetUInt32(); + if (GetSceneTemplate(introSceneId)) + info->introSceneId = introSceneId; + else + TC_LOG_ERROR("sql.sql", "Invalid intro scene id %u for class %u race %u pair in `playercreateinfo` table, ignoring.", + introSceneId, current_class, current_race); + } + + if (!fields[15].IsNull()) + { + uint32 introSceneId = fields[15].GetUInt32(); + if (GetSceneTemplate(introSceneId)) + info->introSceneIdNPE = introSceneId; + else + TC_LOG_ERROR("sql.sql", "Invalid NPE intro scene id %u for class %u race %u pair in `playercreateinfo` table, ignoring.", + introSceneId, current_class, current_race); + } + _playerInfo[current_race][current_class] = std::move(info); ++count; |