aboutsummaryrefslogtreecommitdiff
path: root/src/game/Chat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Chat.cpp')
-rw-r--r--src/game/Chat.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 0a646c93e83..30946f7b7da 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -533,7 +533,9 @@ ChatCommand * ChatHandler::getCommandTable()
{ "unaura", SEC_ADMINISTRATOR, false, &ChatHandler::HandleUnAuraCommand, "", NULL },
{ "nameannounce", SEC_MODERATOR, false, &ChatHandler::HandleNameAnnounceCommand, "", NULL },
{ "announce", SEC_MODERATOR, true, &ChatHandler::HandleAnnounceCommand, "", NULL },
+ { "gmannounce", SEC_MODERATOR, true, &ChatHandler::HandleGMAnnounceCommand, "", NULL },
{ "notify", SEC_MODERATOR, true, &ChatHandler::HandleNotifyCommand, "", NULL },
+ { "gmnotify", SEC_MODERATOR, true, &ChatHandler::HandleGMNotifyCommand, "", NULL },
{ "goname", SEC_MODERATOR, false, &ChatHandler::HandleGonameCommand, "", NULL },
{ "namego", SEC_MODERATOR, false, &ChatHandler::HandleNamegoCommand, "", NULL },
{ "groupgo", SEC_MODERATOR, false, &ChatHandler::HandleGroupgoCommand, "", NULL },
@@ -722,6 +724,22 @@ void ChatHandler::SendGlobalSysMessage(const char *str)
free(buf);
}
+void ChatHandler::SendGlobalGMSysMessage(const char *str)
+{
+ // Chat output
+ WorldPacket data;
+
+ // need copy to prevent corruption by strtok call in LineFromMessage original string
+ char* buf = strdup(str);
+ char* pos = buf;
+
+ while(char* line = LineFromMessage(pos))
+ {
+ FillSystemMessageData(&data, line);
+ sWorld.SendGlobalGMMessage(&data);
+ }
+}
+
void ChatHandler::SendSysMessage(int32 entry)
{
SendSysMessage(GetTrinityString(entry));