aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2021-10-05 18:17:29 +0200
committerGitHub <noreply@github.com>2021-10-05 18:17:29 +0200
commit71eb30f89dc5abeb33c7aa4a526073f769b5c7d1 (patch)
treefa7f1fc240797044d97d25d2946c9af51d1fb466 /src/server/game/Globals/ObjectMgr.cpp
parent6d93f0a5f79c5465341a850279466ce36232e72e (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.cpp34
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;