diff options
author | Carbenium <carbenium@outlook.com> | 2016-02-08 22:33:58 +0100 |
---|---|---|
committer | Carbenium <carbenium@outlook.com> | 2016-02-08 22:34:20 +0100 |
commit | b9f1dffa14fbd340634b035e05e59063d0028bfa (patch) | |
tree | 2a8d072d3127ea8f7c4b695f6f2df9a61bfcbcf0 /src | |
parent | 43642630c7cc8a96009a6cb7edbaa895c41f63c0 (diff) |
Core/PacketIO: Updated and enabled SMSG_CHAT_PLAYER_AMBIGUOUS
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/ChatHandler.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ChatPackets.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ChatPackets.h | 10 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 |
4 files changed, 22 insertions, 4 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 462ed8051be..2e91381b6e4 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -653,9 +653,9 @@ void WorldSession::SendChatPlayerNotfoundNotice(std::string const& name) void WorldSession::SendPlayerAmbiguousNotice(std::string const& name) { - WorldPacket data(SMSG_CHAT_PLAYER_AMBIGUOUS, name.size()+1); - data << name; - SendPacket(&data); + WorldPackets::Chat::ChatPlayerAmbiguous packet; + packet.Name = name; + SendPacket(packet.Write()); } void WorldSession::SendChatRestrictedNotice(ChatRestrictionType restriction) diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp index be923c1b847..cfaa986eaaa 100644 --- a/src/server/game/Server/Packets/ChatPackets.cpp +++ b/src/server/game/Server/Packets/ChatPackets.cpp @@ -271,3 +271,11 @@ void WorldPackets::Chat::ChatReportIgnored::Read() _worldPacket >> IgnoredGUID; _worldPacket >> Reason; } + +WorldPacket const * WorldPackets::Chat::ChatPlayerAmbiguous::Write() +{ + _worldPacket.WriteBits(Name.length(), 9); + _worldPacket.WriteString(Name); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h index 6f13419666e..e981feddb79 100644 --- a/src/server/game/Server/Packets/ChatPackets.h +++ b/src/server/game/Server/Packets/ChatPackets.h @@ -300,6 +300,16 @@ namespace WorldPackets ObjectGuid IgnoredGUID; uint8 Reason = 0; }; + + class ChatPlayerAmbiguous : ServerPacket + { + public: + ChatPlayerAmbiguous() : ServerPacket(SMSG_CHAT_PLAYER_AMBIGUOUS, 2 + Name.length()) { } + + WorldPacket const* Write() override; + + std::string Name; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 7adadcffeb9..15048b52537 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -970,7 +970,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IGNORED_ACCOUNT_MUTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IS_DOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_NOT_IN_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_NOTFOUND, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_RECONNECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_RESTRICTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); |