aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Achievements/AchievementMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Achievements/AchievementMgr.cpp')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp14
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