aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2014-04-24 22:02:46 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2014-04-24 22:02:46 +0200
commit49630f42d49c8c485198b269eaa6ed04c97eeff2 (patch)
tree1c555405325923ec1681a143191365b7ee92664d /src
parentb39ba5656e76bfecac37701553b6886db06f9d88 (diff)
parente6b267a3529429479152883fb2894cb51dfb1dd6 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/Server/WorldSession.cpp
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 3754dcbf740..cb410b9d6a8 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -17293,6 +17293,14 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder)
bytes0 |= gender << 16; // gender
SetUInt32Value(UNIT_FIELD_BYTES_0, bytes0);
+ // check if race/class combination is valid
+ PlayerInfo const* info = sObjectMgr->GetPlayerInfo(getRace(), getClass());
+ if (!info)
+ {
+ TC_LOG_ERROR("entities.player", "Player (GUID: %u) has wrong race/class (%u/%u), can't be loaded.", guid, getRace(), getClass());
+ return false;
+ }
+
SetUInt32Value(UNIT_FIELD_LEVEL, fields[6].GetUInt8());
SetUInt32Value(PLAYER_XP, fields[7].GetUInt32());