aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Guilds/Guild.h
diff options
context:
space:
mode:
authorDuarte Duarte <dnpd.dd@gmail.com>2014-09-03 01:43:06 +0100
committerDuarte Duarte <dnpd.dd@gmail.com>2014-09-03 01:43:06 +0100
commitfcca6ea6ebc632086b6be6574c6ecd6df9b472e8 (patch)
treef27fcb6be1fbb5fc7bf19c34c970cd36895aa31a /src/server/game/Guilds/Guild.h
parent977592e1379fb47ab207a17b9ed0db090662bfee (diff)
parent7ec22c534e8120f2f877e8d31bc3168faccff5ec (diff)
Merge pull request #13017 from DDuarte/guild_achiev_tracking
Core/Guild: Only send achievement criteria updates to players that requested them.
Diffstat (limited to 'src/server/game/Guilds/Guild.h')
-rw-r--r--src/server/game/Guilds/Guild.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h
index 47f1d65757d..730626e0675 100644
--- a/src/server/game/Guilds/Guild.h
+++ b/src/server/game/Guilds/Guild.h
@@ -395,6 +395,9 @@ private:
uint32 GetTotalReputation() const { return m_totalReputation; }
uint32 GetWeekReputation() const { return m_weekReputation; }
+ void SetTrackedCriteriaIds(std::set<uint32> criteriaIds) { m_trackedCriteriaIds.swap(criteriaIds); }
+ bool IsTrackingCriteriaId(uint32 criteriaId) const { return m_trackedCriteriaIds.find(criteriaId) != m_trackedCriteriaIds.end(); }
+
bool IsOnline() { return (m_flags & GUILDMEMBER_STATUS_ONLINE); }
void ChangeRank(uint8 newRank);
@@ -426,6 +429,8 @@ private:
std::string m_publicNote;
std::string m_officerNote;
+ std::set<uint32> m_trackedCriteriaIds;
+
int32 m_bankWithdraw[GUILD_BANK_MAX_TABS + 1];
uint32 m_achievementPoints;
uint64 m_totalActivity;
@@ -784,6 +789,7 @@ public:
// Handle client commands
void HandleRoster(WorldSession* session);
void HandleQuery(WorldSession* session);
+ void HandleSetAchievementTracking(WorldSession* session, std::set<uint32> const& criteriaIds);
void HandleSetMOTD(WorldSession* session, std::string const& motd);
void HandleSetInfo(WorldSession* session, std::string const& info);
void HandleSetEmblem(WorldSession* session, const EmblemInfo& emblemInfo);
@@ -840,6 +846,7 @@ public:
void BroadcastAddonToGuild(WorldSession* session, bool officerOnly, std::string const& msg, std::string const& prefix) const;
void BroadcastPacketToRank(WorldPacket* packet, uint8 rankId) const;
void BroadcastPacket(WorldPacket* packet) const;
+ void BroadcastPacketIfTrackingAchievement(WorldPacket* packet, uint32 criteriaId) const;
void MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 maxLevel, uint32 minRank);