Core/Protocol: Fixed structure of CMSG_GUILD_ROSTER and added a new opcode

This commit is contained in:
Subv
2012-04-03 20:19:29 -05:00
parent fc673fce92
commit 56cd111c64
4 changed files with 35 additions and 9 deletions

View File

@@ -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);
*/
}

View File

@@ -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 );

View File

@@ -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,

View File

@@ -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);