diff options
| author | Shauren <shauren.trinity@gmail.com> | 2012-07-11 23:28:40 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2012-07-11 23:28:40 +0200 |
| commit | a2b1cf66ca00ae22bd19abd49051537179d144b3 (patch) | |
| tree | 6b4a26f8972869cb0df1099abb43b7eb857b351b /src/server/game/Handlers/CharacterHandler.cpp | |
| parent | 947dbcbabc004727b69d7fcae2db320fcc776c6b (diff) | |
Core/PacketIO: Update structures of many packets sent during the login process
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 94b40b921e9..7800a06024f 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -848,8 +848,31 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) data.Initialize(SMSG_FEATURE_SYSTEM_STATUS, 7); // checked in 4.2.2 data << uint8(2); // unknown value - data << uint8(0); // enable(1) / disable(0) voice chat interface in client - data << uint32(0); // Complain System Status + data << uint32(0); + data << uint32(0); + data << uint32(0); + data << uint32(0); + data.WriteBit(0); + data.WriteBit(0); + data.WriteBit(0); + data.WriteBit(0); + data.WriteBit(0); + data.WriteBit(0); + data.FlushBits(); + //if (featureBit4) + //{ + // data << uint32(0); + // data << uint32(0); + // data << uint32(0); + // data << uint32(0); + //} + + //if (featureBit5) + //{ + // data << uint32(0); + // data << uint32(0); + // data << uint32(0); + //} SendPacket(&data); // Send MOTD @@ -916,13 +939,12 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) } data.Initialize(SMSG_LEARNED_DANCE_MOVES, 4+4); - data << uint32(0); - data << uint32(0); + data << uint64(0); SendPacket(&data); data.Initialize(SMSG_HOTFIX_INFO); HotfixData const& hotfix = sObjectMgr->GetHotfixData(); - data << uint32(hotfix.size()); + data.WriteBits(hotfix.size(), 22); for (uint32 i = 0; i < hotfix.size(); ++i) { data << uint32(hotfix[i].Type); @@ -977,15 +999,11 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) pCurrChar->SendInitialPacketsAfterAddToMap(); PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_ONLINE); - stmt->setUInt32(0, pCurrChar->GetGUIDLow()); - CharacterDatabase.Execute(stmt); stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPD_ACCOUNT_ONLINE); - stmt->setUInt32(0, GetAccountId()); - LoginDatabase.Execute(stmt); pCurrChar->SetInGameTime(getMSTime()); |
