aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-04-03 20:19:29 -0500
committerSubv <s.v.h21@hotmail.com>2012-04-03 20:19:29 -0500
commit56cd111c64cecaa9ac5df0a1e57cd3fdcd6a19b8 (patch)
treeb7ed854c736c385db6065fa3ef7ce266d8307bcb
parentfc673fce920fca74652576276dee3df991c117bf (diff)
Core/Protocol: Fixed structure of CMSG_GUILD_ROSTER and added a new opcode
-rwxr-xr-xsrc/server/game/Handlers/GuildHandler.cpp40
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp1
-rwxr-xr-xsrc/server/game/Server/Protocol/Opcodes.h2
-rwxr-xr-xsrc/server/game/Server/WorldSession.h1
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);