aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp8
-rw-r--r--src/server/game/Server/Packets/ChatPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/ChatPackets.h14
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp2
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h11
6 files changed, 32 insertions, 14 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index 2e91381b6e4..d96eb9b551e 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -658,9 +658,9 @@ void WorldSession::SendPlayerAmbiguousNotice(std::string const& name)
SendPacket(packet.Write());
}
-void WorldSession::SendChatRestrictedNotice(ChatRestrictionType restriction)
+void WorldSession::SendChatRestricted(ChatRestrictionType restriction)
{
- WorldPacket data(SMSG_CHAT_RESTRICTED, 1);
- data << uint8(restriction);
- SendPacket(&data);
+ WorldPackets::Chat::ChatRestricted packet;
+ packet.Reason = restriction;
+ SendPacket(packet.Write());
}
diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp
index cfaa986eaaa..612b46ca919 100644
--- a/src/server/game/Server/Packets/ChatPackets.cpp
+++ b/src/server/game/Server/Packets/ChatPackets.cpp
@@ -272,10 +272,17 @@ void WorldPackets::Chat::ChatReportIgnored::Read()
_worldPacket >> Reason;
}
-WorldPacket const * WorldPackets::Chat::ChatPlayerAmbiguous::Write()
+WorldPacket const* WorldPackets::Chat::ChatPlayerAmbiguous::Write()
{
_worldPacket.WriteBits(Name.length(), 9);
_worldPacket.WriteString(Name);
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::Chat::ChatRestricted::Write()
+{
+ _worldPacket << uint8(Reason);
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h
index e981feddb79..277892c1495 100644
--- a/src/server/game/Server/Packets/ChatPackets.h
+++ b/src/server/game/Server/Packets/ChatPackets.h
@@ -301,15 +301,25 @@ namespace WorldPackets
uint8 Reason = 0;
};
- class ChatPlayerAmbiguous : ServerPacket
+ class ChatPlayerAmbiguous final : public ServerPacket
{
public:
- ChatPlayerAmbiguous() : ServerPacket(SMSG_CHAT_PLAYER_AMBIGUOUS, 2 + Name.length()) { }
+ ChatPlayerAmbiguous() : ServerPacket(SMSG_CHAT_PLAYER_AMBIGUOUS, 2 + Name.length()) { }
WorldPacket const* Write() override;
std::string Name;
};
+
+ class ChatRestricted final : public ServerPacket
+ {
+ public:
+ ChatRestricted() : ServerPacket(SMSG_CHAT_RESTRICTED, 1) { }
+
+ WorldPacket const* Write() override;
+
+ uint8 Reason = 0;
+ };
}
}
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index f1cb69c32db..3eea414f024 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -808,7 +808,7 @@ void WorldPackets::Spells::MissileTrajectoryCollision::Read()
_worldPacket >> CollisionPos;
}
-WorldPacket const * WorldPackets::Spells::NotifyMissileTrajectoryCollision::Write()
+WorldPacket const* WorldPackets::Spells::NotifyMissileTrajectoryCollision::Write()
{
_worldPacket << Caster;
_worldPacket << uint8(CastID);
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 15048b52537..b12948d7337 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -973,7 +973,7 @@ void OpcodeTable::Initialize()
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);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_RESTRICTED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_SERVER_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHEAT_IGNORE_DIMISHING_RETURNS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHECK_WARGAME_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index efa1f4151ca..857988313d0 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -787,10 +787,11 @@ enum BFLeaveReason
enum ChatRestrictionType
{
- ERR_CHAT_RESTRICTED = 0,
- ERR_CHAT_THROTTLED = 1,
- ERR_USER_SQUELCHED = 2,
- ERR_YELL_RESTRICTED = 3
+ ERR_CHAT_RESTRICTED = 0,
+ ERR_CHAT_THROTTLED = 1,
+ ERR_USER_SQUELCHED = 2,
+ ERR_YELL_RESTRICTED = 3,
+ ERR_CHAT_RAID_RESTRICTED = 4
};
enum CharterTypes
@@ -1438,7 +1439,7 @@ class WorldSession
void HandleChatMessageEmoteOpcode(WorldPackets::Chat::ChatMessageEmote& chatMessageEmote);
void SendChatPlayerNotfoundNotice(std::string const& name);
void SendPlayerAmbiguousNotice(std::string const& name);
- void SendChatRestrictedNotice(ChatRestrictionType restriction);
+ void SendChatRestricted(ChatRestrictionType restriction);
void HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet);
void HandleChatIgnoredOpcode(WorldPackets::Chat::ChatReportIgnored& chatReportIgnored);