diff options
-rwxr-xr-x | src/server/game/Handlers/GuildHandler.cpp | 40 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 1 | ||||
-rwxr-xr-x | src/server/game/Server/Protocol/Opcodes.h | 2 | ||||
-rwxr-xr-x | src/server/game/Server/WorldSession.h | 1 |
4 files changed, 35 insertions, 9 deletions
diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp index fd3f0c07fb4..f2a905def42 100755 --- a/src/server/game/Handlers/GuildHandler.cpp +++ b/src/server/game/Handlers/GuildHandler.cpp @@ -134,13 +134,13 @@ void WorldSession::HandleGuildRosterOpcode(WorldPacket& recvPacket) ByteBuffer bytes(8, true); recvPacket.ReadXorByte(mask[0], bytes[7]); - recvPacket.ReadXorByte(mask[5], bytes[4]); - recvPacket.ReadXorByte(mask[4], bytes[5]); - recvPacket.ReadXorByte(mask[7], bytes[0]); - recvPacket.ReadXorByte(mask[3], bytes[1]); - recvPacket.ReadXorByte(mask[2], bytes[2]); - recvPacket.ReadXorByte(mask[1], bytes[6]); - recvPacket.ReadXorByte(mask[6], bytes[3]); + recvPacket.ReadXorByte(mask[3], bytes[5]); + recvPacket.ReadXorByte(mask[4], bytes[4]); + recvPacket.ReadXorByte(mask[5], bytes[0]); + recvPacket.ReadXorByte(mask[6], bytes[1]); + recvPacket.ReadXorByte(mask[1], bytes[2]); + recvPacket.ReadXorByte(mask[2], bytes[6]); + recvPacket.ReadXorByte(mask[7], bytes[3]); uint64 guildGuid = BitConverter::ToUInt64(bytes); @@ -576,7 +576,7 @@ void WorldSession::HandleQueryGuildBankTabText(WorldPacket &recv_data) guild->SendBankTabText(this, tabId); } -void WorldSession::HandleSetGuildBankTabText(WorldPacket &recv_data) +void WorldSession::HandleSetGuildBankTabText(WorldPacket& recv_data) { sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_SET_GUILD_BANK_TEXT"); @@ -589,3 +589,27 @@ void WorldSession::HandleSetGuildBankTabText(WorldPacket &recv_data) if (Guild* guild = _GetPlayerGuild(this)) guild->SetBankTabText(tabId, text); } + +void WorldSession::HandleGuildQueryXPOpcode(WorldPacket& recv_data) +{ + sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUERY_GUILD_XP"); + /* + Bitstream is correct, it just needs a proper guild implementation + uint64 playerGuid = 0; + + BitStream mask = recv_data.ReadBitStream(8); + + ByteBuffer bytes(8, true); + + recv_data.ReadXorByte(mask[5], bytes[6]); + recv_data.ReadXorByte(mask[1], bytes[2]); + recv_data.ReadXorByte(mask[7], bytes[1]); + recv_data.ReadXorByte(mask[4], bytes[4]); + recv_data.ReadXorByte(mask[0], bytes[0]); + recv_data.ReadXorByte(mask[6], bytes[3]); + recv_data.ReadXorByte(mask[3], bytes[5]); + recv_data.ReadXorByte(mask[2], bytes[7]); + + playerGuid = BitConverter::ToUInt64(bytes); + */ +}
\ No newline at end of file diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 541fd054e89..98af62e85b5 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -127,6 +127,7 @@ void InitOpcodes() DEFINE_OPCODE_HANDLER(CMSG_PET_NAME_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetNameQuery ); DEFINE_OPCODE_HANDLER(SMSG_PET_NAME_QUERY_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); DEFINE_OPCODE_HANDLER(CMSG_GUILD_QUERY, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryOpcode ); + DEFINE_OPCODE_HANDLER(CMSG_QUERY_GUILD_XP, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryXPOpcode ); DEFINE_OPCODE_HANDLER(SMSG_GUILD_QUERY_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); DEFINE_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); DEFINE_OPCODE_HANDLER(CMSG_PAGE_TEXT_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePageTextQueryOpcode ); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 0f6dcb48677..4a628c3c50a 100755 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -345,7 +345,7 @@ enum Opcodes CMSG_PUSHQUESTTOPARTY = 0xA47, CMSG_QUERY_GUILD_MAX_XP = 0x00, CMSG_QUERY_GUILD_REWARDS = 0x00, - CMSG_QUERY_GUILD_XP = 0x00, + CMSG_QUERY_GUILD_XP = 0x0952, CMSG_QUERY_QUESTS_COMPLETED = 0x98DF, CMSG_QUERY_TIME = 0x18FE, CMSG_QUEST_CONFIRM_ACCEPT = 0x8CD3, diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 21cc3991b9f..dcfab847504 100755 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -873,6 +873,7 @@ class WorldSession void HandleGuildBankBuyTab(WorldPacket& recv_data); void HandleQueryGuildBankTabText(WorldPacket& recv_data); void HandleSetGuildBankTabText(WorldPacket& recv_data); + void HandleGuildQueryXPOpcode(WorldPacket& recv_data); // Refer-a-Friend void HandleGrantLevel(WorldPacket& recv_data); |