aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Guilds/Guild.cpp26
-rw-r--r--src/server/game/Guilds/Guild.h4
2 files changed, 13 insertions, 17 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 239c0b17e72..f448fbb9f19 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -701,7 +701,7 @@ bool Guild::Member::CheckStats() const
return true;
}
-void Guild::Member::WritePacket(WorldPacket& data) const
+void Guild::Member::WritePacket(WorldPacket& data, bool sendOfficerNote) const
{
data << uint64(m_guid)
<< uint8(m_flags)
@@ -715,8 +715,12 @@ void Guild::Member::WritePacket(WorldPacket& data) const
if (!m_flags)
data << float(float(::time(NULL) - m_logoutTime) / DAY);
- data << m_publicNote
- << m_officerNote;
+ data << m_publicNote;
+
+ if (sendOfficerNote)
+ data << m_officerNote;
+ else
+ data << "";
}
// Decreases amount of money/slots left for today.
@@ -1299,7 +1303,7 @@ bool Guild::SetName(std::string const& name)
return true;
}
-void Guild::HandleRoster(WorldSession* session /*= NULL*/)
+void Guild::HandleRoster(WorldSession* session)
{
// Guess size
WorldPacket data(SMSG_GUILD_ROSTER, (4 + m_motd.length() + 1 + m_info.length() + 1 + 4 + _GetRanksSize() * (4 + 4 + GUILD_BANK_MAX_TABS * (4 + 4)) + m_members.size() * 50));
@@ -1312,18 +1316,10 @@ void Guild::HandleRoster(WorldSession* session /*= NULL*/)
ritr->WritePacket(data);
for (Members::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr)
- itr->second->WritePacket(data);
+ itr->second->WritePacket(data, _HasRankRight(session->GetPlayer(), GR_RIGHT_VIEWOFFNOTE));
- if (session)
- {
- TC_LOG_DEBUG("guild", "SMSG_GUILD_ROSTER [%s]", session->GetPlayerInfo().c_str());
- session->SendPacket(&data);
- }
- else
- {
- TC_LOG_DEBUG("guild", "SMSG_GUILD_ROSTER [Broadcast]");
- BroadcastPacket(&data);
- }
+ TC_LOG_DEBUG("guild", "SMSG_GUILD_ROSTER [%s]", session->GetPlayerInfo().c_str());
+ session->SendPacket(&data);
}
void Guild::HandleQuery(WorldSession* session)
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h
index aa4c002433a..fca483e92c3 100644
--- a/src/server/game/Guilds/Guild.h
+++ b/src/server/game/Guilds/Guild.h
@@ -315,7 +315,7 @@ private:
bool LoadFromDB(Field* fields);
void SaveToDB(SQLTransaction& trans) const;
- void WritePacket(WorldPacket& data) const;
+ void WritePacket(WorldPacket& data, bool sendOfficerNote) const;
uint64 GetGUID() const { return m_guid; }
std::string const& GetName() const { return m_name; }
@@ -661,7 +661,7 @@ public:
bool SetName(std::string const& name);
// Handle client commands
- void HandleRoster(WorldSession* session = NULL); // NULL = broadcast
+ void HandleRoster(WorldSession* session);
void HandleQuery(WorldSession* session);
void HandleSetMOTD(WorldSession* session, std::string const& motd);
void HandleSetInfo(WorldSession* session, std::string const& info);