diff options
author | Duarte Duarte <dnpd.dd@gmail.com> | 2014-09-03 01:43:06 +0100 |
---|---|---|
committer | Duarte Duarte <dnpd.dd@gmail.com> | 2014-09-03 01:43:06 +0100 |
commit | fcca6ea6ebc632086b6be6574c6ecd6df9b472e8 (patch) | |
tree | f27fcb6be1fbb5fc7bf19c34c970cd36895aa31a /src/server/game/Handlers/GuildHandler.cpp | |
parent | 977592e1379fb47ab207a17b9ed0db090662bfee (diff) | |
parent | 7ec22c534e8120f2f877e8d31bc3168faccff5ec (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.cpp | 16 |
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); +} |