aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/GuildHandler.cpp
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/Handlers/GuildHandler.cpp
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/Handlers/GuildHandler.cpp')
-rw-r--r--src/server/game/Handlers/GuildHandler.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp
index 86e0984f406..7538ef05034 100644
--- a/src/server/game/Handlers/GuildHandler.cpp
+++ b/src/server/game/Handlers/GuildHandler.cpp
@@ -829,3 +829,19 @@ void WorldSession::HandleGuildSetGuildMaster(WorldPacket& recvPacket)
if (Guild* guild = GetPlayer()->GetGuild())
guild->HandleSetNewGuildMaster(this, playerName);
}
+
+void WorldSession::HandleGuildSetAchievementTracking(WorldPacket& recvPacket)
+{
+ uint32 count = recvPacket.ReadBits(24);
+ std::set<uint32> criteriaIds;
+
+ for (int i = 0; i < count; ++i)
+ {
+ uint32 criteriaId;
+ recvPacket >> criteriaId;
+ criteriaIds.insert(criteriaId);
+ }
+
+ if (Guild* guild = GetPlayer()->GetGuild())
+ guild->HandleSetAchievementTracking(this, criteriaIds);
+}