Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # HG changeset patch
- # User SergeySV
- # Date 1284310748 -14400
- # Branch With Anti-Cheat v0.9
- # Node ID f5a8be0a98199f14b7bdeb659804559bd25f94a5
- # Parent 096461d826c3f31349de4b4a0670588510166453
- chatspy2_by_SV
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Chat/Channels/Channel.cpp
- --- a/src/server/game/Chat/Channels/Channel.cpp Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Chat/Channels/Channel.cpp Sun Sep 12 20:59:08 2010 +0400
- @@ -668,6 +668,11 @@
- }
- else
- {
- + // ChatSpy
- + for(PlayerList::iterator itr = players.begin(); itr != players.end(); ++itr)
- + if(Player* pl = sObjectMgr.GetPlayer(itr->first))
- + pl->HandleChatSpyMessage(what, CHAT_MSG_CHANNEL, lang, plr, GetName());
- +
- uint32 messageLength = strlen(what) + 1;
- WorldPacket data(SMSG_MESSAGECHAT, 1+4+8+4+m_name.size()+1+8+4+messageLength+1);
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Chat/Chat.cpp
- --- a/src/server/game/Chat/Chat.cpp Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Chat/Chat.cpp Sun Sep 12 20:59:08 2010 +0400
- @@ -65,6 +65,15 @@
- ChatCommand * ChatHandler::getCommandTable()
- {
- + static ChatCommand chatspyCommandTable[] =
- + {
- + { "reset", SEC_ADMINISTRATOR, false, &ChatHandler::HandleChatSpyResetCommand, "", NULL },
- + { "cancel", SEC_ADMINISTRATOR, false, &ChatHandler::HandleChatSpyCancelCommand, "", NULL },
- + { "status", SEC_ADMINISTRATOR, false, &ChatHandler::HandleChatSpyStatusCommand, "", NULL },
- + { "", SEC_ADMINISTRATOR, false, &ChatHandler::HandleChatSpySetCommand, "", NULL },
- + { NULL, 0, false, NULL, "", NULL }
- + };
- +
- static ChatCommand accountSetCommandTable[] =
- {
- { "addon", SEC_ADMINISTRATOR, true, &ChatHandler::HandleAccountSetAddonCommand, "", NULL },
- @@ -727,6 +736,7 @@
- { "reset", SEC_ADMINISTRATOR, true, NULL, "", resetCommandTable },
- { "instance", SEC_ADMINISTRATOR, true, NULL, "", instanceCommandTable },
- { "server", SEC_ADMINISTRATOR, true, NULL, "", serverCommandTable },
- + { "chatspy", SEC_ADMINISTRATOR, false, NULL, "", chatspyCommandTable },
- { "channel", SEC_ADMINISTRATOR, true, NULL, "", channelCommandTable },
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Chat/Chat.h
- --- a/src/server/game/Chat/Chat.h Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Chat/Chat.h Sun Sep 12 20:59:08 2010 +0400
- @@ -608,6 +608,12 @@
- bool HandleTempGameObjectCommand(const char* args);
- bool HandleTempAddSpwCommand(const char* args);
- + // ChatSpy
- + bool HandleChatSpyResetCommand(const char * args);
- + bool HandleChatSpyCancelCommand(const char * args);
- + bool HandleChatSpySetCommand(const char * args);
- + bool HandleChatSpyStatusCommand(const char * args);
- +
- //! Development Commands
- /*bool HandleQuestAdd(const char * args);
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Chat/Commands/Level3.cpp
- --- a/src/server/game/Chat/Commands/Level3.cpp Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Chat/Commands/Level3.cpp Sun Sep 12 20:59:08 2010 +0400
- @@ -7447,3 +7447,116 @@
- m_session->GetPlayer()->StopCastingBindSight();
- return true;
- }
- +bool ChatHandler::HandleChatSpySetCommand(const char *args)
- +{
- + if(!args)
- + return false;
- +
- + char* name = strtok((char*)args, " ");
- + std::string cname;
- + Player* target = NULL;
- +
- + if(name)
- + {
- + cname = name;
- + normalizePlayerName(cname);
- + target = sObjectMgr.GetPlayer(cname.c_str());
- + }
- + else
- + target = getSelectedPlayer();
- +
- + if(!target || target->GetSession() == m_session)
- + {
- + SendSysMessage(LANG_PLAYER_NOT_FOUND);
- + SetSentErrorMessage(true);
- + return false;
- + }
- +
- + target->m_chatSpyGuid = m_session->GetPlayer()->GetGUID();
- + PSendSysMessage(LANG_CHATSPY_APEENDED, target->GetName(), target->GetGUIDLow());
- + return true;
- +}
- +bool ChatHandler::HandleChatSpyResetCommand(const char* /*args*/)
- +{
- + HashMapHolder<Player>::MapType &m = HashMapHolder<Player>::GetContainer();
- + HashMapHolder<Player>::MapType::iterator itr = m.begin();
- + for(; itr != m.end(); ++itr)
- + {
- + Player* plr = itr->second->GetSession()->GetPlayer();
- + if (plr && plr->m_chatSpyGuid)
- + {
- + if(Player* spy = sObjectMgr.GetPlayer(plr->m_chatSpyGuid))
- + if(spy->IsInWorld())
- + ChatHandler(spy).PSendSysMessage(LANG_CHATSPY_CANCELLEDMASSIVE,
- + plr->GetName(), plr->GetGUIDLow());
- + plr->m_chatSpyGuid = 0;
- + }
- + }
- + SendSysMessage("All |cff00cc00ChatSpy|rs reset.");
- + return true;
- +}
- +bool ChatHandler::HandleChatSpyCancelCommand(const char* args)
- +{
- + if(!args)
- + return false;
- +
- + char* name = strtok((char*)args, " ");
- + std::string cname;
- + Player* target = NULL;
- +
- + if(name)
- + {
- + cname = name;
- + normalizePlayerName(cname);
- + target = sObjectMgr.GetPlayer(cname.c_str());
- + }
- + else
- + target = getSelectedPlayer();
- +
- + if(!target || target->GetSession() == m_session)
- + {
- + SendSysMessage(LANG_PLAYER_NOT_FOUND);
- + SetSentErrorMessage(true);
- + return false;
- + }
- +
- + // ok, player found
- + if(!target->m_chatSpyGuid)
- + {
- + PSendSysMessage(LANG_CHATSPY_NOCHATSPY, target->GetName(), target->GetGUIDLow());
- + SetSentErrorMessage(true);
- + return false;
- + }
- + if(target->m_chatSpyGuid == m_session->GetPlayer()->GetGUID())
- + SendSysMessage(LANG_CHATSPY_YOURCANCELLED);
- + else
- + {
- + Player* spy = sObjectMgr.GetPlayer(target->m_chatSpyGuid);
- + PSendSysMessage(LANG_CHATSPY_SMBCANCELLED, (spy ? spy->GetName() : "ERROR"), (spy ? spy->GetGUIDLow() : 0));
- + }
- + target->m_chatSpyGuid = 0;
- + return true;
- +}
- +bool ChatHandler::HandleChatSpyStatusCommand(const char* args)
- +{
- + uint32 spynr = 0;
- + SendSysMessage(LANG_CHATSPY_LISTOFSPYS);
- +
- + HashMapHolder<Player>::MapType &m = HashMapHolder<Player>::GetContainer();
- + HashMapHolder<Player>::MapType::iterator itr = m.begin();
- + for(; itr != m.end(); ++itr)
- + {
- + Player* plr = itr->second->GetSession()->GetPlayer();
- + if (plr && plr->m_chatSpyGuid)
- + {
- + Player* spy = sObjectMgr.GetPlayer(plr->m_chatSpyGuid);
- + PSendSysMessage(LANG_CHATSPY_ONESPYSANOTHER,
- + (spy ? spy->GetName() : "ERROR"), (spy ? spy->GetGUIDLow() : 0),
- + plr->GetName(), plr->GetGUIDLow()
- + );
- + spynr++;
- + }
- + }
- + PSendSysMessage(LANG_CHATSPY_TOTAL, spynr);
- + return true;
- +}
- \ No newline at end of file
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Entities/Player/Player.cpp
- --- a/src/server/game/Entities/Player/Player.cpp Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Entities/Player/Player.cpp Sun Sep 12 20:59:08 2010 +0400
- @@ -621,6 +621,8 @@
- m_lastFallTime = 0;
- m_lastFallZ = 0;
- +
- + m_chatSpyGuid = 0;
- m_ControlledByPlayer = true;
- m_isWorldObject = true;
- @@ -18648,10 +18650,61 @@
- *data << (uint8)chatTag();
- }
- + const char* chatNameColors[MAX_CHAT_MSG_TYPE][2] = {
- + { NULL, NULL },
- + { "ffffff", "Say" },
- + { "aaaaff", "Party" },
- + { "ff7f00", "Raid" },
- + { "40ff40", "Guild" },
- + { "40c040", "GOfficer" },
- + { "ff4040", "Yell" },
- + { "8e08c2", "W From Smb"},
- + { NULL, NULL },
- + { "ff20fc", "W To Smb" },
- + { "ff8040", "Emote" }, // Standard emote, not used by ChatSpy ?
- + { "ff8040", "TEmote" }, // Text emote ("/me", "/e", "/em")
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { "ffc0c0", "Channel" },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { "ff4809", "R Leader" },
- + { "ff4800", "R Warning" },
- + { NULL, NULL },
- + { NULL, NULL },
- + { NULL, NULL },
- + { "ff7f00", "BG Leader" },
- + { "ffdbb7", "BG" },
- + { NULL, NULL }
- + };
- +
- +
- void Player::Say(const std::string& text, const uint32 language)
- {
- sScriptMgr.OnPlayerChat(this, CHAT_MSG_SAY, language, text);
- -
- + HandleChatSpyMessage(text, CHAT_MSG_SAY, language);
- WorldPacket data(SMSG_MESSAGECHAT, 200);
- BuildPlayerChat(&data, CHAT_MSG_SAY, text, language);
- SendMessageToSetInRange(&data,sWorld.getFloatConfig(CONFIG_LISTEN_RANGE_SAY),true);
- @@ -18660,7 +18713,7 @@
- void Player::Yell(const std::string& text, const uint32 language)
- {
- sScriptMgr.OnPlayerChat(this, CHAT_MSG_YELL, language, text);
- -
- + HandleChatSpyMessage(text, CHAT_MSG_YELL, language);
- WorldPacket data(SMSG_MESSAGECHAT, 200);
- BuildPlayerChat(&data, CHAT_MSG_YELL, text, language);
- SendMessageToSetInRange(&data,sWorld.getFloatConfig(CONFIG_LISTEN_RANGE_YELL),true);
- @@ -18669,7 +18722,7 @@
- void Player::TextEmote(const std::string& text)
- {
- sScriptMgr.OnPlayerChat(this, CHAT_MSG_EMOTE, LANG_UNIVERSAL, text);
- -
- + HandleChatSpyMessage(text, CHAT_MSG_EMOTE, LANG_UNIVERSAL);
- WorldPacket data(SMSG_MESSAGECHAT, 200);
- BuildPlayerChat(&data, CHAT_MSG_EMOTE, text, LANG_UNIVERSAL);
- SendMessageToSetInRange(&data,sWorld.getFloatConfig(CONFIG_LISTEN_RANGE_TEXTEMOTE),true, !sWorld.getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT));
- @@ -18690,6 +18743,7 @@
- WorldPacket data(SMSG_MESSAGECHAT, 200);
- BuildPlayerChat(&data, CHAT_MSG_WHISPER, text, language);
- rPlayer->GetSession()->SendPacket(&data);
- + rPlayer->HandleChatSpyMessage(text, CHAT_MSG_WHISPER, language, this);
- // not send confirmation for addon messages
- if (language != LANG_ADDON)
- @@ -18697,6 +18751,7 @@
- data.Initialize(SMSG_MESSAGECHAT, 200);
- rPlayer->BuildPlayerChat(&data, CHAT_MSG_WHISPER_INFORM, text, language);
- GetSession()->SendPacket(&data);
- +
- }
- }
- else
- @@ -18720,6 +18775,69 @@
- ToggleDND();
- }
- +void Player::HandleChatSpyMessage(const std::string& msg, uint8 type, uint32 lang, Player* sender, std::string special)
- +{
- + if(!m_chatSpyGuid || lang == LANG_ADDON || sender == this)
- + return;
- +
- + if(m_chatSpyGuid == GetGUID())
- + {
- + m_chatSpyGuid = 0;
- + return;
- + }
- +
- + Player *plr = sObjectMgr.GetPlayer(m_chatSpyGuid);
- +
- + if(!plr || !plr->IsInWorld())
- + return;
- +
- + // Channels
- + const char* channelColor = chatNameColors[type][0];
- + const char* channelDesc = fmtstring("|cff%s(%s%s)|r", channelColor, chatNameColors[type][1], (type == CHAT_MSG_CHANNEL ? fmtstring(" '%s'", special.c_str()) : ""));
- +
- + // Recipients
- + const char* from = fmtstring("|cffff0000%s|r", GetName());
- + const char* to = channelDesc;
- +
- + // Special cases
- + switch(type)
- + {
- + // Public channels
- + case CHAT_MSG_CHANNEL:
- + case CHAT_MSG_SAY:
- + case CHAT_MSG_YELL:
- + case CHAT_MSG_EMOTE:
- + case CHAT_MSG_TEXT_EMOTE:
- + case CHAT_MSG_PARTY:
- + case CHAT_MSG_RAID:
- + case CHAT_MSG_RAID_LEADER:
- + case CHAT_MSG_RAID_WARNING:
- + case CHAT_MSG_GUILD:
- + case CHAT_MSG_BATTLEGROUND:
- + case CHAT_MSG_BATTLEGROUND_LEADER:
- + if(sender)
- + {
- + from = sender->GetName();
- + to = fmtstring("|cffff0000%s|r %s", GetName(), channelDesc);
- + }
- + break;
- + // Private channels
- + case CHAT_MSG_WHISPER:
- + from = sender->GetName();
- + to = fmtstring("|cffff0000%s|r %s", GetName(), channelDesc);
- + break;
- + case CHAT_MSG_REPLY:
- + //from = to;
- + to = fmtstring("%s %s", sender->GetName(), channelDesc);
- + break;
- + default:
- + sLog.outError("ChatSpy: unknown msg type(%u), sender %u", type, (sender ? sender->GetGUIDLow() : 0));
- + return;
- + }
- +
- + ChatHandler(plr->GetSession()).PSendSysMessage("%s => %s: %s", from, to, msg.c_str());
- +}
- +
- void Player::PetSpellInitialize()
- {
- Pet* pet = GetPet();
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Entities/Player/Player.h
- --- a/src/server/game/Entities/Player/Player.h Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Entities/Player/Player.h Sun Sep 12 20:59:08 2010 +0400
- @@ -2222,6 +2222,10 @@
- WorldLocation GetStartPosition() const;
- + // ChatSpy
- + void HandleChatSpyMessage(const std::string& msg, uint8 type, uint32 lang, Player* sender = NULL, std::string special = "");
- + uint64 m_chatSpyGuid;
- +
- // currently visible objects at player client
- typedef std::set<uint64> ClientGUIDs;
- ClientGUIDs m_clientGUIDs;
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Guilds/Guild.cpp
- --- a/src/server/game/Guilds/Guild.cpp Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Guilds/Guild.cpp Sun Sep 12 20:59:08 2010 +0400
- @@ -585,7 +585,10 @@
- Player *pl = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER));
- if (pl && pl->GetSession() && HasRankRight(pl->GetRank(),GR_RIGHT_OFFCHATLISTEN) && !pl->GetSocial()->HasIgnore(session->GetPlayer()->GetGUIDLow()))
- + {
- pl->GetSession()->SendPacket(&data);
- + pl->HandleChatSpyMessage(msg, CHAT_MSG_OFFICER, language, session->GetPlayer());
- + }
- }
- }
- }
- diff -r e57d02adb66d -r 3434a66d57ad src/server/game/Miscellaneous/Language.h
- --- a/src/server/game/Miscellaneous/Language.h Sun Sep 12 21:05:51 2010 +0400
- +++ b/src/server/game/Miscellaneous/Language.h Sun Sep 12 21:07:43 2010 +0400
- @@ -1053,7 +1053,15 @@
- // Use for custom patches 11000-11999
- LANG_AUTO_BROADCAST = 11000,
- LANG_INVALID_REALMID = 11001,
- -
- + LANG_CHATSPY_APEENDED = 11600,
- + LANG_CHATSPY_CANCELLEDMASSIVE = 11601,
- + LANG_CHATSPY_ALLRESET = 11602,
- + LANG_CHATSPY_NOCHATSPY = 11603,
- + LANG_CHATSPY_YOURCANCELLED = 11604,
- + LANG_CHATSPY_SMBCANCELLED = 11605,
- + LANG_CHATSPY_LISTOFSPYS = 11606,
- + LANG_CHATSPY_TOTAL = 11607,
- + LANG_CHATSPY_ONESPYSANOTHER = 11608,
- // NOT RESERVED IDS 12000-1999999999
- // `db_script_string` table index 2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID)
- // For other tables maybe 2000010000-2147483647 (max index)
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Miscellaneous/SharedDefines.h
- --- a/src/server/game/Miscellaneous/SharedDefines.h Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Miscellaneous/SharedDefines.h Sun Sep 12 20:59:08 2010 +0400
- @@ -2467,7 +2467,8 @@
- CHAT_MSG_ACHIEVEMENT = 0x30,
- CHAT_MSG_GUILD_ACHIEVEMENT = 0x31,
- CHAT_MSG_ARENA_POINTS = 0x32,
- - CHAT_MSG_PARTY_LEADER = 0x33
- + CHAT_MSG_PARTY_LEADER = 0x33,
- + CHAT_MSG_REPLY = 0x34
- };
- #define MAX_CHAT_MSG_TYPE 0x34
- diff -r 096461d826c3 -r f5a8be0a9819 src/server/game/Server/Protocol/Handlers/ChatHandler.cpp
- --- a/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp Sun Sep 12 13:48:35 2010 +0400
- +++ b/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp Sun Sep 12 20:59:08 2010 +0400
- @@ -304,6 +304,12 @@
- sScriptMgr.OnPlayerChat(GetPlayer(), type, lang, msg, group);
- + // ChatSpy
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_PARTY, lang);
- + for(GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
- + if(Player *pl = itr->getSource())
- + pl->HandleChatSpyMessage(msg, CHAT_MSG_PARTY, lang, GetPlayer());
- +
- WorldPacket data;
- ChatHandler::FillMessageData(&data, this, type, lang, NULL, 0, msg.c_str(), NULL);
- group->BroadcastPacket(&data, false, group->GetMemberGroup(GetPlayer()->GetGUID()));
- @@ -331,8 +337,10 @@
- if (Guild *guild = sObjectMgr.GetGuildById(GetPlayer()->GetGuildId()))
- {
- sScriptMgr.OnPlayerChat(GetPlayer(), type, lang, msg, guild);
- -
- + {
- guild->BroadcastToGuild(this, msg, lang == LANG_ADDON ? LANG_ADDON : LANG_UNIVERSAL);
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_OFFICER, lang);
- + }
- }
- }
- @@ -360,8 +368,10 @@
- if (Guild *guild = sObjectMgr.GetGuildById(GetPlayer()->GetGuildId()))
- {
- sScriptMgr.OnPlayerChat(GetPlayer(), type, lang, msg, guild);
- -
- + {
- guild->BroadcastToOfficers(this, msg, lang == LANG_ADDON ? LANG_ADDON : LANG_UNIVERSAL);
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_OFFICER, lang);
- + }
- }
- }
- break;
- @@ -394,6 +404,18 @@
- sScriptMgr.OnPlayerChat(GetPlayer(), type, lang, msg, group);
- + // ChatSpy
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_RAID, lang);
- + for(GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
- + if(Player *pl = itr->getSource())
- + pl->HandleChatSpyMessage(msg, CHAT_MSG_RAID, lang, GetPlayer());
- +
- + // ChatSpy
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_RAID_LEADER, lang);
- + for(GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
- + if(Player *pl = itr->getSource())
- + pl->HandleChatSpyMessage(msg, CHAT_MSG_RAID_LEADER, lang, GetPlayer());
- +
- WorldPacket data;
- ChatHandler::FillMessageData(&data, this, CHAT_MSG_RAID, lang, "", 0, msg.c_str(), NULL);
- group->BroadcastPacket(&data, false);
- @@ -426,6 +448,18 @@
- sScriptMgr.OnPlayerChat(GetPlayer(), type, lang, msg, group);
- + // ChatSpy
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_RAID_WARNING, lang);
- + for(GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
- + if(Player *pl = itr->getSource())
- + pl->HandleChatSpyMessage(msg, CHAT_MSG_RAID_WARNING, lang, GetPlayer());
- +
- + // ChatSpy
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_BATTLEGROUND, lang);
- + for(GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
- + if(Player *pl = itr->getSource())
- + pl->HandleChatSpyMessage(msg, CHAT_MSG_BATTLEGROUND, lang, GetPlayer());
- +
- WorldPacket data;
- ChatHandler::FillMessageData(&data, this, CHAT_MSG_RAID_LEADER, lang, "", 0, msg.c_str(), NULL);
- group->BroadcastPacket(&data, false);
- @@ -447,6 +481,12 @@
- sScriptMgr.OnPlayerChat(GetPlayer(), type, lang, msg, group);
- + // ChatSpy
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_BATTLEGROUND_LEADER, lang);
- + for(GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
- + if(Player *pl = itr->getSource())
- + pl->HandleChatSpyMessage(msg, CHAT_MSG_BATTLEGROUND_LEADER, lang, GetPlayer());
- +
- WorldPacket data;
- //in battleground, raid warning is sent only to players in battleground - code is ok
- ChatHandler::FillMessageData(&data, this, CHAT_MSG_RAID_WARNING, lang, "", 0, msg.c_str(), NULL);
- @@ -523,8 +563,10 @@
- if (Channel *chn = cMgr->GetChannel(channel, _player))
- {
- sScriptMgr.OnPlayerChat(_player, type, lang, msg, chn);
- -
- + {
- chn->Say(_player->GetGUID(), msg.c_str(), lang);
- + GetPlayer()->HandleChatSpyMessage(msg, CHAT_MSG_CHANNEL, lang, NULL, channel);
- + }
- }
- }
- } break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement