diff options
Diffstat (limited to 'src/server/game/Achievements/AchievementMgr.cpp')
| -rw-r--r-- | src/server/game/Achievements/AchievementMgr.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 156d92e1a30..622bf990b1c 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -664,14 +664,14 @@ void PlayerAchievementMgr::SendAchievementEarned(AchievementEntry const* achieve receiver->SendDirectMessage(achievementEarned.Write()); }; + achievementEarnedBuilder(_owner); + if (!(achievement->Flags & ACHIEVEMENT_FLAG_TRACKING_FLAG)) { float dist = sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY); Trinity::MessageDistDeliverer notifier(_owner, achievementEarnedBuilder, dist); Cell::VisitWorldObjects(_owner, notifier, dist); } - else - achievementEarnedBuilder(_owner); } void PlayerAchievementMgr::SendPacket(WorldPacket const* data) const @@ -695,7 +695,7 @@ void GuildAchievementMgr::Reset() ObjectGuid guid = _owner->GetGUID(); for (std::pair<uint32 const, CompletedAchievementData> const& completedAchievement : _completedAchievements) { - auto packetBuilder = [&](Player const* receiver) + _owner->BroadcastWorker([&](Player const* receiver) { WorldPackets::Achievement::GuildAchievementDeleted guildAchievementDeleted; guildAchievementDeleted.AchievementID = completedAchievement.first; @@ -703,8 +703,7 @@ void GuildAchievementMgr::Reset() guildAchievementDeleted.TimeDeleted = *GameTime::GetUtcWowTime(); guildAchievementDeleted.TimeDeleted += receiver->GetSession()->GetTimezoneOffset(); receiver->SendDirectMessage(guildAchievementDeleted.Write()); - }; - _owner->BroadcastWorker(packetBuilder); + }); } _achievementPoints = 0; @@ -1013,7 +1012,7 @@ void GuildAchievementMgr::SendAchievementEarned(AchievementEntry const* achievem sWorld->SendGlobalMessage(serverFirstAchievement.Write()); } - auto guildAchievementEarnedBuilder = [&](Player const* receiver) + _owner->BroadcastWorker([&](Player const* receiver) { WorldPackets::Achievement::GuildAchievementEarned guildAchievementEarned; guildAchievementEarned.AchievementID = achievement->ID; @@ -1021,8 +1020,7 @@ void GuildAchievementMgr::SendAchievementEarned(AchievementEntry const* achievem guildAchievementEarned.TimeEarned = *GameTime::GetUtcWowTime(); guildAchievementEarned.TimeEarned += receiver->GetSession()->GetTimezoneOffset(); receiver->SendDirectMessage(guildAchievementEarned.Write()); - }; - _owner->BroadcastWorker(guildAchievementEarnedBuilder); + }); } void GuildAchievementMgr::SendPacket(WorldPacket const* data) const |
