Core/Packets: added few channel packet structs

This commit is contained in:
joschiwald
2014-11-15 16:22:32 +01:00
parent c375748b76
commit 96fa1eb5ec
6 changed files with 212 additions and 31 deletions

View File

@@ -728,7 +728,7 @@ void WorldSession::HandleAuctionListItems(WorldPacket& recvData)
TC_LOG_DEBUG("auctionHouse", "Auctionhouse search (%s) list from: %u, searchedname: %s, levelmin: %u, levelmax: %u, auctionSlotID: %u, auctionMainCategory: %u, auctionSubCategory: %u, quality: %u, usable: %u",
guid.ToString().c_str(), listfrom, searchedname.c_str(), levelmin, levelmax, auctionSlotID, auctionMainCategory, auctionSubCategory, quality, usable);
WorldPacket data(SMSG_AUCTION_LIST_RESULT, (4+4+4));
WorldPacket data(SMSG_AUCTION_LIST_ITEMS_RESULT, (4+4+4));
uint32 count = 0;
uint32 totalcount = 0;
data << uint32(0);

View File

@@ -0,0 +1,78 @@
/*
* Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ChannelPackets.h"
#include "Channel.h"
WorldPacket const* WorldPackets::Channel::ChannelNotify::Write()
{
_worldPacket.WriteBits(Type, 6);
_worldPacket.WriteBits(Channel.length(), 7);
_worldPacket.WriteBits(Sender.length(), 6);
_worldPacket << SenderGuid;
_worldPacket << SenderBnetAccountID;
_worldPacket << uint32(SenderVirtualRealm);
_worldPacket << TargetGuid;
_worldPacket << uint32(TargetVirtualRealm);
_worldPacket << int32(ChatChannelID);
if (Type == CHAT_MODE_CHANGE_NOTICE)
{
_worldPacket << uint8(OldFlags);
_worldPacket << uint8(NewFlags);
}
_worldPacket.WriteString(Channel);
_worldPacket.WriteString(Sender);
return &_worldPacket;
}
WorldPacket const* WorldPackets::Channel::ChannelNotifyJoined::Write()
{
_worldPacket.WriteBits(Channel.length(), 7);
_worldPacket.WriteBits(ChannelWelcomeMsg.length(), 10);
_worldPacket << uint8(ChannelFlags);
_worldPacket << int32(ChatChannelID);
_worldPacket << uint64(InstanceID);
_worldPacket.WriteString(Channel);
_worldPacket.WriteString(ChannelWelcomeMsg);
return &_worldPacket;
}
WorldPacket const* WorldPackets::Channel::ChannelNotifyLeft::Write()
{
_worldPacket.WriteBits(Channel.length(), 7);
_worldPacket.WriteBit(Suspended);
_worldPacket << int32(ChatChannelID);
_worldPacket.WriteString(Channel);
return &_worldPacket;
}
void WorldPackets::Channel::JoinChannel::Read()
{
_worldPacket >> ChatChannelId;
CreateVoiceSession = _worldPacket.ReadBit();
Internal = _worldPacket.ReadBit();
uint32 channelLength = _worldPacket.ReadBits(7);
uint32 passwordLength = _worldPacket.ReadBits(7);
ChannelName = _worldPacket.ReadString(channelLength);
Password = _worldPacket.ReadString(passwordLength);
}

View File

@@ -0,0 +1,90 @@
/*
* Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef ChannelPackets_h__
#define ChannelPackets_h__
#include "Packet.h"
#include "ObjectGuid.h"
namespace WorldPackets
{
namespace Channel
{
class ChannelNotify final : public ServerPacket
{
public:
ChannelNotify() : ServerPacket(SMSG_CHANNEL_NOTIFY, 80) { }
WorldPacket const* Write() override;
std::string Sender;
ObjectGuid SenderGuid;
ObjectGuid SenderBnetAccountID;
uint8 Type = 0;
uint8 OldFlags = 0;
uint8 NewFlags = 0;
std::string Channel;
uint32 SenderVirtualRealm = 0;
ObjectGuid TargetGuid;
uint32 TargetVirtualRealm = 0;
int32 ChatChannelID = 0;
};
class ChannelNotifyJoined final : public ServerPacket
{
public:
ChannelNotifyJoined() : ServerPacket(SMSG_CHANNEL_NOTIFY_JOINED, 50) { }
WorldPacket const* Write() override;
std::string ChannelWelcomeMsg;
int32 ChatChannelID = 0;
int32 InstanceID = 0;
uint8 ChannelFlags = 0;
std::string Channel;
};
class ChannelNotifyLeft final : public ServerPacket
{
public:
ChannelNotifyLeft() : ServerPacket(SMSG_CHANNEL_NOTIFY_LEFT, 30) { }
WorldPacket const* Write() override;
std::string Channel;
int32 ChatChannelID = 0;
bool Suspended = false;
};
class JoinChannel final : public ClientPacket
{
public:
JoinChannel(WorldPacket&& packet) : ClientPacket(CMSG_JOIN_CHANNEL, std::move(packet)) { }
void Read() override;
std::string Password;
std::string ChannelName;
bool CreateVoiceSession = false;
int32 ChatChannelId = 0;
bool Internal = false;
};
}
}
#endif // ChannelPackets_h__

View File

@@ -44,7 +44,7 @@ void WorldPackets::Movement::ClientPlayerMovement::Read()
movementInfo.flags = _worldPacket.ReadBits(30);
movementInfo.flags2 = _worldPacket.ReadBits(15);
bool hasTransport = _worldPacket.ReadBit();
bool hasFall = _worldPacket.ReadBit();
@@ -170,8 +170,8 @@ WorldPacket const* WorldPackets::Movement::ServerPlayerMovement::Write()
_worldPacket << movementInfo.jump.xyspeed;
}
}
_worldPacket.FlushBits();
return &_worldPacket;
}
}

View File

@@ -20,10 +20,10 @@
#include "WorldSession.h"
#include "Packets/CharacterPackets.h"
#include "Packets/GuildPackets.h"
#include "Packets/TradePackets.h"
#include "Packets/MiscPackets.h"
#include "Packets/QueryPackets.h"
#include "Packets/MovementPackets.h"
#include "Packets/QueryPackets.h"
#include "Packets/TradePackets.h"
template<class PacketClass, void(WorldSession::*HandlerFunction)(PacketClass&)>
class PacketHandler : public OpcodeHandler
@@ -167,7 +167,10 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEMASTER_JOIN_RATED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_GET_PRODUCT_LIST_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_GET_PURCHASE_LIST_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_DELETE_PET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_MODIFY_NAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_NAME_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_SET_BATTLE_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BEGIN_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBeginTradeOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BINDER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBinderActivateOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BUG, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBugOpcode );
@@ -228,7 +231,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_CHAR_CREATE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CreateChar, &WorldSession::HandleCharCreateOpcode);
DEFINE_HANDLER(CMSG_CHAR_CUSTOMIZE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharCustomize, &WorldSession::HandleCharCustomizeOpcode);
DEFINE_HANDLER(CMSG_CHAR_DELETE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::DeleteChar, &WorldSession::HandleCharDeleteOpcode);
DEFINE_HANDLER(CMSG_CHAR_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharEnumOpcode );
DEFINE_HANDLER(CMSG_CHAR_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharEnumOpcode);
DEFINE_HANDLER(CMSG_CHAR_RACE_OR_FACTION_CHANGE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharRaceOrFactionChange, &WorldSession::HandleCharRaceOrFactionChangeOpcode);
DEFINE_HANDLER(CMSG_CHAR_RENAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAR_UNDELETE_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharUndeleteEnumOpcode );
@@ -531,6 +534,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_REALM_NAME_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REALM_SPLIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRealmSplitOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_RECLAIM_CORPSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReclaimCorpseOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_RECRUIT_A_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REFORGE_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleReforgeItemOpcode );
DEFINE_HANDLER(CMSG_REORDER_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::ReorderCharacters, &WorldSession::HandleReorderCharacters);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REPAIR_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRepairItemOpcode );
@@ -721,7 +725,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_COMMAND_RESULT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_HELLO, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_PENDING_SALES, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_RESULT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_LIST_ITEMS_RESULT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_OWNER_LIST_RESULT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_OWNER_NOTIFICATION, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_REMOVED_NOTIFICATION, STATUS_UNHANDLED);
@@ -795,6 +799,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_LIST, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_MEMBER_COUNT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_JOINED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_LEFT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_START, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_UPDATE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_LOGIN_FAILED, STATUS_UNHANDLED);
@@ -820,6 +826,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENTCACHE_VERSION, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENT_CONTROL_UPDATE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_EVENT_FAILED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_MAP_INFO, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_PARTY_INFO, STATUS_UNHANDLED);

View File

@@ -78,35 +78,38 @@ enum OpcodeClient : uint32
CMSG_AUCTION_SELL_ITEM = 0xBADD,
CMSG_AUTH_CONTINUED_SESSION = 0x0485,
CMSG_AUTH_SESSION = 0x0487,
CMSG_AUTOBANK_ITEM = 0xBADD,
CMSG_AUTOBANK_ITEM = 0x0751,
CMSG_AUTOEQUIP_GROUND_ITEM = 0xBADD,
CMSG_AUTOEQUIP_ITEM = 0xBADD,
CMSG_AUTOEQUIP_ITEM = 0x0F35,
CMSG_AUTOEQUIP_ITEM_SLOT = 0xBADD,
CMSG_AUTOSTORE_BAG_ITEM = 0xBADD,
CMSG_AUTOSTORE_BANK_ITEM = 0xBADD,
CMSG_AUTOSTORE_BAG_ITEM = 0x0F18,
CMSG_AUTOSTORE_BANK_ITEM = 0x0732,
CMSG_AUTOSTORE_GROUND_ITEM = 0xBADD,
CMSG_AUTOSTORE_LOOT_ITEM = 0xBADD,
CMSG_AUTOSTORE_LOOT_ITEM = 0x0609,
CMSG_AUTO_DECLINE_GUILD_INVITE = 0xBADD,
CMSG_AUTO_DECLINE_GUILD_INVITES = 0xBADD,
CMSG_BANKER_ACTIVATE = 0x1B24,
CMSG_BATTLEFIELD_JOIN = 0xBADD,
CMSG_BATTLEFIELD_LEAVE = 0xBADD,
CMSG_BATTLEFIELD_LIST = 0x03B1,
CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0xBADD,
CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0xBADD,
CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE = 0xBADD,
CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0x059A,
CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0x1381,
CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE = 0x122A,
CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST = 0xBADD,
CMSG_BATTLEFIELD_PORT = 0xBADD,
CMSG_BATTLEFIELD_PORT = 0x11EB,
CMSG_BATTLEFIELD_REQUEST_SCORE_DATA = 0xBADD,
CMSG_BATTLEFIELD_STATUS = 0xBADD,
CMSG_BATTLEGROUND_PLAYER_POSITIONS = 0xBADD,
CMSG_BATTLEMASTER_JOIN = 0xBADD,
CMSG_BATTLEMASTER_JOIN_ARENA = 0xBADD,
CMSG_BATTLEMASTER_JOIN = 0x0D2E,
CMSG_BATTLEMASTER_JOIN_ARENA = 0x0DAE,
CMSG_BATTLEMASTER_JOIN_RATED = 0xBADD,
CMSG_BATTLEMASTER_HELLO = 0xBADD,
CMSG_BATTLE_PAY_GET_PRODUCT_LIST_QUERY = 0x1389,
CMSG_BATTLE_PAY_GET_PURCHASE_LIST_QUERY = 0x120C,
CMSG_BATTLE_PET_DELETE_PET = 0x07B9,
CMSG_BATTLE_PET_MODIFY_NAME = 0x03A9,
CMSG_BATTLE_PET_NAME_QUERY = 0x041C,
CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x120B,
CMSG_BEGIN_TRADE = 0xBADD,
CMSG_BINDER_ACTIVATE = 0x02F3,
CMSG_BOT_DETECTED2 = 0xBADD,
@@ -277,7 +280,7 @@ enum OpcodeClient : uint32
CMSG_GUILD_EVENT_LOG_QUERY = 0xBADD,
CMSG_GUILD_INFO = 0xBADD,
CMSG_GUILD_INFO_TEXT = 0xBADD,
CMSG_GUILD_INVITE = 0xBADD,
CMSG_GUILD_INVITE = 0x19A4,
CMSG_GUILD_LEAVE = 0xBADD,
CMSG_GUILD_MEMBER_SEND_SOR_REQUEST = 0xBADD,
CMSG_GUILD_MOTD = 0xBADD,
@@ -344,8 +347,8 @@ enum OpcodeClient : uint32
CMSG_LOOT_MONEY = 0xBADD,
CMSG_LOOT_RELEASE = 0xBADD,
CMSG_LOOT_ROLL = 0xBADD,
CMSG_MAIL_CREATE_TEXT_ITEM = 0xBADD,
CMSG_MAIL_DELETE = 0xBADD,
CMSG_MAIL_CREATE_TEXT_ITEM = 0x13D1,
CMSG_MAIL_DELETE = 0x068C,
CMSG_MAIL_MARK_AS_READ = 0xBADD,
CMSG_MAIL_RETURN_TO_SENDER = 0xBADD,
CMSG_MAIL_TAKE_ITEM = 0xBADD,
@@ -497,6 +500,7 @@ enum OpcodeClient : uint32
CMSG_REALM_NAME_QUERY = 0x1189,
CMSG_REALM_SPLIT = 0xBADD,
CMSG_RECLAIM_CORPSE = 0xBADD,
CMSG_RECRUIT_A_FRIEND = 0x07BA,
CMSG_REFORGE_ITEM = 0xBADD,
CMSG_REORDER_CHARACTERS = 0x0DAA,
CMSG_REPAIR_ITEM = 0x0B54,
@@ -718,7 +722,7 @@ enum OpcodeServer : uint32
SMSG_AUCTION_COMMAND_RESULT = 0x0B2D,
SMSG_AUCTION_HELLO = 0x011F,
SMSG_AUCTION_LIST_PENDING_SALES = 0xBADD,
SMSG_AUCTION_LIST_RESULT = 0x19D2,
SMSG_AUCTION_LIST_ITEMS_RESULT = 0x0BA4,
SMSG_AUCTION_OWNER_LIST_RESULT = 0xBADD,
SMSG_AUCTION_OWNER_NOTIFICATION = 0xBADD,
SMSG_AUCTION_REMOVED_NOTIFICATION = 0xBADD,
@@ -796,6 +800,7 @@ enum OpcodeServer : uint32
SMSG_CHANNEL_MEMBER_COUNT = 0xBADD,
SMSG_CHANNEL_NOTIFY = 0x0643,
SMSG_CHANNEL_NOTIFY_JOINED = 0x1602,
SMSG_CHANNEL_NOTIFY_LEFT = 0x1452,
SMSG_CHANNEL_START = 0x016C,
SMSG_CHANNEL_UPDATE = 0x19DB,
SMSG_CHARACTER_LOGIN_FAILED = 0xBADD,
@@ -823,6 +828,7 @@ enum OpcodeServer : uint32
SMSG_CLEAR_TARGET = 0xBADD,
SMSG_CLIENTCACHE_VERSION = 0x080D,
SMSG_CLIENT_CONTROL_UPDATE = 0xBADD,
SMSG_COIN_REMOVED = 0x0D30,
SMSG_COMBAT_EVENT_FAILED = 0xBADD,
SMSG_COMBAT_LOG_MULTIPLE = 0xBADD,
SMSG_COMMENTATOR_MAP_INFO = 0xBADD,
@@ -837,7 +843,7 @@ enum OpcodeServer : uint32
SMSG_COMSAT_CONNECT_FAIL = 0xBADD,
SMSG_COMSAT_DISCONNECT = 0xBADD,
SMSG_COMSAT_RECONNECT_TRY = 0xBADD,
SMSG_CONTACT_LIST = 0xBADD,
SMSG_CONTACT_LIST = 0x0210,
SMSG_CONTACT_STATUS = 0x1BEA,
SMSG_CONVERT_RUNE = 0xBADD,
SMSG_COOLDOWN_CHEAT = 0xBADD,
@@ -1163,7 +1169,7 @@ enum OpcodeServer : uint32
SMSG_PAGE_TEXT_QUERY_RESPONSE = 0x05A0,
SMSG_PARTYKILLLOG = 0xBADD,
SMSG_PARTY_COMMAND_RESULT = 0xBADD,
SMSG_PARTY_MEMBER_STATS = 0xBADD,
SMSG_PARTY_MEMBER_STATS = 0x1729,
SMSG_PARTY_MEMBER_STATS_FULL = 0xBADD,
SMSG_PAUSE_MIRROR_TIMER = 0xBADD,
SMSG_PERIODICAURALOG = 0x0B1B,
@@ -1202,7 +1208,7 @@ enum OpcodeServer : uint32
SMSG_PLAY_OBJECT_SOUND = 0xBADD,
SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0xBADD,
SMSG_PLAY_SOUND = 0x02D2,
SMSG_PLAY_SPELL_VISUAL = 0xBADD,
SMSG_PLAY_SPELL_VISUAL = 0x1A84,
SMSG_PLAY_SPELL_VISUAL_KIT = 0x0171,
SMSG_PLAY_TIME_WARNING = 0xBADD,
SMSG_PONG = 0x17CA,
@@ -1217,7 +1223,7 @@ enum OpcodeServer : uint32
SMSG_PVP_SEASON = 0x09E3,
SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 0xBADD,
SMSG_QUERY_TIME_RESPONSE = 0x1DB0,
SMSG_QUESTGIVER_OFFER_REWARD = 0xBADD,
SMSG_QUESTGIVER_OFFER_REWARD = 0x17B2,
SMSG_QUESTGIVER_QUEST_COMPLETE = 0x1773,
SMSG_QUESTGIVER_QUEST_DETAILS = 0x15B3,
SMSG_QUESTGIVER_QUEST_FAILED = 0xBADD,
@@ -1228,7 +1234,7 @@ enum OpcodeServer : uint32
SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x17C6,
SMSG_QUESTLOG_FULL = 0xBADD,
SMSG_QUESTUPDATE_ADD_ITEM = 0xBADD,
SMSG_QUESTUPDATE_ADD_KILL = 0xBADD,
SMSG_QUESTUPDATE_ADD_KILL = 0x1515,
SMSG_QUESTUPDATE_ADD_PVP_KILL = 0xBADD,
SMSG_QUESTUPDATE_COMPLETE = 0xBADD,
SMSG_QUESTUPDATE_FAILED = 0xBADD,
@@ -1387,7 +1393,7 @@ enum OpcodeServer : uint32
SMSG_TRAINER_BUY_FAILED = 0xBADD,
SMSG_TRAINER_BUY_SUCCEEDED = 0xBADD,
SMSG_TRAINER_LIST = 0x0BA9,
SMSG_TRANSFER_ABORTED = 0xBADD,
SMSG_TRANSFER_ABORTED = 0x03C2,
SMSG_TRANSFER_PENDING = 0x172A,
SMSG_TRIGGER_CINEMATIC = 0xBADD,
SMSG_TRIGGER_MOVIE = 0xBADD,
@@ -1423,8 +1429,8 @@ enum OpcodeServer : uint32
SMSG_VOID_STORAGE_FAILED = 0xBADD,
SMSG_VOID_STORAGE_TRANSFER_CHANGES = 0x0321,
SMSG_VOID_TRANSFER_RESULT = 0x0539,
SMSG_WAIT_QUEUE_FINISH = 0xBADD,
SMSG_WAIT_QUEUE_UPDATE = 0xBADD,
SMSG_WAIT_QUEUE_FINISH = 0x198A,
SMSG_WAIT_QUEUE_UPDATE = 0x00D4,
SMSG_WARDEN_DATA = 0x0BEC,
SMSG_WARGAME_CHECK_ENTRY = 0xBADD,
SMSG_WARGAME_REQUEST_SENT = 0xBADD,