diff options
| author | Nay <dnpd.dd@gmail.com> | 2012-08-04 15:58:09 +0100 |
|---|---|---|
| committer | Nay <dnpd.dd@gmail.com> | 2012-08-04 15:58:09 +0100 |
| commit | 5518daa74b6db8852ca000ee4e3a3fee0418596b (patch) | |
| tree | e7a6ab946285d1013d7dc9fd015e1348ab1e2630 /src/server/game/Guilds/Guild.cpp | |
| parent | 17e852d9b3c7a28a66934e7ec9d7ab00a770d06d (diff) | |
Core/Chat: Send addon prefix in addon messages
Correct structure of some CMSG_MESSAGECHAT_ADDON_x opcodes
Fix a compile error in HandleReforgeItemOpcode
Diffstat (limited to 'src/server/game/Guilds/Guild.cpp')
| -rwxr-xr-x | src/server/game/Guilds/Guild.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index ac4802a3091..fc73da04f12 100755 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -2069,6 +2069,20 @@ void Guild::BroadcastToGuild(WorldSession* session, bool officerOnly, const std: } } +void Guild::BroadcastAddonToGuild(WorldSession* session, bool officerOnly, const std::string& msg, const std::string& prefix) const +{ + if (session && session->GetPlayer() && _HasRankRight(session->GetPlayer(), officerOnly ? GR_RIGHT_OFFCHATSPEAK : GR_RIGHT_GCHATSPEAK)) + { + WorldPacket data; + ChatHandler::FillMessageData(&data, session, officerOnly ? CHAT_MSG_OFFICER : CHAT_MSG_GUILD, CHAT_MSG_ADDON, NULL, 0, msg.c_str(), NULL, prefix.c_str()); + for (Members::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr) + if (Player* player = itr->second->FindPlayer()) + if (player->GetSession() && _HasRankRight(player, officerOnly ? GR_RIGHT_OFFCHATLISTEN : GR_RIGHT_GCHATLISTEN) && + !player->GetSocial()->HasIgnore(session->GetPlayer()->GetGUIDLow())) + player->GetSession()->SendPacket(&data); + } +} + void Guild::BroadcastPacketToRank(WorldPacket* packet, uint8 rankId) const { for (Members::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr) |
