aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index 06e19b6ebd1..2ed191808bf 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -2034,8 +2034,13 @@ template<>
void AchievementMgr<Guild>::SendAllAchievementData(Player* receiver) const
{
VisibleAchievementPred isVisible;
- WorldPacket data(SMSG_GUILD_ACHIEVEMENT_DATA, m_completedAchievements.size() * (4 + 4) + 3);
- data.WriteBits(std::count_if(m_completedAchievements.begin(), m_completedAchievements.end(), isVisible), 23);
+
+ auto count = std::count_if(m_completedAchievements.begin(), m_completedAchievements.end(), isVisible);
+
+ WorldPacket data(SMSG_GUILD_ACHIEVEMENT_DATA, count * (4 + 4) + 3);
+ data.WriteBits(count, 23);
+ data.FlushBits();
+
for (CompletedAchievementMap::const_iterator itr = m_completedAchievements.begin(); itr != m_completedAchievements.end(); ++itr)
{
if (!isVisible(*itr))