aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-08-18 15:23:39 +0200
committerShauren <shauren.trinity@gmail.com>2013-08-18 15:23:39 +0200
commit6a55395e4f1ee9c8fb652cb85320b60286db1942 (patch)
tree02b7f83acb06a2f8555317a26032b7f53edb8fc8 /src
parent9eb01d63bd4cd3c2c297db4bcf1899debba0ee49 (diff)
Core/Players: Do not add banned characters to _legitCharacters container
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 415b67467c0..0554820364d 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -224,7 +224,10 @@ void WorldSession::HandleCharEnum(PreparedQueryResult result)
TC_LOG_INFO(LOG_FILTER_NETWORKIO, "Loading char guid %u from account %u.", guidlow, GetAccountId());
if (Player::BuildEnumData(result, &data))
{
- _legitCharacters.insert(guidlow);
+ // Do not allow banned characters to log in
+ if (!(*result)[20].GetUInt32())
+ _legitCharacters.insert(guidlow);
+
if (!sWorld->HasCharacterNameData(guidlow)) // This can happen if characters are inserted into the database manually. Core hasn't loaded name data yet.
sWorld->AddCharacterNameData(guidlow, (*result)[1].GetString(), (*result)[4].GetUInt8(), (*result)[2].GetUInt8(), (*result)[3].GetUInt8(), (*result)[7].GetUInt8());
++num;