aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2015-01-02 02:20:40 +0100
committerjoschiwald <joschiwald.trinity@gmail.com>2015-01-02 02:20:40 +0100
commita4afd80479a3cdb7938dd7dc091205118518b390 (patch)
tree89dacd948a12202513e4167a2a056c96e93ecbe7 /src/server
parentccc293931d00a192f9ff2a1302bd9cb51ad6778f (diff)
Core/Packets: updated some channel moderation packets
- synch opcodes with wpp
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Battlegrounds/BattlegroundMgr.cpp2
-rw-r--r--src/server/game/Chat/Channels/Channel.cpp71
-rw-r--r--src/server/game/Chat/Channels/Channel.h48
-rw-r--r--src/server/game/Chat/Channels/ChannelMgr.cpp1
-rw-r--r--src/server/game/Chat/Channels/ChannelMgr.h1
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp2
-rw-r--r--src/server/game/Groups/Group.cpp2
-rw-r--r--src/server/game/Handlers/ChannelHandler.cpp292
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp5
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp6
-rw-r--r--src/server/game/Handlers/TaxiHandler.cpp2
-rw-r--r--src/server/game/Handlers/VoiceChatHandler.cpp8
-rw-r--r--src/server/game/Server/Packet.cpp4
-rw-r--r--src/server/game/Server/Packet.h4
-rw-r--r--src/server/game/Server/Packets/ChannelPackets.cpp53
-rw-r--r--src/server/game/Server/Packets/ChannelPackets.h57
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp52
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h2
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp76
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h243
-rw-r--r--src/server/game/Server/WorldSession.h34
-rw-r--r--src/server/game/Server/WorldSocketMgr.cpp2
22 files changed, 430 insertions, 537 deletions
diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
index 23de59de0c4..9a6b1c3412e 100644
--- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
+++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
@@ -162,7 +162,7 @@ void BattlegroundMgr::BuildBattlegroundStatusPacket(WorldPacket* data, Battlegro
{
case STATUS_NONE:
{
- data->Initialize(SMSG_BATTLEFIELD_STATUS);
+ data->Initialize(SMSG_BATTLEFIELD_STATUS_NONE);
data->WriteBit(playerGuid[0]);
data->WriteBit(playerGuid[4]);
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp
index ce5b8338b1f..04b6eb1b5b1 100644
--- a/src/server/game/Chat/Channels/Channel.cpp
+++ b/src/server/game/Chat/Channels/Channel.cpp
@@ -17,13 +17,14 @@
*/
#include "Channel.h"
+#include "AccountMgr.h"
+#include "ChannelPackets.h"
#include "Chat.h"
+#include "DatabaseEnv.h"
#include "ObjectMgr.h"
+#include "Player.h"
#include "SocialMgr.h"
#include "World.h"
-#include "DatabaseEnv.h"
-#include "AccountMgr.h"
-#include "Player.h"
Channel::Channel(std::string const& name, uint32 channelId, uint32 team):
_announce(true),
@@ -726,6 +727,34 @@ void Channel::SetOwner(ObjectGuid const& guid, bool exclaim)
}
}
+void Channel::SilenceAll(Player const* /*player*/, std::string const& /*name*/)
+{
+}
+
+void Channel::SilenceVoice(Player const* /*player*/, std::string const& /*name*/)
+{
+}
+
+void Channel::UnsilenceAll(Player const* /*player*/, std::string const& /*name*/)
+{
+}
+
+void Channel::UnsilenceVoice(Player const* /*player*/, std::string const& /*name*/)
+{
+}
+
+void Channel::DeclineInvite(Player const* /*player*/)
+{
+}
+
+void Channel::Voice(Player const* /*player*/)
+{
+}
+
+void Channel::DeVoice(Player const* /*player*/)
+{
+}
+
void Channel::SendToAll(WorldPacket const* data, ObjectGuid const& guid)
{
for (PlayerContainer::value_type const& i : _playersStore)
@@ -748,16 +777,6 @@ void Channel::SendToOne(WorldPacket const* data, ObjectGuid const& who)
player->SendDirectMessage(data);
}
-void Channel::Voice(ObjectGuid const& /*guid1*/, ObjectGuid const& /*guid2*/)
-{
-
-}
-
-void Channel::DeVoice(ObjectGuid const& /*guid1*/, ObjectGuid const& /*guid2*/)
-{
-
-}
-
void Channel::MakeNotifyPacket(WorldPackets::Channel::ChannelNotify& data, uint8 notifyType)
{
data.Type = notifyType;
@@ -998,3 +1017,29 @@ void Channel::LeaveNotify(Player const* player)
else
SendToAll(&data);
}
+
+void Channel::SetModerator(ObjectGuid const& guid, bool set)
+{
+ if (_playersStore[guid].IsModerator() != set)
+ {
+ uint8 oldFlag = _playersStore[guid].GetFlags();
+ _playersStore[guid].SetModerator(set);
+
+ WorldPackets::Channel::ChannelNotify data;
+ MakeModeChange(data, guid, oldFlag, _playersStore[guid].GetFlags());
+ SendToAll(data.Write());
+ }
+}
+
+void Channel::SetMute(ObjectGuid const& guid, bool set)
+{
+ if (_playersStore[guid].IsMuted() != set)
+ {
+ uint8 oldFlag = _playersStore[guid].GetFlags();
+ _playersStore[guid].SetMuted(set);
+
+ WorldPackets::Channel::ChannelNotify data;
+ MakeModeChange(data, guid, oldFlag, _playersStore[guid].GetFlags());
+ SendToAll(data.Write());
+ }
+}
diff --git a/src/server/game/Chat/Channels/Channel.h b/src/server/game/Chat/Channels/Channel.h
index 9f5b9750699..c1b39b0938a 100644
--- a/src/server/game/Chat/Channels/Channel.h
+++ b/src/server/game/Chat/Channels/Channel.h
@@ -21,12 +21,16 @@
#include "Common.h"
-#include "WorldSession.h"
-
-#include "Packets/ChannelPackets.h"
-
class Player;
+namespace WorldPackets
+{
+ namespace Channel
+ {
+ class ChannelNotify;
+ }
+}
+
enum ChatNotify
{
CHAT_JOINED_NOTICE = 0x00, //+ "%s joined channel.";
@@ -187,12 +191,17 @@ class Channel
void UnsetModerator(Player const* player, std::string const& newname) { SetMode(player, newname, true, false); }
void SetMute(Player const* player, std::string const& newname) { SetMode(player, newname, false, true); }
void UnsetMute(Player const* player, std::string const& newname) { SetMode(player, newname, false, false); }
+ void SilenceAll(Player const* player, std::string const& name);
+ void SilenceVoice(Player const* player, std::string const& name);
+ void UnsilenceAll(Player const* player, std::string const& name);
+ void UnsilenceVoice(Player const* player, std::string const& name);
void List(Player const* player);
void Announce(Player const* player);
void Say(ObjectGuid const& guid, std::string const& what, uint32 lang);
+ void DeclineInvite(Player const* player);
void Invite(Player const* player, std::string const& newp);
- void Voice(ObjectGuid const& guid1, ObjectGuid const& guid2);
- void DeVoice(ObjectGuid const& guid1, ObjectGuid const& guid2);
+ void Voice(Player const* player);
+ void DeVoice(Player const* player);
void JoinNotify(Player const* player);
void LeaveNotify(Player const* player);
void SetOwnership(bool ownership) { _ownership = ownership; };
@@ -253,31 +262,8 @@ class Channel
return itr != _playersStore.end() ? itr->second.GetFlags() : 0;
}
- void SetModerator(ObjectGuid const& guid, bool set)
- {
- if (_playersStore[guid].IsModerator() != set)
- {
- uint8 oldFlag = _playersStore[guid].GetFlags();
- _playersStore[guid].SetModerator(set);
-
- WorldPackets::Channel::ChannelNotify data;
- MakeModeChange(data, guid, oldFlag, _playersStore[guid].GetFlags());
- SendToAll(data.Write());
- }
- }
-
- void SetMute(ObjectGuid const& guid, bool set)
- {
- if (_playersStore[guid].IsMuted() != set)
- {
- uint8 oldFlag = _playersStore[guid].GetFlags();
- _playersStore[guid].SetMuted(set);
-
- WorldPackets::Channel::ChannelNotify data;
- MakeModeChange(data, guid, oldFlag, _playersStore[guid].GetFlags());
- SendToAll(data.Write());
- }
- }
+ void SetModerator(ObjectGuid const& guid, bool set);
+ void SetMute(ObjectGuid const& guid, bool set);
typedef std::map<ObjectGuid, PlayerInfo> PlayerContainer;
typedef GuidSet BannedContainer;
diff --git a/src/server/game/Chat/Channels/ChannelMgr.cpp b/src/server/game/Chat/Channels/ChannelMgr.cpp
index 2560fe6e807..fdf0285dee6 100644
--- a/src/server/game/Chat/Channels/ChannelMgr.cpp
+++ b/src/server/game/Chat/Channels/ChannelMgr.cpp
@@ -17,6 +17,7 @@
*/
#include "ChannelMgr.h"
+#include "ChannelPackets.h"
#include "Player.h"
#include "World.h"
#include "WorldSession.h"
diff --git a/src/server/game/Chat/Channels/ChannelMgr.h b/src/server/game/Chat/Channels/ChannelMgr.h
index 0e1dea4a951..175e7082727 100644
--- a/src/server/game/Chat/Channels/ChannelMgr.h
+++ b/src/server/game/Chat/Channels/ChannelMgr.h
@@ -21,6 +21,7 @@
#include "Common.h"
#include "Channel.h"
+#define MAX_CHANNEL_NAME_STR 0x31
#define MAX_CHANNEL_PASS_STR 31
class ChannelMgr
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index db1ff2d5d6f..5fe98b3f31b 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -13334,7 +13334,7 @@ void Unit::Kill(Unit* victim, bool durabilityLoss)
// call kill spell proc event (before real die and combat stop to triggering auras removed at death/combat stop)
if (isRewardAllowed && player && player != victim)
{
- WorldPacket data(SMSG_PARTYKILLLOG, (8+8)); // send event PARTY_KILL
+ WorldPacket data(SMSG_PARTY_KILL_LOG, (8+8)); // send event PARTY_KILL
data << player->GetGUID(); // player with killing blow
data << victim->GetGUID(); // victim
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index caf9227b4d4..0bc69fc7183 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -1669,7 +1669,7 @@ void Group::OfflineReadyCheck()
Player* player = ObjectAccessor::FindConnectedPlayer(citr->guid);
if (!player || !player->GetSession())
{
- WorldPacket data(MSG_RAID_READY_CHECK_CONFIRM, 9);
+ WorldPacket data(SMSG_RAID_READY_CHECK_CONFIRM, 9);
data << citr->guid;
data << uint8(0);
BroadcastReadyCheck(&data);
diff --git a/src/server/game/Handlers/ChannelHandler.cpp b/src/server/game/Handlers/ChannelHandler.cpp
index 245665d8d3b..c5e1c3e7fad 100644
--- a/src/server/game/Handlers/ChannelHandler.cpp
+++ b/src/server/game/Handlers/ChannelHandler.cpp
@@ -70,270 +70,72 @@ void WorldSession::HandleLeaveChannel(WorldPackets::Channel::LeaveChannel& packe
}
}
-void WorldSession::HandleChannelList(WorldPackets::Channel::ChannelListRequest& packet)
+template<void(Channel::*CommandFunction)(Player const*)>
+void WorldSession::HandleChannelCommand(WorldPackets::Channel::ChannelPlayerCommand& packet)
{
TC_LOG_DEBUG("chat.system", "%s %s ChannelName: %s",
GetOpcodeNameForLogging(packet.GetOpcode()).c_str(), GetPlayerInfo().c_str(), packet.ChannelName.c_str());
if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
if (Channel* channel = cMgr->GetChannel(packet.ChannelName, GetPlayer()))
- channel->List(GetPlayer());
+ (channel->*CommandFunction)(GetPlayer());
}
-void WorldSession::HandleChannelPassword(WorldPacket& recvPacket)
+template<void(Channel::*CommandFunction)(Player const*, std::string const&)>
+void WorldSession::HandleChannelPlayerCommand(WorldPackets::Channel::ChannelPlayerCommand& packet)
{
- uint32 nameLength = recvPacket.ReadBits(8);
- uint32 passLength = recvPacket.ReadBits(7);
-
- std::string channelName = recvPacket.ReadString(nameLength);
- std::string password = recvPacket.ReadString(passLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_PASSWORD %s Channel: %s, Password: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), password.c_str());
-
- if (password.length() > MAX_CHANNEL_PASS_STR)
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->Password(GetPlayer(), password);
-}
-
-void WorldSession::HandleChannelSetOwner(WorldPacket& recvPacket)
-{
- uint32 channelLength = recvPacket.ReadBits(8);
- uint32 nameLength = recvPacket.ReadBits(7);
-
- std::string targetName = recvPacket.ReadString(nameLength);
- std::string channelName = recvPacket.ReadString(channelLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_SET_OWNER %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->SetOwner(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelOwner(WorldPacket& recvPacket)
-{
- uint32 length = recvPacket.ReadBits(8);
- std::string channelName = recvPacket.ReadString(length);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_OWNER %s Channel: %s",
- GetPlayerInfo().c_str(), channelName.c_str());
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->SendWhoOwner(GetPlayer());
-}
-
-void WorldSession::HandleChannelModerator(WorldPacket& recvPacket)
-{
- uint32 channelLength = recvPacket.ReadBits(8);
- uint32 nameLength = recvPacket.ReadBits(7);
-
- std::string targetName = recvPacket.ReadString(nameLength);
- std::string channelName = recvPacket.ReadString(channelLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_MODERATOR %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->SetModerator(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelUnmoderator(WorldPacket& recvPacket)
-{
- uint32 nameLength = recvPacket.ReadBits(7);
- uint32 channelLength = recvPacket.ReadBits(8);
-
- std::string channelName = recvPacket.ReadString(channelLength);
- std::string targetName = recvPacket.ReadString(nameLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_UNMODERATOR %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->UnsetModerator(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelMute(WorldPacket& recvPacket)
-{
- uint32 channelLength = recvPacket.ReadBits(8);
- uint32 nameLength = recvPacket.ReadBits(7);
-
- std::string channelName = recvPacket.ReadString(channelLength);
- std::string targetName = recvPacket.ReadString(nameLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_MUTE %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->SetMute(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelUnmute(WorldPacket& recvPacket)
-{
- uint32 nameLength = recvPacket.ReadBits(8);
- uint32 channelLength = recvPacket.ReadBits(7);
-
- std::string targetName = recvPacket.ReadString(nameLength);
- std::string channelName = recvPacket.ReadString(channelLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_UNMUTE %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->UnsetMute(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelInvite(WorldPacket& recvPacket)
-{
- uint32 nameLength = recvPacket.ReadBits(7);
- uint32 channelLength = recvPacket.ReadBits(8);
-
- std::string targetName = recvPacket.ReadString(nameLength);
- std::string channelName = recvPacket.ReadString(channelLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_INVITE %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->Invite(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelKick(WorldPacket& recvPacket)
-{
- uint32 channelLength = recvPacket.ReadBits(8);
- uint32 nameLength = recvPacket.ReadBits(7);
-
- std::string channelName = recvPacket.ReadString(channelLength);
- std::string targetName = recvPacket.ReadString(nameLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_KICK %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
- return;
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->Kick(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelBan(WorldPacket& recvPacket)
-{
- uint32 channelLength, nameLength;
- std::string channelName, targetName;
-
- channelLength = recvPacket.ReadBits(8);
- nameLength = recvPacket.ReadBits(7);
-
- targetName = recvPacket.ReadString(nameLength);
- channelName = recvPacket.ReadString(channelLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_BAN %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
-
- if (!normalizePlayerName(targetName))
+ if (packet.Name.length() >= MAX_CHANNEL_NAME_STR)
+ {
+ TC_LOG_DEBUG("chat.system", "%s %s ChannelName: %s, Name: %s, Name too long.",
+ GetOpcodeNameForLogging(packet.GetOpcode()).c_str(), GetPlayerInfo().c_str(), packet.ChannelName.c_str(), packet.Name.c_str());
return;
+ }
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->Ban(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelUnban(WorldPacket& recvPacket)
-{
- uint32 channelLength = recvPacket.ReadBits(7);
- uint32 nameLength = recvPacket.ReadBits(8);
-
- std::string targetName = recvPacket.ReadString(nameLength);
- std::string channelName = recvPacket.ReadString(channelLength);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_UNBAN %s Channel: %s, Target: %s",
- GetPlayerInfo().c_str(), channelName.c_str(), targetName.c_str());
+ TC_LOG_DEBUG("chat.system", "%s %s ChannelName: %s, Name: %s",
+ GetOpcodeNameForLogging(packet.GetOpcode()).c_str(), GetPlayerInfo().c_str(), packet.ChannelName.c_str(), packet.Name.c_str());
- if (!normalizePlayerName(targetName))
+ if (!normalizePlayerName(packet.Name))
return;
if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->UnBan(GetPlayer(), targetName);
-}
-
-void WorldSession::HandleChannelAnnouncements(WorldPacket& recvPacket)
-{
- uint32 length = recvPacket.ReadBits(8);
- std::string channelName = recvPacket.ReadString(length);
-
- TC_LOG_DEBUG("chat.system", "CMSG_CHANNEL_ANNOUNCEMENTS %s Channel: %s",
- GetPlayerInfo().c_str(), channelName.c_str());
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->Announce(GetPlayer());
+ if (Channel* channel = cMgr->GetChannel(packet.ChannelName, GetPlayer()))
+ (channel->*CommandFunction)(GetPlayer(), packet.Name);
}
-void WorldSession::HandleGetChannelMemberCount(WorldPacket &recvPacket)
+template<>
+void WorldSession::HandleChannelPlayerCommand<&Channel::Password>(WorldPackets::Channel::ChannelPlayerCommand& packet)
{
- std::string channelName;
- recvPacket >> channelName;
-
- TC_LOG_DEBUG("chat.system", "CMSG_GET_CHANNEL_MEMBER_COUNT %s Channel: %s",
- GetPlayerInfo().c_str(), channelName.c_str());
-
- if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
+ if (packet.Name.length() > MAX_CHANNEL_PASS_STR)
{
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- {
- TC_LOG_DEBUG("chat.system", "SMSG_CHANNEL_MEMBER_COUNT %s Channel: %s Count: %u",
- GetPlayerInfo().c_str(), channelName.c_str(), channel->GetNumPlayers());
-
- WorldPacket data(SMSG_CHANNEL_MEMBER_COUNT, channel->GetName().size() + 1 + 4);
- data << channel->GetName();
- data << uint8(channel->GetFlags());
- data << uint32(channel->GetNumPlayers());
- SendPacket(&data);
- }
+ TC_LOG_DEBUG("chat.system", "%s %s ChannelName: %s, Password: %s, Password too long.",
+ GetOpcodeNameForLogging(packet.GetOpcode()).c_str(), GetPlayerInfo().c_str(), packet.ChannelName.c_str(), packet.Name.c_str());
+ return;
}
-}
-
-void WorldSession::HandleSetChannelWatch(WorldPacket& recvPacket)
-{
- std::string channelName;
- recvPacket >> channelName;
- TC_LOG_DEBUG("chat.system", "CMSG_SET_CHANNEL_WATCH %s Channel: %s",
- GetPlayerInfo().c_str(), channelName.c_str());
+ TC_LOG_DEBUG("chat.system", "%s %s ChannelName: %s, Password: %s",
+ GetOpcodeNameForLogging(packet.GetOpcode()).c_str(), GetPlayerInfo().c_str(), packet.ChannelName.c_str(), packet.Name.c_str());
- /*
- if (ChannelMgr* cMgr = channelMgr(GetPlayer()->GetTeam()))
- if (Channel* channel = cMgr->GetChannel(channelName, GetPlayer()))
- channel->JoinNotify(GetPlayer());
- */
-}
+ if (ChannelMgr* cMgr = ChannelMgr::ForTeam(GetPlayer()->GetTeam()))
+ if (Channel* channel = cMgr->GetChannel(packet.ChannelName, GetPlayer()))
+ channel->Password(GetPlayer(), packet.Name);
+}
+
+template void WorldSession::HandleChannelCommand<&Channel::Announce>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::Ban>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelCommand<&Channel::DeclineInvite>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::Invite>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::Kick>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelCommand<&Channel::List>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::SetModerator>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::SetMute>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelCommand<&Channel::SendWhoOwner>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::SetOwner>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::SilenceAll>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::SilenceVoice>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::UnBan>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::UnsetModerator>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::UnsetMute>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceAll>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceVoice>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelCommand<&Channel::DeVoice>(WorldPackets::Channel::ChannelPlayerCommand&);
+template void WorldSession::HandleChannelCommand<&Channel::Voice>(WorldPackets::Channel::ChannelPlayerCommand&);
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index 9841e8e92a2..5489dce0761 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -626,11 +626,6 @@ void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recvData)
player->SendDirectMessage(packet.Write());
}
-void WorldSession::HandleChannelDeclineInvite(WorldPacket &recvPacket)
-{
- TC_LOG_DEBUG("network", "Opcode %u", recvPacket.GetOpcode());
-}
-
void WorldSession::SendPlayerNotFoundNotice(std::string const& name)
{
WorldPacket data(SMSG_CHAT_PLAYER_NOT_FOUND, name.size()+1);
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
index a45dce87073..97b25d5fc1b 100644
--- a/src/server/game/Handlers/GroupHandler.cpp
+++ b/src/server/game/Handlers/GroupHandler.cpp
@@ -696,7 +696,7 @@ void WorldSession::HandleMinimapPingOpcode(WorldPacket& recvData)
void WorldSession::HandleRandomRollOpcode(WorldPacket& recvData)
{
- TC_LOG_DEBUG("network", "WORLD: Received MSG_RANDOM_ROLL");
+ TC_LOG_DEBUG("network", "WORLD: Received CMSG_RANDOM_ROLL");
uint32 minimum, maximum, roll;
recvData >> minimum;
@@ -712,7 +712,7 @@ void WorldSession::HandleRandomRollOpcode(WorldPacket& recvData)
//TC_LOG_DEBUG("misc", "ROLL: MIN: %u, MAX: %u, ROLL: %u", minimum, maximum, roll);
- WorldPacket data(MSG_RANDOM_ROLL, 4+4+4+8);
+ WorldPacket data(SMSG_RANDOM_ROLL, 4+4+4+8);
data << uint32(minimum);
data << uint32(maximum);
data << uint32(roll);
@@ -931,7 +931,7 @@ void WorldSession::HandleRaidReadyCheckOpcode(WorldPacket& recvData)
recvData >> state;
// everything's fine, do it
- WorldPacket data(MSG_RAID_READY_CHECK_CONFIRM, 9);
+ WorldPacket data(SMSG_RAID_READY_CHECK_CONFIRM, 9);
data << GetPlayer()->GetGUID();
data << uint8(state);
group->BroadcastReadyCheck(&data);
diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp
index d4c3b61d790..5c16de1ee4c 100644
--- a/src/server/game/Handlers/TaxiHandler.cpp
+++ b/src/server/game/Handlers/TaxiHandler.cpp
@@ -309,7 +309,7 @@ void WorldSession::HandleActivateTaxiOpcode(WorldPacket& recvData)
void WorldSession::SendActivateTaxiReply(ActivateTaxiReply reply)
{
- WorldPacket data(SMSG_ACTIVATETAXIREPLY, 4);
+ WorldPacket data(SMSG_ACTIVATE_TAXI_REPLY, 4);
data << uint32(reply);
SendPacket(&data);
diff --git a/src/server/game/Handlers/VoiceChatHandler.cpp b/src/server/game/Handlers/VoiceChatHandler.cpp
index d9cd7226721..e20c79337fa 100644
--- a/src/server/game/Handlers/VoiceChatHandler.cpp
+++ b/src/server/game/Handlers/VoiceChatHandler.cpp
@@ -30,14 +30,6 @@ void WorldSession::HandleVoiceSessionEnableOpcode(WorldPacket& recvData)
recvData.read_skip<uint8>();
}
-void WorldSession::HandleChannelVoiceOnOpcode(WorldPacket& recvData)
-{
- TC_LOG_DEBUG("network", "WORLD: CMSG_CHANNEL_VOICE_ON");
- // Enable Voice button in channel context menu
- recvData.ReadString(recvData.ReadBits(8));
- //channel->EnableVoice(recvData.GetOpcode() == CMSG_CHANNEL_VOICE_ON);
-}
-
void WorldSession::HandleSetActiveVoiceChannel(WorldPacket& recvData)
{
TC_LOG_DEBUG("network", "WORLD: CMSG_SET_ACTIVE_VOICE_CHANNEL");
diff --git a/src/server/game/Server/Packet.cpp b/src/server/game/Server/Packet.cpp
index 3b38c36ba85..10e935e87c7 100644
--- a/src/server/game/Server/Packet.cpp
+++ b/src/server/game/Server/Packet.cpp
@@ -16,7 +16,3 @@
*/
#include "Packet.h"
-
-WorldPackets::ServerPacket::ServerPacket(OpcodeServer opcode, size_t initialSize /*= 200*/) : Packet(WorldPacket(opcode, initialSize))
-{
-}
diff --git a/src/server/game/Server/Packet.h b/src/server/game/Server/Packet.h
index 6074ee26ad8..bf538803ad6 100644
--- a/src/server/game/Server/Packet.h
+++ b/src/server/game/Server/Packet.h
@@ -45,7 +45,7 @@ namespace WorldPackets
class ServerPacket : public Packet
{
public:
- ServerPacket(OpcodeServer opcode, size_t initialSize = 200);
+ ServerPacket(OpcodeServer opcode, size_t initialSize = 200) : Packet(WorldPacket(opcode, initialSize)) { }
void Read() override final { ASSERT(!"Read not implemented for server packets."); }
@@ -59,7 +59,7 @@ namespace WorldPackets
{
public:
ClientPacket(WorldPacket&& packet) : Packet(std::move(packet)) { }
- ClientPacket(OpcodeClient expectedOpcode, WorldPacket&& packet) : Packet(std::move(packet)) { ASSERT(packet.GetOpcode() == expectedOpcode); }
+ ClientPacket(OpcodeClient expectedOpcode, WorldPacket&& packet) : Packet(std::move(packet)) { ASSERT(GetOpcode() == expectedOpcode); }
WorldPacket const* Write() override final
{
diff --git a/src/server/game/Server/Packets/ChannelPackets.cpp b/src/server/game/Server/Packets/ChannelPackets.cpp
index 3e704580a1d..9bcb10948d5 100644
--- a/src/server/game/Server/Packets/ChannelPackets.cpp
+++ b/src/server/game/Server/Packets/ChannelPackets.cpp
@@ -16,12 +16,6 @@
*/
#include "ChannelPackets.h"
-#include "Channel.h"
-
-void WorldPackets::Channel::ChannelListRequest::Read()
-{
- ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7));
-}
WorldPacket const* WorldPackets::Channel::ChannelListResponse::Write()
{
@@ -89,6 +83,53 @@ WorldPacket const* WorldPackets::Channel::ChannelNotifyLeft::Write()
return &_worldPacket;
}
+void WorldPackets::Channel::ChannelPlayerCommand::Read()
+{
+ switch (GetOpcode())
+ {
+ case CMSG_CHANNEL_BAN:
+ case CMSG_CHANNEL_INVITE:
+ case CMSG_CHANNEL_KICK:
+ case CMSG_CHANNEL_MODERATOR:
+ case CMSG_CHANNEL_MUTE:
+ case CMSG_CHANNEL_SET_OWNER:
+ case CMSG_CHANNEL_SILENCE_ALL:
+ case CMSG_CHANNEL_SILENCE_VOICE:
+ case CMSG_CHANNEL_UNBAN:
+ case CMSG_CHANNEL_UNMODERATOR:
+ case CMSG_CHANNEL_UNMUTE:
+ case CMSG_CHANNEL_UNSILENCE_ALL:
+ case CMSG_CHANNEL_UNSILENCE_VOICE:
+ {
+ uint32 channelNameLength = _worldPacket.ReadBits(7);
+ uint32 nameLength = _worldPacket.ReadBits(9);
+ ChannelName = _worldPacket.ReadString(channelNameLength);
+ Name = _worldPacket.ReadString(nameLength);
+ break;
+ }
+ case CMSG_CHANNEL_ANNOUNCEMENTS:
+ case CMSG_CHANNEL_DECLINE_INVITE:
+ case CMSG_CHANNEL_DISPLAY_LIST:
+ case CMSG_CHANNEL_LIST:
+ //case CMSG_CHANNEL_MODERATE:
+ case CMSG_CHANNEL_OWNER:
+ case CMSG_CHANNEL_VOICE_OFF:
+ case CMSG_CHANNEL_VOICE_ON:
+ {
+ ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7));
+ break;
+ }
+ case CMSG_CHANNEL_PASSWORD:
+ {
+ uint32 channelNameLength = _worldPacket.ReadBits(7);
+ uint32 nameLength = _worldPacket.ReadBits(7);
+ ChannelName = _worldPacket.ReadString(channelNameLength);
+ Name = _worldPacket.ReadString(nameLength);
+ break;
+ }
+ }
+}
+
void WorldPackets::Channel::JoinChannel::Read()
{
_worldPacket >> ChatChannelId;
diff --git a/src/server/game/Server/Packets/ChannelPackets.h b/src/server/game/Server/Packets/ChannelPackets.h
index 4747fe444fe..14fbac84cf9 100644
--- a/src/server/game/Server/Packets/ChannelPackets.h
+++ b/src/server/game/Server/Packets/ChannelPackets.h
@@ -19,25 +19,13 @@
#define ChannelPackets_h__
#include "Packet.h"
+#include "Channel.h"
#include "ObjectGuid.h"
namespace WorldPackets
{
namespace Channel
{
- class ChannelListRequest final : public ClientPacket
- {
- public:
- ChannelListRequest(WorldPacket&& packet) : ClientPacket(std::move(packet))
- {
- ASSERT(packet.GetOpcode() == CMSG_CHANNEL_LIST || packet.GetOpcode() == CMSG_CHANNEL_DISPLAY_LIST);
- }
-
- void Read() override;
-
- std::string ChannelName;
- };
-
class ChannelListResponse final : public ServerPacket
{
public:
@@ -48,7 +36,7 @@ namespace WorldPackets
ObjectGuid Guid; ///< Player Guid
uint32 VirtualRealmAddress;
- uint8 Flags = 0; ///< @see enum ChannelMemberFlags
+ uint8 Flags; ///< @see enum ChannelMemberFlags
};
ChannelListResponse() : ServerPacket(SMSG_CHANNEL_LIST) { }
@@ -107,6 +95,47 @@ namespace WorldPackets
bool Suspended = false; ///< User Leave - false, On Zone Change - true
};
+ class ChannelPlayerCommand final : public ClientPacket
+ {
+ public:
+ ChannelPlayerCommand(WorldPacket&& packet) : ClientPacket(std::move(packet))
+ {
+ switch (GetOpcode())
+ {
+ default:
+ ASSERT(false);
+ case CMSG_CHANNEL_ANNOUNCEMENTS:
+ case CMSG_CHANNEL_BAN:
+ case CMSG_CHANNEL_DECLINE_INVITE:
+ case CMSG_CHANNEL_DISPLAY_LIST:
+ case CMSG_CHANNEL_INVITE:
+ case CMSG_CHANNEL_KICK:
+ case CMSG_CHANNEL_LIST:
+ //case CMSG_CHANNEL_MODERATE:
+ case CMSG_CHANNEL_MODERATOR:
+ case CMSG_CHANNEL_MUTE:
+ case CMSG_CHANNEL_OWNER:
+ case CMSG_CHANNEL_PASSWORD:
+ case CMSG_CHANNEL_SET_OWNER:
+ case CMSG_CHANNEL_SILENCE_ALL:
+ case CMSG_CHANNEL_SILENCE_VOICE:
+ case CMSG_CHANNEL_UNBAN:
+ case CMSG_CHANNEL_UNMODERATOR:
+ case CMSG_CHANNEL_UNMUTE:
+ case CMSG_CHANNEL_UNSILENCE_ALL:
+ case CMSG_CHANNEL_UNSILENCE_VOICE:
+ case CMSG_CHANNEL_VOICE_OFF:
+ case CMSG_CHANNEL_VOICE_ON:
+ break;
+ }
+ }
+
+ void Read() override;
+
+ std::string ChannelName;
+ std::string Name;
+ };
+
class JoinChannel final : public ClientPacket
{
public:
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp
index 1e34927e92c..4d3c6a552a8 100644
--- a/src/server/game/Server/Packets/ItemPackets.cpp
+++ b/src/server/game/Server/Packets/ItemPackets.cpp
@@ -58,6 +58,18 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemInstance const&
return data;
}
+ByteBuffer& WorldPackets::Item::operator>>(ByteBuffer& data, InvUpdate& invUpdate)
+{
+ invUpdate.Items.resize(data.ReadBits(2));
+ for (size_t i = 0; i < invUpdate.Items.size(); ++i)
+ {
+ data >> invUpdate.Items[i].ContainerSlot;
+ data >> invUpdate.Items[i].Slot;
+ }
+
+ return data;
+}
+
WorldPacket const* WorldPackets::Item::InventoryChangeFailure::Write()
{
_worldPacket << int8(BagResult);
@@ -81,14 +93,8 @@ WorldPacket const* WorldPackets::Item::InventoryChangeFailure::Write()
void WorldPackets::Item::SplitItem::Read()
{
- Inv.Items.resize(_worldPacket.ReadBits(2));
- for (size_t i = 0; i < Inv.Items.size(); ++i)
- {
- _worldPacket >> Inv.Items[i].ContainerSlot;
- _worldPacket >> Inv.Items[i].Slot;
- }
-
- _worldPacket >> FromPackSlot
+ _worldPacket >> Inv
+ >> FromPackSlot
>> FromSlot
>> ToPackSlot
>> ToSlot
@@ -97,27 +103,15 @@ void WorldPackets::Item::SplitItem::Read()
void WorldPackets::Item::SwapInvItem::Read()
{
- Inv.Items.resize(_worldPacket.ReadBits(2));
- for (size_t i = 0; i < Inv.Items.size(); ++i)
- {
- _worldPacket >> Inv.Items[i].ContainerSlot;
- _worldPacket >> Inv.Items[i].Slot;
- }
-
- _worldPacket >> Slot2
+ _worldPacket >> Inv
+ >> Slot2
>> Slot1;
}
void WorldPackets::Item::SwapItem::Read()
{
- Inv.Items.resize(_worldPacket.ReadBits(2));
- for (size_t i = 0; i < Inv.Items.size(); ++i)
- {
- _worldPacket >> Inv.Items[i].ContainerSlot;
- _worldPacket >> Inv.Items[i].Slot;
- }
-
- _worldPacket >> ContainerSlotB
+ _worldPacket >> Inv
+ >> ContainerSlotB
>> ContainerSlotA
>> SlotB
>> SlotA;
@@ -125,14 +119,8 @@ void WorldPackets::Item::SwapItem::Read()
void WorldPackets::Item::AutoEquipItem::Read()
{
- Inv.Items.resize(_worldPacket.ReadBits(2));
- for (size_t i = 0; i < Inv.Items.size(); ++i)
- {
- _worldPacket >> Inv.Items[i].ContainerSlot;
- _worldPacket >> Inv.Items[i].Slot;
- }
-
- _worldPacket >> PackSlot
+ _worldPacket >> Inv
+ >> PackSlot
>> Slot;
}
diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h
index 57920958c3e..1510ecd70d4 100644
--- a/src/server/game/Server/Packets/ItemPackets.h
+++ b/src/server/game/Server/Packets/ItemPackets.h
@@ -143,6 +143,8 @@ namespace WorldPackets
uint8 SlotNum = 0;
uint8 ContainerId = 0;
};
+
+ ByteBuffer& operator>>(ByteBuffer& data, InvUpdate& invUpdate);
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 52dff83852d..228847ed62f 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -230,28 +230,28 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_CAST_SPELL, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Spells::SpellCastRequest, &WorldSession::HandleCastSpellOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGEPLAYER_DIFFICULTY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_ANNOUNCEMENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelAnnouncements );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_BAN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelBan );
- DEFINE_HANDLER(CMSG_CHANNEL_DISPLAY_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelListRequest, &WorldSession::HandleChannelList);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelInvite );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_KICK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelKick );
- DEFINE_HANDLER(CMSG_CHANNEL_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelListRequest, &WorldSession::HandleChannelList);
+ DEFINE_HANDLER(CMSG_CHANNEL_ANNOUNCEMENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Announce>);
+ DEFINE_HANDLER(CMSG_CHANNEL_BAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Ban>);
+ DEFINE_HANDLER(CMSG_CHANNEL_DECLINE_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeclineInvite>);
+ DEFINE_HANDLER(CMSG_CHANNEL_DISPLAY_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>);
+ DEFINE_HANDLER(CMSG_CHANNEL_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Invite>);
+ DEFINE_HANDLER(CMSG_CHANNEL_KICK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Kick>);
+ DEFINE_HANDLER(CMSG_CHANNEL_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>);
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_MODERATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_MODERATOR, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelModerator );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_MUTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelMute );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_OWNER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelOwner );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_PASSWORD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelPassword );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_ROSTER_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_SET_OWNER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelSetOwner );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_SILENCE_ALL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_SILENCE_VOICE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_UNBAN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelUnban );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_UNMODERATOR, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelUnmoderator );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_UNMUTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelUnmute );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_UNSILENCE_ALL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_VOICE_OFF, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelVoiceOnOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_VOICE_ON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelVoiceOnOpcode );
+ DEFINE_HANDLER(CMSG_CHANNEL_MODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetModerator>);
+ DEFINE_HANDLER(CMSG_CHANNEL_MUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetMute>);
+ DEFINE_HANDLER(CMSG_CHANNEL_OWNER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::SendWhoOwner>);
+ DEFINE_HANDLER(CMSG_CHANNEL_PASSWORD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Password>);
+ DEFINE_HANDLER(CMSG_CHANNEL_SET_OWNER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetOwner>);
+ DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_ALL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceAll>);
+ DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_VOICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceVoice>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNBAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnBan>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNMODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetModerator>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNMUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetMute>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_ALL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceAll>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceVoice>);
+ DEFINE_HANDLER(CMSG_CHANNEL_VOICE_OFF, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeVoice>);
+ DEFINE_HANDLER(CMSG_CHANNEL_VOICE_ON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Voice>);
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);
@@ -261,7 +261,6 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAR_UNDELETE_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharUndeleteEnumOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_FILTERED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_IGNORED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_CHANNEL_WATCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_RAID_MARKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_TRADE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleClearTradeItemOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_ENABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -298,13 +297,15 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_EQUIPMENT_SET_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetDelete );
DEFINE_HANDLER(CMSG_EQUIPMENT_SET_SAVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::SaveEquipmentSet, &WorldSession::HandleEquipmentSetSave);
DEFINE_OPCODE_HANDLER_OLD(CMSG_EQUIPMENT_SET_USE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetUse );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_FACTION_BONUS_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_FAR_SIGHT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleFarSightOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_FORCE_MOVE_ROOT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveRootAck );
DEFINE_OPCODE_HANDLER_OLD(CMSG_FORCE_MOVE_UNROOT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveUnRootAck );
DEFINE_HANDLER(CMSG_GAMEOBJECT_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryGameObject, &WorldSession::HandleGameObjectQueryOpcode);
DEFINE_HANDLER(CMSG_GAMEOBJ_REPORT_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectReportUse, &WorldSession::HandleGameobjectReportUse);
DEFINE_HANDLER(CMSG_GAMEOBJ_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectUse, &WorldSession::HandleGameObjectUseOpcode);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_COMPLETE_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_MISSION_BONUS_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_START_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_MAIL_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGetMailList);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_MIRRORIMAGE_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMirrorImageDataRequest );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GMRESPONSE_RESOLVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMResponseResolve );
@@ -334,6 +335,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_ACHIEVEMENT_PROGRESS_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAchievementProgressQuery);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_ADD_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAddRankOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_ASSIGN_MEMBER_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAssignRankOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_AUTO_DECLINE_INVITATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANKER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankerActivate );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_BUY_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankBuyTab );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_DEPOSIT_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankDepositMoney );
@@ -434,6 +436,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_MESSAGECHAT_DND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageDND, &WorldSession::HandleChatMessageDNDOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageEmote, &WorldSession::HandleChatMessageEmoteOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_MESSAGECHAT_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode);
@@ -584,6 +587,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_RESURRECT_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleResurrectResponseOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_RETURN_TO_GRAVEYARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReturnToGraveyard );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ROLE_POLL_BEGIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRolePollBeginOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_ROUTER_CLIENT_LOG_STREAMING_ERROR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SAVE_CUF_PROFILES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SELF_RES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSelfResOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SELL_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSellItemOpcode );
@@ -597,7 +601,6 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACTIVE_VOICE_CHANNEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveVoiceChannel ); // STATUS_AUTHED
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ALLOW_LOW_LEVEL_RAID1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ALLOW_LOW_LEVEL_RAID2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_CHANNEL_WATCH, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetChannelWatch );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_CONTACT_NOTES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetContactNotesOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_CURRENCY_FLAGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_EVERYONE_IS_ASSISTANT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -608,6 +611,8 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PET_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPlayerDeclinedNames );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PREFERED_CEMETERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PVP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_RAID_DIFFICULTY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_RELATIVE_POSITION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetSavedInstanceExtend );
DEFINE_HANDLER(CMSG_SET_SELECTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetSelection, &WorldSession::HandleSetSelectionOpcode);
@@ -632,6 +637,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_SUBMIT_COMPLAIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SUGGESTION_SUBMIT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SUMMON_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSummonResponseOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SUSPEND_COMMS_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SUSPEND_TOKEN_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapInvItem, &WorldSession::HandleSwapInvItemOpcode);
@@ -682,7 +688,6 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(MSG_LIST_STABLED_PETS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleListStabledPetsOpcode );
DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_CHARM_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_TIME_SKIPPED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_TOGGLE_COLLISION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(MSG_NOTIFY_PARTY_SQUELCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(MSG_PARTY_ASSIGNMENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyAssignmentOpcode );
@@ -690,10 +695,8 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(MSG_PETITION_RENAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionRenameOpcode );
DEFINE_OPCODE_HANDLER_OLD(MSG_QUEST_PUSH_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPushResult );
DEFINE_OPCODE_HANDLER_OLD(MSG_RAID_READY_CHECK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRaidReadyCheckOpcode );
- DEFINE_OPCODE_HANDLER_OLD(MSG_RAID_READY_CHECK_CONFIRM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(MSG_RAID_READY_CHECK_FINISHED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRaidReadyCheckFinishedOpcode);
DEFINE_OPCODE_HANDLER_OLD(MSG_RAID_TARGET_UPDATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRaidTargetUpdateOpcode );
- DEFINE_OPCODE_HANDLER_OLD(MSG_RANDOM_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRandomRollOpcode );
DEFINE_OPCODE_HANDLER_OLD(MSG_SAVE_GUILD_EMBLEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSaveGuildEmblemOpcode );
DEFINE_OPCODE_HANDLER_OLD(MSG_SET_DUNGEON_DIFFICULTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetDungeonDifficultyOpcode);
DEFINE_OPCODE_HANDLER_OLD(MSG_SET_RAID_DIFFICULTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetRaidDifficultyOpcode );
@@ -714,10 +717,11 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_EARNED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTION_BUTTONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTIVATETAXIREPLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTIVATE_TAXI_REPLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADDON_INFO, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_RUNE_POWER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADJUST_SPLINE_DURATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AE_LOOT_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AI_REACTION, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACHIEVEMENT_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_SPIRIT_HEALER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -738,6 +742,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_BADFACING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_CANT_ATTACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_DEADTARGET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_NOTINRANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_BIDDER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_BIDDER_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -767,7 +772,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_PLAYER_POSITIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_PORT_DENIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_RATED_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NONE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_QUEUED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_ACTIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -816,7 +821,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_COMBAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAST_FAILED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_MEMBER_COUNT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_JOINED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_LEFT, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -860,6 +864,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_CONNECT_FAIL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_DISCONNECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_RECONNECT_TRY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONVERT_RUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -910,6 +915,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_USE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPECTED_SPAM_RECORDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPLORATION_EXPERIENCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_FACTION_BONUS_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FAILED_PLAYER_CONDITION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FEATURE_SYSTEM_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -985,6 +991,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_BANK_MONEY_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_LOG_QUERY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PRESENCE_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANK_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_FLAGGED_FOR_RENAME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1170,8 +1177,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_OPEN_LFG_DUNGEON_FINDER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_OVERRIDE_LIGHT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAGE_TEXT_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTYKILLLOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_KILL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATS_FULL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAUSE_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1249,8 +1256,12 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_MARKERS_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_READY_CHECK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_READY_CHECK_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_READY_CHECK_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_READY_CHECK_THROTTLED_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_SUMMON_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOM_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOMIZE_CHAR_NAME, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BG_RATING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BG_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1273,6 +1284,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_COMPRESSION_CONTEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_FAILED_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESPOND_INSPECT_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_CAST_BAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_COMMS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_TOKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESURRECT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1281,6 +1293,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_POLL_BEGIN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RWHOIS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_ITEM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_MAIL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1450,6 +1463,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_SERVER_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_XP_GAIN_ABORTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_XP_GAIN_ENABLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ZONE_UNDER_ATTACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
#undef DEFINE_SERVER_OPCODE_HANDLER
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index 55980ca98eb..1c250f54291 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -43,10 +43,10 @@ enum OpcodeMisc : uint32
NULL_OPCODE = 0xBADD
};
-// CMSGs 6.0.3.19116
+// CMSGs 6.0.3.19342
enum OpcodeClient : uint32
{
- CMSG_ACCEPT_LEVEL_GRANT = 0xBADD,
+ CMSG_ACCEPT_LEVEL_GRANT = 0x1921,
CMSG_ACCEPT_TRADE = 0xBADD,
CMSG_ACTIVATETAXI = 0x0311,
CMSG_ACTIVATETAXIEXPRESS = 0x1B52,
@@ -55,7 +55,7 @@ enum OpcodeClient : uint32
CMSG_ADD_IGNORE = 0x1321,
CMSG_ADD_MUTE = 0x098A,
CMSG_ADD_VOICE_IGNORE = 0xBADD,
- CMSG_ALTER_APPEARANCE = 0xBADD,
+ CMSG_ALTER_APPEARANCE = 0x13E9,
CMSG_AREATRIGGER = 0x01B4,
CMSG_AREA_SPIRIT_HEALER_QUERY = 0xBADD,
CMSG_AREA_SPIRIT_HEALER_QUEUE = 0xBADD,
@@ -89,11 +89,10 @@ enum OpcodeClient : uint32
CMSG_AUTOSTORE_BANK_ITEM = 0x0732,
CMSG_AUTOSTORE_GROUND_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_LEAVE = 0x06F1,
CMSG_BATTLEFIELD_LIST = 0x03B1,
CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0x059A,
CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0x1381,
@@ -140,38 +139,38 @@ enum OpcodeClient : uint32
CMSG_CALENDAR_UPDATE_EVENT = 0xBADD,
CMSG_CANCEL_AURA = 0x08AE,
CMSG_CANCEL_AUTO_REPEAT_SPELL = 0xBADD,
- CMSG_CANCEL_CAST = 0xBADD,
- CMSG_CANCEL_CHANNELLING = 0xBADD,
+ CMSG_CANCEL_CAST = 0x0071,
+ CMSG_CANCEL_CHANNELLING = 0x0BE6,
CMSG_CANCEL_GROWTH_AURA = 0xBADD,
- CMSG_CANCEL_MOUNT_AURA = 0xBADD,
+ CMSG_CANCEL_MOUNT_AURA = 0x03E6,
CMSG_CANCEL_QUEUED_SPELL = 0xBADD,
CMSG_CANCEL_TEMP_ENCHANTMENT = 0xBADD,
CMSG_CANCEL_TRADE = 0x1159,
CMSG_CAST_SPELL = 0x08FE,
CMSG_CHANGEPLAYER_DIFFICULTY = 0xBADD,
CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE = 0xBADD,
- CMSG_CHANNEL_ANNOUNCEMENTS = 0xBADD,
- CMSG_CHANNEL_BAN = 0xBADD,
+ CMSG_CHANNEL_ANNOUNCEMENTS = 0x1313,
+ CMSG_CHANNEL_BAN = 0x1A82,
+ CMSG_CHANNEL_DECLINE_INVITE = 0x19DB,
CMSG_CHANNEL_DISPLAY_LIST = 0x093B,
- CMSG_CHANNEL_INVITE = 0xBADD,
- CMSG_CHANNEL_KICK = 0xBADD,
- CMSG_CHANNEL_LIST = 0x093B,
+ CMSG_CHANNEL_INVITE = 0x1933,
+ CMSG_CHANNEL_KICK = 0x0A2A,
+ CMSG_CHANNEL_LIST = 0x091C,
CMSG_CHANNEL_MODERATE = 0xBADD,
- CMSG_CHANNEL_MODERATOR = 0xBADD,
- CMSG_CHANNEL_MUTE = 0xBADD,
- CMSG_CHANNEL_OWNER = 0xBADD,
- CMSG_CHANNEL_PASSWORD = 0xBADD,
- CMSG_CHANNEL_ROSTER_INFO = 0xBADD,
- CMSG_CHANNEL_SET_OWNER = 0xBADD,
- CMSG_CHANNEL_SILENCE_ALL = 0xBADD,
- CMSG_CHANNEL_SILENCE_VOICE = 0xBADD,
- CMSG_CHANNEL_UNBAN = 0xBADD,
- CMSG_CHANNEL_UNMODERATOR = 0xBADD,
- CMSG_CHANNEL_UNMUTE = 0xBADD,
- CMSG_CHANNEL_UNSILENCE_ALL = 0xBADD,
- CMSG_CHANNEL_UNSILENCE_VOICE = 0xBADD,
- CMSG_CHANNEL_VOICE_OFF = 0xBADD,
- CMSG_CHANNEL_VOICE_ON = 0xBADD,
+ CMSG_CHANNEL_MODERATOR = 0x088B,
+ CMSG_CHANNEL_MUTE = 0x18AB,
+ CMSG_CHANNEL_OWNER = 0x0BFA,
+ CMSG_CHANNEL_PASSWORD = 0x1113,
+ CMSG_CHANNEL_SET_OWNER = 0x0174,
+ CMSG_CHANNEL_SILENCE_ALL = 0x11FB,
+ CMSG_CHANNEL_SILENCE_VOICE = 0x0AA3,
+ CMSG_CHANNEL_UNBAN = 0x0BCB,
+ CMSG_CHANNEL_UNMODERATOR = 0x1AA1,
+ CMSG_CHANNEL_UNMUTE = 0x0A81,
+ CMSG_CHANNEL_UNSILENCE_ALL = 0x1164,
+ CMSG_CHANNEL_UNSILENCE_VOICE = 0x0B4C,
+ CMSG_CHANNEL_VOICE_OFF = 0x016C,
+ CMSG_CHANNEL_VOICE_ON = 0x0374,
CMSG_CHAR_CREATE = 0x070D,
CMSG_CHAR_CUSTOMIZE = 0x072A,
CMSG_CHAR_DELETE = 0x030E,
@@ -181,7 +180,6 @@ enum OpcodeClient : uint32
CMSG_CHAR_UNDELETE_ENUM = 0x0F2D,
CMSG_CHAT_FILTERED = 0xBADD,
CMSG_CHAT_IGNORED = 0xBADD,
- CMSG_CLEAR_CHANNEL_WATCH = 0xBADD,
CMSG_CLEAR_RAID_MARKER = 0xBADD,
CMSG_CLEAR_TRADE_ITEM = 0xBADD,
CMSG_COMMENTATOR_ENABLE = 0xBADD,
@@ -193,7 +191,7 @@ enum OpcodeClient : uint32
CMSG_COMMENTATOR_INSTANCE_COMMAND = 0xBADD,
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND = 0xBADD,
CMSG_COMMENTATOR_START_WARGAME = 0xBADD,
- CMSG_COMPLAIN = 0xBADD,
+ CMSG_COMPLAIN = 0x0917,
CMSG_COMPLETE_CINEMATIC = 0xBADD,
CMSG_COMPLETE_MOVIE = 0xBADD,
CMSG_CONNECT_TO_FAILED = 0x0135,
@@ -202,7 +200,6 @@ enum OpcodeClient : uint32
CMSG_CREATURE_QUERY = 0x0505,
CMSG_DANCE_QUERY = 0xBADD,
CMSG_DB_QUERY_BULK = 0x138B,
- CMSG_DECLINE_CHANNEL_INVITE = 0xBADD,
CMSG_DEL_FRIEND = 0x0F2A,
CMSG_DEL_IGNORE = 0x033D,
CMSG_DEL_MUTE = 0x0128,
@@ -219,7 +216,6 @@ enum OpcodeClient : uint32
CMSG_EQUIPMENT_SET_DELETE = 0xBADD,
CMSG_EQUIPMENT_SET_SAVE = 0x1B54,
CMSG_EQUIPMENT_SET_USE = 0xBADD,
- CMSG_FACTION_BONUS_INFO = 0x0928,
CMSG_FAR_SIGHT = 0xBADD,
CMSG_FORCE_MOVE_ROOT_ACK = 0x0B73,
CMSG_FORCE_MOVE_UNROOT_ACK = 0xBADD,
@@ -228,6 +224,9 @@ enum OpcodeClient : uint32
CMSG_GAMEOBJ_USE = 0x082E,
CMSG_GAMESPEED_SET = 0xBADD,
CMSG_GAMETIME_SET = 0xBADD,
+ CMSG_GARRISON_COMPLETE_MISSION = 0x102C,
+ CMSG_GARRISON_MISSION_BONUS_ROLL = 0x02C2,
+ CMSG_GARRISON_START_MISSION = 0x1624,
CMSG_GETDEATHBINDZONE = 0xBADD,
CMSG_GET_MAIL_LIST = 0x0BD3,
CMSG_GET_MIRRORIMAGE_DATA = 0xBADD,
@@ -245,7 +244,7 @@ enum OpcodeClient : uint32
CMSG_GM_SET_SECURITY_GROUP = 0xBADD,
CMSG_GOSSIP_HELLO = 0x00F3,
CMSG_GOSSIP_SELECT_OPTION = 0x0332,
- CMSG_GRANT_LEVEL = 0xBADD,
+ CMSG_GRANT_LEVEL = 0x0BE3,
CMSG_GROUP_ASSISTANT_LEADER = 0xBADD,
CMSG_GROUP_CANCEL = 0xBADD,
CMSG_GROUP_CHANGE_SUB_GROUP = 0xBADD,
@@ -262,52 +261,53 @@ enum OpcodeClient : uint32
CMSG_GUILD_ACCEPT = 0xBADD,
CMSG_GUILD_ACHIEVEMENT_MEMBERS = 0xBADD,
CMSG_GUILD_ACHIEVEMENT_PROGRESS_QUERY = 0xBADD,
- CMSG_GUILD_ADD_RANK = 0xBADD,
- CMSG_GUILD_ASSIGN_MEMBER_RANK = 0xBADD,
+ CMSG_GUILD_ADD_RANK = 0x0C2F,
+ CMSG_GUILD_ASSIGN_MEMBER_RANK = 0x0436,
+ CMSG_GUILD_AUTO_DECLINE_INVITATION = 0x062F,
CMSG_GUILD_BANKER_ACTIVATE = 0xBADD,
- CMSG_GUILD_BANK_BUY_TAB = 0xBADD,
- CMSG_GUILD_BANK_DEPOSIT_MONEY = 0xBADD,
- CMSG_GUILD_BANK_LOG_QUERY = 0xBADD,
+ CMSG_GUILD_BANK_BUY_TAB = 0x1BC3,
+ CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x1B11,
+ CMSG_GUILD_BANK_LOG_QUERY = 0x0428,
CMSG_GUILD_BANK_MONEY_WITHDRAWN_QUERY = 0x063D,
CMSG_GUILD_BANK_NOTE = 0xBADD,
- CMSG_GUILD_BANK_QUERY_TAB = 0xBADD,
+ CMSG_GUILD_BANK_QUERY_TAB = 0x13C1,
CMSG_GUILD_BANK_QUERY_TEXT = 0xBADD,
CMSG_GUILD_BANK_SWAP_ITEMS = 0xBADD,
CMSG_GUILD_BANK_UPDATE_TAB = 0xBADD,
CMSG_GUILD_BANK_WITHDRAW_MONEY = 0xBADD,
CMSG_GUILD_CHANGE_NAME_REQUEST = 0xBADD,
- CMSG_GUILD_DECLINE = 0xBADD,
- CMSG_GUILD_DEL_RANK = 0xBADD,
- CMSG_GUILD_DEMOTE = 0xBADD,
- CMSG_GUILD_DISBAND = 0xBADD,
- CMSG_GUILD_EVENT_LOG_QUERY = 0xBADD,
+ CMSG_GUILD_DECLINE = 0x0667,
+ CMSG_GUILD_DEL_RANK = 0x0C28,
+ CMSG_GUILD_DEMOTE = 0x142F,
+ CMSG_GUILD_DISBAND = 0x0E68,
+ CMSG_GUILD_EVENT_LOG_QUERY = 0x0E37,
CMSG_GUILD_INFO = 0xBADD,
- CMSG_GUILD_INFO_TEXT = 0xBADD,
+ CMSG_GUILD_INFO_TEXT = 0x0C75,
CMSG_GUILD_INVITE = 0x19A4,
- CMSG_GUILD_LEAVE = 0xBADD,
+ CMSG_GUILD_LEAVE = 0x0476,
CMSG_GUILD_MEMBER_SEND_SOR_REQUEST = 0xBADD,
CMSG_GUILD_MOTD = 0xBADD,
CMSG_GUILD_NEWS_UPDATE_STICKY = 0xBADD,
CMSG_GUILD_PERMISSIONS = 0x1436,
CMSG_GUILD_PROMOTE = 0xBADD,
CMSG_GUILD_QUERY = 0x0930,
- CMSG_GUILD_QUERY_NEWS = 0xBADD,
+ CMSG_GUILD_QUERY_NEWS = 0x0676,
CMSG_GUILD_QUERY_RANKS = 0x0C37,
- CMSG_GUILD_REMOVE = 0xBADD,
+ CMSG_GUILD_REMOVE = 0x042F,
CMSG_GUILD_REPLACE_GUILD_MASTER = 0xBADD,
CMSG_GUILD_REQUEST_CHALLENGE_UPDATE = 0xBADD,
CMSG_GUILD_REQUEST_MAX_DAILY_XP = 0xBADD,
CMSG_GUILD_REQUEST_PARTY_STATE = 0x0A8E,
CMSG_GUILD_ROSTER = 0x0638,
CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0xBADD,
- CMSG_GUILD_SET_GUILD_MASTER = 0xBADD,
+ CMSG_GUILD_SET_GUILD_MASTER = 0x1184,
CMSG_GUILD_SET_NOTE = 0xBADD,
- CMSG_GUILD_SET_RANK_PERMISSIONS = 0xBADD,
+ CMSG_GUILD_SET_RANK_PERMISSIONS = 0x0E38,
CMSG_GUILD_SWITCH_RANK = 0xBADD,
CMSG_HEARTH_AND_RESURRECT = 0xBADD,
CMSG_IGNORE_TRADE = 0xBADD,
CMSG_INITIATE_TRADE = 0xBADD,
- CMSG_INSPECT = 0xBADD,
+ CMSG_INSPECT = 0x01EC,
CMSG_INSPECT_HONOR_STATS = 0xBADD,
CMSG_INSTANCE_LOCK_WARNING_RESPONSE = 0xBADD,
CMSG_ITEM_REFUND = 0xBADD,
@@ -348,7 +348,7 @@ enum OpcodeClient : uint32
CMSG_LOOT_MASTER_GIVE = 0xBADD,
CMSG_LOOT_METHOD = 0x0729,
CMSG_LOOT_MONEY = 0xBADD,
- CMSG_LOOT_RELEASE = 0xBADD,
+ CMSG_LOOT_RELEASE = 0x1199,
CMSG_LOOT_ROLL = 0xBADD,
CMSG_MAIL_CREATE_TEXT_ITEM = 0x13D1,
CMSG_MAIL_DELETE = 0x068C,
@@ -367,8 +367,9 @@ enum OpcodeClient : uint32
CMSG_MESSAGECHAT_DND = 0x0AAB,
CMSG_MESSAGECHAT_EMOTE = 0x113C,
CMSG_MESSAGECHAT_GUILD = 0x0B1B,
+ CMSG_MESSAGECHAT_INSTANCE = 0x0134,
CMSG_MESSAGECHAT_OFFICER = 0x0114,
- CMSG_MESSAGECHAT_PARTY = 0x0134,
+ CMSG_MESSAGECHAT_PARTY = 0x0803,
CMSG_MESSAGECHAT_RAID = 0x0B33,
CMSG_MESSAGECHAT_RAID_WARNING = 0x0313,
CMSG_MESSAGECHAT_SAY = 0x1884,
@@ -380,7 +381,7 @@ enum OpcodeClient : uint32
CMSG_MOVE_CHARM_TELEPORT_CHEAT = 0xBADD,
CMSG_MOVE_CHNG_TRANSPORT = 0xBADD,
CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0xBADD,
- CMSG_MOVE_FALL_RESET = 0xBADD,
+ CMSG_MOVE_FALL_RESET = 0x0522,
CMSG_MOVE_FEATHER_FALL_ACK = 0xBADD,
CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0xBADD,
CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0xBADD,
@@ -394,7 +395,7 @@ enum OpcodeClient : uint32
CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x0553,
CMSG_MOVE_GRAVITY_ENABLE_ACK = 0xBADD,
CMSG_MOVE_HEARTBEAT = 0x19C1,
- CMSG_MOVE_HOVER_ACK = 0xBADD,
+ CMSG_MOVE_HOVER_ACK = 0x0543,
CMSG_MOVE_JUMP = 0x0282,
CMSG_MOVE_KNOCK_BACK_ACK = 0xBADD,
CMSG_MOVE_FALL_LAND = 0x0D54,
@@ -409,7 +410,7 @@ enum OpcodeClient : uint32
CMSG_MOVE_SET_RUN_MODE = 0x0D51,
CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0xBADD,
CMSG_MOVE_SET_WALK_MODE = 0x0544,
- CMSG_MOVE_SPLINE_DONE = 0xBADD,
+ CMSG_MOVE_SPLINE_DONE = 0x0B63,
CMSG_MOVE_START_ASCEND = 0x0D41,
CMSG_MOVE_START_BACKWARD = 0x0583,
CMSG_MOVE_START_DESCEND = 0x0B79,
@@ -430,7 +431,7 @@ enum OpcodeClient : uint32
CMSG_MOVE_TELEPORT_ACK = 0x0D01,
CMSG_MOVE_TIME_SKIPPED = 0x19C2,
CMSG_MOVE_TOGGLE_COLLISION_ACK = 0xBADD,
- CMSG_MOVE_WATER_WALK_ACK = 0xBADD,
+ CMSG_MOVE_WATER_WALK_ACK = 0x0B6C,
CMSG_MOVE_WORLDPORT_ACK = 0x0938,
CMSG_NAME_QUERY = 0x0B15,
CMSG_NEW_SPELL_SLOT = 0xBADD,
@@ -480,7 +481,7 @@ enum OpcodeClient : uint32
CMSG_QUERY_NEXT_MAIL_TIME = 0x0B31,
CMSG_QUERY_QUESTS_COMPLETED = 0xBADD,
CMSG_QUERY_TIME = 0xBADD,
- CMSG_QUESTGIVER_ACCEPT_QUEST = 0xBADD,
+ CMSG_QUESTGIVER_ACCEPT_QUEST = 0x13D3,
CMSG_QUESTGIVER_CANCEL = 0xBADD,
CMSG_QUESTGIVER_CHOOSE_REWARD = 0x0DAD,
CMSG_QUESTGIVER_COMPLETE_QUEST = 0x1E8A,
@@ -530,6 +531,7 @@ enum OpcodeClient : uint32
CMSG_RESURRECT_RESPONSE = 0xBADD,
CMSG_RETURN_TO_GRAVEYARD = 0x12EA,
CMSG_ROLE_POLL_BEGIN = 0xBADD,
+ CMSG_ROUTER_CLIENT_LOG_STREAMING_ERROR = 0x0C10,
CMSG_SAVE_CUF_PROFILES = 0x0053,
CMSG_SAVE_PLAYER = 0xBADD,
CMSG_SEARCH_LFG_JOIN = 0xBADD,
@@ -542,13 +544,12 @@ enum OpcodeClient : uint32
CMSG_SERVERTIME = 0xBADD,
CMSG_SETDEATHBINDPOINT = 0xBADD,
CMSG_SETSHEATHED = 0x1B43,
- CMSG_SET_ACTIONBAR_TOGGLES = 0xBADD,
+ CMSG_SET_ACTIONBAR_TOGGLES = 0x0BD2,
CMSG_SET_ACTION_BUTTON = 0x0599,
- CMSG_SET_ACTIVE_MOVER = 0xBADD,
+ CMSG_SET_ACTIVE_MOVER = 0x0971,
CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x031E,
CMSG_SET_ALLOW_LOW_LEVEL_RAID1 = 0xBADD,
CMSG_SET_ALLOW_LOW_LEVEL_RAID2 = 0xBADD,
- CMSG_SET_CHANNEL_WATCH = 0xBADD,
CMSG_SET_CONTACT_NOTES = 0xBADD,
CMSG_SET_CURRENCY_FLAGS = 0xBADD,
CMSG_SET_EVERYONE_IS_ASSISTANT = 0xBADD,
@@ -561,6 +562,7 @@ enum OpcodeClient : uint32
CMSG_SET_PET_SLOT = 0xBADD,
CMSG_SET_PLAYER_DECLINED_NAMES = 0xBADD,
CMSG_SET_PREFERED_CEMETERY = 0xBADD,
+ CMSG_SET_PVP = 0x19B9,
CMSG_SET_RAID_DIFFICULTY = 0xBADD,
CMSG_SET_RELATIVE_POSITION = 0xBADD,
CMSG_SET_SAVED_INSTANCE_EXTEND = 0xBADD,
@@ -568,7 +570,7 @@ enum OpcodeClient : uint32
CMSG_SET_SKILL_CHEAT = 0xBADD,
CMSG_SET_SPECIALIZATION = 0x0AC5,
CMSG_SET_TAXI_BENCHMARK_MODE = 0xBADD,
- CMSG_SET_TITLE = 0xBADD,
+ CMSG_SET_TITLE = 0x0BC6,
CMSG_SET_TRADE_CURRENCY = 0xBADD,
CMSG_SET_TRADE_GOLD = 0xBADD,
CMSG_SET_TRADE_ITEM = 0xBADD,
@@ -576,11 +578,11 @@ enum OpcodeClient : uint32
CMSG_SET_WATCHED_FACTION = 0xBADD,
CMSG_SHOWING_CLOAK = 0x0132,
CMSG_SHOWING_HELM = 0x11E1,
- CMSG_SOCKET_GEMS = 0xBADD,
+ CMSG_SOCKET_GEMS = 0x1BE1,
CMSG_SPELLCLICK = 0x0BC2,
CMSG_SPIRIT_HEALER_ACTIVATE = 0xBADD,
CMSG_SPLIT_ITEM = 0x0795,
- CMSG_STANDSTATECHANGE = 0xBADD,
+ CMSG_STANDSTATECHANGE = 0x0ABD,
CMSG_START_QUEST = 0xBADD,
CMSG_STOP_DANCE = 0xBADD,
CMSG_STORE_LOOT_IN_SLOT = 0xBADD,
@@ -588,6 +590,7 @@ enum OpcodeClient : uint32
CMSG_SUBMIT_COMPLAIN = 0xBADD,
CMSG_SUGGESTION_SUBMIT = 0xBADD,
CMSG_SUMMON_RESPONSE = 0xBADD,
+ CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x0B37,
CMSG_SUSPEND_COMMS_ACK = 0x0C56,
CMSG_SUSPEND_TOKEN_RESPONSE = 0x041E,
CMSG_SWAP_INV_ITEM = 0x0F17,
@@ -595,7 +598,7 @@ enum OpcodeClient : uint32
CMSG_SYNC_DANCE = 0xBADD,
CMSG_TAXICLEARALLNODES = 0xBADD,
CMSG_TAXIENABLEALLNODES = 0xBADD,
- CMSG_TAXINODE_STATUS_QUERY = 0xBADD,
+ CMSG_TAXINODE_STATUS_QUERY = 0x1BC1,
CMSG_TAXIQUERYAVAILABLENODES = 0xBADD,
CMSG_TAXISHOWNODES = 0xBADD,
CMSG_TELEPORT_TO_UNIT = 0xBADD,
@@ -654,7 +657,6 @@ enum OpcodeClient : uint32
MSG_MOVE_SET_TURN_RATE_CHEAT = 0xBADD,
MSG_MOVE_SET_WALK_SPEED_CHEAT = 0xBADD,
MSG_MOVE_TELEPORT_CHEAT = 0xBADD,
- MSG_MOVE_TIME_SKIPPED = 0xBADD,
MSG_MOVE_TOGGLE_COLLISION_CHEAT = 0xBADD,
MSG_MOVE_TOGGLE_FALL_LOGGING = 0xBADD,
MSG_MOVE_TOGGLE_LOGGING = 0xBADD,
@@ -666,10 +668,8 @@ enum OpcodeClient : uint32
MSG_QUERY_NEXT_MAIL_TIME = 0xBADD,
MSG_QUEST_PUSH_RESULT = 0xBADD,
MSG_RAID_READY_CHECK = 0xBADD,
- MSG_RAID_READY_CHECK_CONFIRM = 0xBADD,
MSG_RAID_READY_CHECK_FINISHED = 0xBADD,
MSG_RAID_TARGET_UPDATE = 0xBADD,
- MSG_RANDOM_ROLL = 0xBADD,
MSG_SAVE_GUILD_EMBLEM = 0xBADD,
MSG_SET_DUNGEON_DIFFICULTY = 0xBADD,
MSG_SET_RAID_DIFFICULTY = 0xBADD,
@@ -677,7 +677,7 @@ enum OpcodeClient : uint32
MSG_TALENT_WIPE_CONFIRM = 0xBADD
};
-// SMSGs 6.0.3.19116
+// SMSGs 6.0.3.19342
enum OpcodeServer : uint32
{
SMSG_ACCOUNT_DATA_TIMES = 0x0120,
@@ -688,10 +688,11 @@ enum OpcodeServer : uint32
SMSG_ACHIEVEMENT_DELETED = 0xBADD,
SMSG_ACHIEVEMENT_EARNED = 0x010E,
SMSG_ACTION_BUTTONS = 0x1D1F,
- SMSG_ACTIVATETAXIREPLY = 0xBADD,
+ SMSG_ACTIVATE_TAXI_REPLY = 0x1321,
SMSG_ADDON_INFO = 0x1D9F,
SMSG_ADD_RUNE_POWER = 0xBADD,
SMSG_ADJUST_SPLINE_DURATION = 0x0104,
+ SMSG_AE_LOOT_TARGETS = 0x15AF,
SMSG_AI_REACTION = 0x0BA1,
SMSG_ACCOUNT_CRITERIA_UPDATE = 0x0912,
SMSG_ALL_ACCOUNT_CRITERIA = 0x0123,
@@ -700,7 +701,7 @@ enum OpcodeServer : uint32
SMSG_AREA_TRIGGER_MESSAGE = 0xBADD,
SMSG_AREA_TRIGGER_MOVEMENT_UPDATE = 0xBADD,
SMSG_ARENA_ERROR = 0xBADD,
- SMSG_ARENA_UNIT_DESTROYED = 0xBADD,
+ SMSG_ARENA_UNIT_DESTROYED = 0x19E1,
SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED = 0xBADD,
SMSG_ARENA_TEAM_COMMAND_RESULT = 0xBADD,
SMSG_ARENA_TEAM_EVENT = 0xBADD,
@@ -714,6 +715,7 @@ enum OpcodeServer : uint32
SMSG_ATTACKSWING_BADFACING = 0xBADD,
SMSG_ATTACKSWING_CANT_ATTACK = 0xBADD,
SMSG_ATTACKSWING_DEADTARGET = 0xBADD,
+ SMSG_ATTACKSWING_ERROR = 0x0509,
SMSG_ATTACKSWING_NOTINRANGE = 0xBADD,
SMSG_AUCTION_BIDDER_LIST_RESULT = 0xBADD,
SMSG_AUCTION_BIDDER_NOTIFICATION = 0xBADD,
@@ -731,11 +733,11 @@ enum OpcodeServer : uint32
SMSG_AUTH_RESPONSE = 0x0DA9,
SMSG_AVAILABLE_VOICE_CHANNEL = 0x04D4,
SMSG_AVERAGE_ITEM_LEVEL_INFORM = 0xBADD,
- SMSG_BARBER_SHOP_RESULT = 0xBADD,
- SMSG_BATTLEFIELD_LIST = 0xBADD,
- SMSG_BATTLEFIELD_MGR_EJECTED = 0xBADD,
+ SMSG_BARBER_SHOP_RESULT = 0x150D,
+ SMSG_BATTLEFIELD_LIST = 0x11A1,
+ SMSG_BATTLEFIELD_MGR_EJECTED = 0x0DAF,
SMSG_BATTLEFIELD_MGR_EJECT_PENDING = 0xBADD,
- SMSG_BATTLEFIELD_MGR_ENTERED = 0xBADD,
+ SMSG_BATTLEFIELD_MGR_ENTERED = 0x11A3,
SMSG_BATTLEFIELD_MGR_ENTRY_INVITE = 0xBADD,
SMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0xBADD,
SMSG_BATTLEFIELD_MGR_QUEUE_INVITE = 0xBADD,
@@ -744,15 +746,15 @@ enum OpcodeServer : uint32
SMSG_BATTLEFIELD_PLAYER_POSITIONS = 0xBADD,
SMSG_BATTLEFIELD_PORT_DENIED = 0xBADD,
SMSG_BATTLEFIELD_RATED_INFO = 0x1F0A,
- SMSG_BATTLEFIELD_STATUS = 0xBADD,
- SMSG_BATTLEFIELD_STATUS_QUEUED = 0xBADD,
- SMSG_BATTLEFIELD_STATUS_ACTIVE = 0xBADD,
- SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION = 0xBADD,
- SMSG_BATTLEFIELD_STATUS_WAITFORGROUPS = 0xBADD,
- SMSG_BATTLEFIELD_STATUS_FAILED = 0xBADD,
+ SMSG_BATTLEFIELD_STATUS_NONE = 0x1E89,
+ SMSG_BATTLEFIELD_STATUS_QUEUED = 0x002D,
+ SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x1284,
+ SMSG_BATTLEFIELD_STATUS_NEEDCONFIRMATION = 0x1719,
+ SMSG_BATTLEFIELD_STATUS_WAITFORGROUPS = 0x082D,
+ SMSG_BATTLEFIELD_STATUS_FAILED = 0x0308,
SMSG_BATTLEGROUND_INFO_THROTTLED = 0xBADD,
- SMSG_BATTLEGROUND_PLAYER_JOINED = 0xBADD,
- SMSG_BATTLEGROUND_PLAYER_LEFT = 0xBADD,
+ SMSG_BATTLEGROUND_PLAYER_JOINED = 0x13EA,
+ SMSG_BATTLEGROUND_PLAYER_LEFT = 0x1BD1,
SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x0BE3,
SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x0F2A,
SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x12A4,
@@ -792,10 +794,9 @@ enum OpcodeServer : uint32
SMSG_CALENDAR_UPDATE_INVITE_LIST = 0xBADD,
SMSG_CAMERA_SHAKE = 0xBADD,
SMSG_CANCEL_AUTO_REPEAT = 0x0B18,
- SMSG_CANCEL_COMBAT = 0xBADD,
+ SMSG_CANCEL_COMBAT = 0x05AD,
SMSG_CAST_FAILED = 0x1A89,
SMSG_CHANNEL_LIST = 0x1411,
- SMSG_CHANNEL_MEMBER_COUNT = 0xBADD,
SMSG_CHANNEL_NOTIFY = 0x0643,
SMSG_CHANNEL_NOTIFY_JOINED = 0x1602,
SMSG_CHANNEL_NOTIFY_LEFT = 0x1452,
@@ -812,7 +813,7 @@ enum OpcodeServer : uint32
SMSG_CHAT_IGNORED_ACCOUNT_MUTED = 0xBADD,
SMSG_CHAT_NOT_IN_PARTY = 0xBADD,
SMSG_CHAT_PLAYER_AMBIGUOUS = 0xBADD,
- SMSG_CHAT_PLAYER_NOT_FOUND = 0xBADD,
+ SMSG_CHAT_PLAYER_NOT_FOUND = 0x0614,
SMSG_CHAT_RESTRICTED = 0xBADD,
SMSG_CHAT_SERVER_DISCONNECTED = 0xBADD,
SMSG_CHAT_SERVER_DISCONNECTED_2 = 0xBADD,
@@ -826,9 +827,9 @@ enum OpcodeServer : uint32
SMSG_CLEAR_QUEST_COMPLETED_BITS = 0x1D47,
SMSG_CLEAR_TARGET = 0xBADD,
SMSG_CLIENTCACHE_VERSION = 0x080D,
- SMSG_CLIENT_CONTROL_UPDATE = 0xBADD,
+ SMSG_CLIENT_CONTROL_UPDATE = 0x080E,
SMSG_COIN_REMOVED = 0x0D30,
- SMSG_COMBAT_EVENT_FAILED = 0xBADD,
+ SMSG_COMBAT_EVENT_FAILED = 0x1DAF,
SMSG_COMBAT_LOG_MULTIPLE = 0xBADD,
SMSG_COMMENTATOR_MAP_INFO = 0xBADD,
SMSG_COMMENTATOR_PARTY_INFO = 0xBADD,
@@ -842,9 +843,10 @@ enum OpcodeServer : uint32
SMSG_COMSAT_CONNECT_FAIL = 0xBADD,
SMSG_COMSAT_DISCONNECT = 0xBADD,
SMSG_COMSAT_RECONNECT_TRY = 0xBADD,
+ SMSG_CONQUEST_FORMULA_CONSTANTS = 0x1342,
SMSG_CONTACT_LIST = 0x0210,
SMSG_CONTACT_STATUS = 0x1BEA,
- SMSG_CONVERT_RUNE = 0xBADD,
+ SMSG_CONVERT_RUNE = 0x1C89,
SMSG_COOLDOWN_CHEAT = 0xBADD,
SMSG_COOLDOWN_EVENT = 0xBADD,
SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 0xBADD,
@@ -865,7 +867,7 @@ enum OpcodeServer : uint32
SMSG_DEATH_RELEASE_LOC = 0xBADD,
SMSG_DEBUG_RUNE_REGEN = 0xBADD,
SMSG_DEBUG_SERVER_GEO = 0xBADD,
- SMSG_DEFENSE_MESSAGE = 0xBADD,
+ SMSG_DEFENSE_MESSAGE = 0x1442,
SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0xBADD,
SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0xBADD,
SMSG_DISENCHANT_CREDIT = 0xBADD,
@@ -877,23 +879,24 @@ enum OpcodeServer : uint32
SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0xBADD,
SMSG_DROP_NEW_CONNECTION = 0xBADD,
SMSG_DUEL_COMPLETE = 0xBADD,
- SMSG_DUEL_COUNTDOWN = 0xBADD,
+ SMSG_DUEL_COUNTDOWN = 0x020E,
SMSG_DUEL_INBOUNDS = 0xBADD,
SMSG_DUEL_OUTOFBOUNDS = 0xBADD,
SMSG_DUEL_REQUESTED = 0xBADD,
- SMSG_DUEL_WINNER = 0xBADD,
+ SMSG_DUEL_WINNER = 0x0935,
SMSG_DUMP_RIDE_TICKETS_RESPONSE = 0xBADD,
SMSG_DURABILITY_DAMAGE_DEATH = 0xBADD,
SMSG_ECHO_PARTY_SQUELCH = 0xBADD,
SMSG_EMOTE = 0x071D,
SMSG_ENABLE_BARBER_SHOP = 0xBADD,
SMSG_ENCHANTMENTLOG = 0xBADD,
- SMSG_ENVIRONMENTALDAMAGELOG = 0xBADD,
+ SMSG_ENVIRONMENTALDAMAGELOG = 0x0AAB,
SMSG_EQUIPMENT_SET_LIST = 0x0F1E,
SMSG_EQUIPMENT_SET_SAVED = 0x0027,
SMSG_EQUIPMENT_SET_USE_RESULT = 0xBADD,
SMSG_EXPECTED_SPAM_RECORDS = 0xBADD,
SMSG_EXPLORATION_EXPERIENCE = 0xBADD,
+ SMSG_FACTION_BONUS_INFO = 0x0928,
SMSG_FAILED_PLAYER_CONDITION = 0xBADD,
SMSG_FEATURE_SYSTEM_STATUS = 0x0B1E,
SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x1540,
@@ -971,6 +974,7 @@ enum OpcodeServer : uint32
SMSG_GUILD_EVENT_BANK_MONEY_CHANGED = 0x1077,
SMSG_GUILD_EVENT_LOG_QUERY_RESULT = 0xBADD,
SMSG_GUILD_EVENT_PRESENCE_CHANGE = 0x1228,
+ SMSG_GUILD_EVENT_RANK_CHANGED = 0x1276,
SMSG_GUILD_FLAGGED_FOR_RENAME = 0xBADD,
SMSG_GUILD_INVITE = 0x1025,
SMSG_GUILD_INVITE_CANCEL = 0xBADD,
@@ -1021,7 +1025,7 @@ enum OpcodeServer : uint32
SMSG_INSPECT_TALENT = 0xBADD,
SMSG_INSTANCE_INFO = 0x0DA0,
SMSG_INSTANCE_LOCK_WARNING_QUERY = 0xBADD,
- SMSG_INSTANCE_RESET = 0xBADD,
+ SMSG_INSTANCE_RESET = 0x0B16,
SMSG_INSTANCE_RESET_FAILED = 0xBADD,
SMSG_INSTANCE_SAVE_CREATED = 0xBADD,
SMSG_INVALIDATE_DANCE = 0xBADD,
@@ -1032,18 +1036,18 @@ enum OpcodeServer : uint32
SMSG_ITEM_COOLDOWN = 0xBADD,
SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x010D,
SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0xBADD,
- SMSG_ITEM_PUSH_RESULT = 0xBADD,
+ SMSG_ITEM_PUSH_RESULT = 0x0183,
SMSG_ITEM_REFUND_INFO_RESPONSE = 0xBADD,
SMSG_ITEM_REFUND_RESULT = 0xBADD,
SMSG_ITEM_REMOVE_PASSIVE = 0xBADD,
SMSG_ITEM_SEND_PASSIVE = 0xBADD,
SMSG_ITEM_TEXT_QUERY_RESPONSE = 0xBADD,
- SMSG_ITEM_TIME_UPDATE = 0xBADD,
+ SMSG_ITEM_TIME_UPDATE = 0x0F3E,
SMSG_JOINED_BATTLEGROUND_QUEUE = 0xBADD,
SMSG_KICK_REASON = 0xBADD,
SMSG_LEARNED_DANCE_MOVES = 0xBADD,
SMSG_LEARNED_SPELLS = 0x08AB,
- SMSG_LEVELUP_INFO = 0xBADD,
+ SMSG_LEVELUP_INFO = 0x1BE4,
SMSG_LFG_BOOT_PROPOSAL_UPDATE = 0xBADD,
SMSG_LFG_DISABLED = 0xBADD,
SMSG_LFG_JOIN_RESULT = 0x0F72,
@@ -1053,7 +1057,7 @@ enum OpcodeServer : uint32
SMSG_LFG_PLAYER_INFO = 0x0F36,
SMSG_LFG_PLAYER_REWARD = 0xBADD,
SMSG_LFG_PROPOSAL_UPDATE = 0xBADD,
- SMSG_LFG_QUEUE_STATUS = 0xBADD,
+ SMSG_LFG_QUEUE_STATUS = 0x07F1,
SMSG_LFG_ROLE_CHECK_UPDATE = 0xBADD,
SMSG_LFG_ROLE_CHOSEN = 0xBADD,
SMSG_LFG_SLOT_INVALID = 0xBADD,
@@ -1084,8 +1088,8 @@ enum OpcodeServer : uint32
SMSG_LOOT_MASTER_LIST = 0xBADD,
SMSG_LOOT_MONEY_NOTIFY = 0x12A9,
SMSG_LOOT_RELEASE_RESPONSE = 0xBADD,
- SMSG_LOOT_REMOVED = 0xBADD,
- SMSG_LOOT_RESPONSE = 0xBADD,
+ SMSG_LOOT_REMOVED = 0x0906,
+ SMSG_LOOT_RESPONSE = 0x0F8A,
SMSG_LOOT_ROLL = 0xBADD,
SMSG_LOOT_ROLL_WON = 0xBADD,
SMSG_LOOT_SLOT_CHANGED = 0xBADD,
@@ -1162,8 +1166,7 @@ enum OpcodeServer : uint32
SMSG_NEW_TAXI_PATH = 0xBADD,
SMSG_NEW_WORLD = 0x0206,
SMSG_NEW_WORLD_ABORT = 0xBADD,
- SMSG_NOTIFICATION = 0xBADD,
- SMSG_NOTIFICATION_2 = 0xBADD,
+ SMSG_NOTIFICATION = 0x0B22,
SMSG_NOTIFY_DANCE = 0xBADD,
SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0xBADD,
SMSG_NPC_TEXT_UPDATE = 0x1122,
@@ -1174,8 +1177,8 @@ enum OpcodeServer : uint32
SMSG_OPEN_LFG_DUNGEON_FINDER = 0xBADD,
SMSG_OVERRIDE_LIGHT = 0xBADD,
SMSG_PAGE_TEXT_QUERY_RESPONSE = 0x05A0,
- SMSG_PARTYKILLLOG = 0xBADD,
SMSG_PARTY_COMMAND_RESULT = 0xBADD,
+ SMSG_PARTY_KILL_LOG = 0x1312,
SMSG_PARTY_MEMBER_STATS = 0x1729,
SMSG_PARTY_MEMBER_STATS_FULL = 0xBADD,
SMSG_PAUSE_MIRROR_TIMER = 0xBADD,
@@ -1213,7 +1216,7 @@ enum OpcodeServer : uint32
SMSG_PLAY_DANCE = 0xBADD,
SMSG_PLAY_MUSIC = 0xBADD,
SMSG_PLAY_OBJECT_SOUND = 0xBADD,
- SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0xBADD,
+ SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x078D,
SMSG_PLAY_SOUND = 0x02D2,
SMSG_PLAY_SPELL_VISUAL = 0x1A84,
SMSG_PLAY_SPELL_VISUAL_KIT = 0x0171,
@@ -1235,7 +1238,7 @@ enum OpcodeServer : uint32
SMSG_QUESTGIVER_QUEST_DETAILS = 0x15B3,
SMSG_QUESTGIVER_QUEST_FAILED = 0xBADD,
SMSG_QUESTGIVER_QUEST_INVALID = 0xBADD,
- SMSG_QUESTGIVER_QUEST_LIST = 0xBADD,
+ SMSG_QUESTGIVER_QUEST_LIST = 0x17A5,
SMSG_QUESTGIVER_REQUEST_ITEMS = 0x17B8,
SMSG_QUESTGIVER_STATUS = 0x1567,
SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x17C6,
@@ -1243,7 +1246,7 @@ enum OpcodeServer : uint32
SMSG_QUESTUPDATE_ADD_ITEM = 0xBADD,
SMSG_QUESTUPDATE_ADD_KILL = 0x1515,
SMSG_QUESTUPDATE_ADD_PVP_KILL = 0xBADD,
- SMSG_QUESTUPDATE_COMPLETE = 0xBADD,
+ SMSG_QUESTUPDATE_COMPLETE = 0x1787,
SMSG_QUESTUPDATE_FAILED = 0xBADD,
SMSG_QUESTUPDATE_FAILEDTIMER = 0xBADD,
SMSG_QUEST_NPC_QUERY_RESPONSE = 0x1591,
@@ -1255,8 +1258,12 @@ enum OpcodeServer : uint32
SMSG_RAID_INSTANCE_INFO = 0xBADD,
SMSG_RAID_INSTANCE_MESSAGE = 0xBADD,
SMSG_RAID_MARKERS_CHANGED = 0xBADD,
+ SMSG_RAID_READY_CHECK = 0x17A9,
+ SMSG_RAID_READY_CHECK_COMPLETED = 0x0BC3,
+ SMSG_RAID_READY_CHECK_CONFIRM = 0x0A10,
SMSG_RAID_READY_CHECK_THROTTLED_ERROR = 0xBADD,
SMSG_RAID_SUMMON_FAILED = 0xBADD,
+ SMSG_RANDOM_ROLL = 0x1B04,
SMSG_RANDOMIZE_CHAR_NAME = 0x0D8F,
SMSG_RATED_BG_RATING = 0xBADD,
SMSG_RATED_BG_STATS = 0xBADD,
@@ -1280,6 +1287,7 @@ enum OpcodeServer : uint32
SMSG_RESET_FAILED_NOTIFY = 0xBADD,
SMSG_RESISTLOG = 0xBADD,
SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0xBADD,
+ SMSG_RESUME_CAST_BAR = 0x082C,
SMSG_RESUME_COMMS = 0x07C9,
SMSG_RESUME_TOKEN = 0x0326,
SMSG_RESURRECT_FAILED = 0xBADD,
@@ -1288,6 +1296,7 @@ enum OpcodeServer : uint32
SMSG_ROLE_POLL_BEGIN = 0xBADD,
SMSG_RWHOIS = 0xBADD,
SMSG_SELL_ITEM = 0xBADD,
+ SMSG_SELL_RESPONSE = 0x1352,
SMSG_SEND_MAIL_RESULT = 0x0302,
SMSG_SEND_SPELL_CHARGES = 0x1A82,
SMSG_SEND_SPELL_HISTORY = 0x1933,
@@ -1325,8 +1334,8 @@ enum OpcodeServer : uint32
SMSG_SOCKET_GEMS_RESULT = 0xBADD,
SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0xBADD,
SMSG_SPELLBREAKLOG = 0xBADD,
- SMSG_SPELLDAMAGESHIELD = 0x188A,
- SMSG_SPELLDISPELLOG = 0xBADD,
+ SMSG_SPELLDAMAGESHIELD = 0x0B4C,
+ SMSG_SPELLDISPELLOG = 0x18A2,
SMSG_SPELLENERGIZELOG = 0x137C,
SMSG_SPELLHEALLOG = 0x0114,
SMSG_SPELLINSTAKILLLOG = 0xBADD,
@@ -1378,7 +1387,7 @@ enum OpcodeServer : uint32
SMSG_STABLE_RESULT = 0xBADD,
SMSG_STANDSTATE_UPDATE = 0x1311,
SMSG_START_ELAPSED_TIMERS = 0x093F,
- SMSG_START_MIRROR_TIMER = 0xBADD,
+ SMSG_START_MIRROR_TIMER = 0x051E,
SMSG_START_TIMER = 0xBADD,
SMSG_STOP_DANCE = 0xBADD,
SMSG_STOP_MIRROR_TIMER = 0xBADD,
@@ -1395,7 +1404,7 @@ enum OpcodeServer : uint32
SMSG_TAXINODE_STATUS = 0x0338,
SMSG_TEST_DROP_RATE_RESULT = 0xBADD,
SMSG_TEXT_EMOTE = 0x0383,
- SMSG_THREAT_CLEAR = 0xBADD,
+ SMSG_THREAT_CLEAR = 0x030F,
SMSG_THREAT_REMOVE = 0x0F3D,
SMSG_THREAT_UPDATE = 0x03A9,
SMSG_TIME_ADJUSTMENT = 0xBADD,
@@ -1410,8 +1419,8 @@ enum OpcodeServer : uint32
SMSG_TRAINER_LIST = 0x0BA9,
SMSG_TRANSFER_ABORTED = 0x03C2,
SMSG_TRANSFER_PENDING = 0x172A,
- SMSG_TRIGGER_CINEMATIC = 0xBADD,
- SMSG_TRIGGER_MOVIE = 0xBADD,
+ SMSG_TRIGGER_CINEMATIC = 0x032F,
+ SMSG_TRIGGER_MOVIE = 0x151F,
SMSG_TURN_IN_PETITION_RESULTS = 0xBADD,
SMSG_TUTORIAL_FLAGS = 0x020F,
SMSG_UNDELETE_CHARACTER_RESPONSE = 0x0344,
@@ -1430,9 +1439,9 @@ enum OpcodeServer : uint32
SMSG_UPDATE_SERVER_PLAYER_POSITION = 0xBADD,
SMSG_UPDATE_TASK_PROGRESS = 0x1209,
SMSG_UPDATE_WORLD_STATE = 0x03EC,
- SMSG_USERLIST_ADD = 0xBADD,
- SMSG_USERLIST_REMOVE = 0xBADD,
- SMSG_USERLIST_UPDATE = 0xBADD,
+ SMSG_USERLIST_ADD = 0x0441,
+ SMSG_USERLIST_REMOVE = 0x0641,
+ SMSG_USERLIST_UPDATE = 0x04C4,
SMSG_VOICESESSION_FULL = 0xBADD,
SMSG_VOICE_CHAT_STATUS = 0xBADD,
SMSG_VOICE_PARENTAL_CONTROLS = 0xBADD,
@@ -1453,12 +1462,13 @@ enum OpcodeServer : uint32
SMSG_WEEKLY_LAST_RESET = 0xBADD,
SMSG_WEEKLY_RESET_CURRENCY = 0xBADD,
SMSG_WEEKLY_SPELL_USAGE = 0x13DC,
- SMSG_WEEKLY_SPELL_USAGE_UPDATE = 0xBADD,
+ SMSG_WEEKLY_SPELL_USAGE_UPDATE = 0x1829,
SMSG_WHO = 0x0601,
SMSG_WHOIS = 0xBADD,
SMSG_WORLD_SERVER_INFO = 0x11AC,
SMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x0B83,
SMSG_XP_GAIN_ABORTED = 0xBADD,
+ SMSG_XP_GAIN_ENABLED = 0x0FAA,
SMSG_ZONE_UNDER_ATTACK = 0x1401
};
@@ -1636,7 +1646,6 @@ enum PacketProcessing
PROCESS_THREADSAFE //packet is thread-safe - process it in Map::Update()
};
-class WorldSession;
class WorldPacket;
class WorldSession;
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index c26a9b50c57..beed0547b5f 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -35,6 +35,7 @@
#include "AccountMgr.h"
#include <unordered_set>
+class Channel;
class Creature;
class GameObject;
class InstanceSave;
@@ -47,6 +48,7 @@ class SpellCastTargets;
class Unit;
class Warden;
class WorldPacket;
+class WorldSession;
class WorldSocket;
struct AreaTableEntry;
struct AuctionEntry;
@@ -104,7 +106,7 @@ namespace WorldPackets
namespace Channel
{
- class ChannelListRequest;
+ class ChannelPlayerCommand;
class JoinChannel;
class LeaveChannel;
}
@@ -956,23 +958,15 @@ class WorldSession
void HandleJoinChannel(WorldPackets::Channel::JoinChannel& packet);
void HandleLeaveChannel(WorldPackets::Channel::LeaveChannel& packet);
- void HandleChannelList(WorldPackets::Channel::ChannelListRequest& packet);
- void HandleChannelPassword(WorldPacket& recvPacket);
- void HandleChannelSetOwner(WorldPacket& recvPacket);
- void HandleChannelOwner(WorldPacket& recvPacket);
- void HandleChannelModerator(WorldPacket& recvPacket);
- void HandleChannelUnmoderator(WorldPacket& recvPacket);
- void HandleChannelMute(WorldPacket& recvPacket);
- void HandleChannelUnmute(WorldPacket& recvPacket);
- void HandleChannelInvite(WorldPacket& recvPacket);
- void HandleChannelKick(WorldPacket& recvPacket);
- void HandleChannelBan(WorldPacket& recvPacket);
- void HandleChannelUnban(WorldPacket& recvPacket);
- void HandleChannelAnnouncements(WorldPacket& recvPacket);
- void HandleChannelModerate(WorldPacket& recvPacket);
- void HandleChannelDeclineInvite(WorldPacket& recvPacket);
- void HandleGetChannelMemberCount(WorldPacket& recvPacket);
- void HandleSetChannelWatch(WorldPacket& recvPacket);
+
+ template<void(Channel::*CommandFunction)(Player const*)>
+ void HandleChannelCommand(WorldPackets::Channel::ChannelPlayerCommand& packet);
+
+ template<void(Channel::*CommandFunction)(Player const*, std::string const&)>
+ void HandleChannelPlayerCommand(WorldPackets::Channel::ChannelPlayerCommand& packet);
+
+ void HandleVoiceSessionEnableOpcode(WorldPacket& recvData);
+ void HandleSetActiveVoiceChannel(WorldPacket& recvData);
void HandleCompleteCinematic(WorldPacket& recvPacket);
void HandleNextCinematicCamera(WorldPacket& recvPacket);
@@ -1097,9 +1091,6 @@ class WorldSession
void HandleItemRefundInfoRequest(WorldPacket& recvData);
void HandleItemRefund(WorldPacket& recvData);
- void HandleChannelVoiceOnOpcode(WorldPacket& recvData);
- void HandleVoiceSessionEnableOpcode(WorldPacket& recvData);
- void HandleSetActiveVoiceChannel(WorldPacket& recvData);
void HandleSetTaxiBenchmarkOpcode(WorldPacket& recvData);
// Guild Bank
@@ -1295,5 +1286,6 @@ class WorldSession
WorldSession(WorldSession const& right) = delete;
WorldSession& operator=(WorldSession const& right) = delete;
};
+
#endif
/// @}
diff --git a/src/server/game/Server/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp
index d1739c27525..11d77b082e8 100644
--- a/src/server/game/Server/WorldSocketMgr.cpp
+++ b/src/server/game/Server/WorldSocketMgr.cpp
@@ -42,7 +42,7 @@ public:
}
};
-WorldSocketMgr::WorldSocketMgr() : BaseSocketMgr(), _socketSendBufferSize(-1), m_SockOutUBuff(65536), _tcpNoDelay(true)
+WorldSocketMgr::WorldSocketMgr() : BaseSocketMgr(), _instanceAcceptor(nullptr), _socketSendBufferSize(-1), m_SockOutUBuff(65536), _tcpNoDelay(true)
{
}