aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp12
-rw-r--r--src/server/game/Handlers/PetHandler.cpp4
-rw-r--r--src/server/game/Server/Packets/ChatPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/ChatPackets.h10
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h4
6 files changed, 28 insertions, 12 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index 5507887625b..dcc28593813 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -234,14 +234,14 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg,
if (!normalizePlayerName(extName.Name))
{
- SendPlayerNotFoundNotice(target);
+ SendChatPlayerNotfoundNotice(target);
break;
}
Player* receiver = ObjectAccessor::FindConnectedPlayerByName(extName.Name);
if (!receiver || (lang != LANG_ADDON && !receiver->isAcceptWhispers() && receiver->GetSession()->HasPermission(rbac::RBAC_PERM_CAN_FILTER_WHISPERS) && !receiver->IsInWhisperWhiteList(sender->GetGUID())))
{
- SendPlayerNotFoundNotice(target);
+ SendChatPlayerNotfoundNotice(target);
return;
}
if (!sender->IsGameMaster() && sender->getLevel() < sWorld->getIntConfig(CONFIG_CHAT_WHISPER_LEVEL_REQ) && !receiver->IsInWhisperWhiteList(sender->GetGUID()))
@@ -252,7 +252,7 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg,
if (GetPlayer()->GetTeam() != receiver->GetTeam() && !HasPermission(rbac::RBAC_PERM_TWO_SIDE_INTERACTION_CHAT) && !receiver->IsInWhisperWhiteList(sender->GetGUID()))
{
- SendPlayerNotFoundNotice(target);
+ SendChatPlayerNotfoundNotice(target);
return;
}
@@ -671,11 +671,9 @@ void WorldSession::HandleChatIgnoredOpcode(WorldPacket& recvData)
player->SendDirectMessage(packet.Write());
}
-void WorldSession::SendPlayerNotFoundNotice(std::string const& name)
+void WorldSession::SendChatPlayerNotfoundNotice(std::string const& name)
{
- WorldPacket data(SMSG_CHAT_PLAYER_NOTFOUND, name.size()+1);
- data << name;
- SendPacket(&data);
+ SendPacket(WorldPackets::Chat::ChatPlayerNotfound(name).Write());
}
void WorldSession::SendPlayerAmbiguousNotice(std::string const& name)
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index 7dd87f6cdba..c8f74a31b96 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -418,10 +418,10 @@ void WorldSession::HandleQueryPetName(WorldPackets::Query::QueryPetName& packet)
{
TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUERY_PET_NAME");
- SendPetNameQuery(packet.UnitGUID);
+ SendQueryPetNameResponse(packet.UnitGUID);
}
-void WorldSession::SendPetNameQuery(ObjectGuid guid)
+void WorldSession::SendQueryPetNameResponse(ObjectGuid guid)
{
WorldPackets::Query::QueryPetNameResponse response;
diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp
index 8179ee427c8..de4194db023 100644
--- a/src/server/game/Server/Packets/ChatPackets.cpp
+++ b/src/server/game/Server/Packets/ChatPackets.cpp
@@ -206,3 +206,11 @@ WorldPacket const* WorldPackets::Chat::PrintNotification::Write()
_worldPacket.WriteString(NotifyText);
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::Chat::ChatPlayerNotfound::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 8cadb88b584..b794d118d88 100644
--- a/src/server/game/Server/Packets/ChatPackets.h
+++ b/src/server/game/Server/Packets/ChatPackets.h
@@ -229,6 +229,16 @@ namespace WorldPackets
void Read() override { }
};
+
+ class ChatPlayerNotfound final : public ServerPacket
+ {
+ public:
+ ChatPlayerNotfound(std::string const& name) : ServerPacket(SMSG_CHAT_PLAYER_NOTFOUND, 2 + name.size()), Name(name) { }
+
+ 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 0ee0cc8306a..2c3425a57f3 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1008,7 +1008,7 @@ void OpcodeTable::Initialize()
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_NOTFOUND, STATUS_UNHANDLED, 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);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_SERVER_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 7917c9f0a44..8fbdf41e55a 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -767,7 +767,7 @@ class WorldSession
void HandleClientCastFlags(WorldPacket& recvPacket, uint8 castFlags, SpellCastTargets& targets);
// Pet
- void SendPetNameQuery(ObjectGuid guid);
+ void SendQueryPetNameResponse(ObjectGuid guid);
void SendStablePet(ObjectGuid guid);
void SendStablePetCallback(PreparedQueryResult result, ObjectGuid guid);
void SendPetStableResult(uint8 guid);
@@ -1233,7 +1233,7 @@ class WorldSession
void HandleChatMessageAFKOpcode(WorldPackets::Chat::ChatMessageAFK& chatMessageAFK);
void HandleChatMessageDNDOpcode(WorldPackets::Chat::ChatMessageDND& chatMessageDND);
void HandleChatMessageEmoteOpcode(WorldPackets::Chat::ChatMessageEmote& chatMessageEmote);
- void SendPlayerNotFoundNotice(std::string const& name);
+ void SendChatPlayerNotfoundNotice(std::string const& name);
void SendPlayerAmbiguousNotice(std::string const& name);
void SendChatRestrictedNotice(ChatRestrictionType restriction);
void HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet);