aboutsummaryrefslogtreecommitdiff
path: root/src/game/AchievementMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/AchievementMgr.cpp')
-rw-r--r--src/game/AchievementMgr.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp
index 278166f68e0..b45c4ad681e 100644
--- a/src/game/AchievementMgr.cpp
+++ b/src/game/AchievementMgr.cpp
@@ -1596,7 +1596,7 @@ void AchievementMgr::CompletedCriteriaFor(AchievementEntry const* achievement)
return;
// already completed and stored
- if (m_completedAchievements.find(achievement->ID)!=m_completedAchievements.end())
+ if (HasAchieved(achievement))
return;
if (IsCompletedAchievement(achievement))
@@ -1735,7 +1735,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
if(!sWorld.getConfig(CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS) && m_player->GetSession()->GetSecurity() > SEC_PLAYER)
return;
- if(achievement->flags & ACHIEVEMENT_FLAG_COUNTER || m_completedAchievements.find(achievement->ID)!=m_completedAchievements.end())
+ if(achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement))
return;
SendAchievementEarned(achievement);
@@ -1894,6 +1894,11 @@ void AchievementMgr::BuildAllDataPacket(WorldPacket *data)
*data << int32(-1);
}
+bool AchievementMgr::HasAchieved(AchievementEntry const* achievement) const
+{
+ return m_completedAchievements.find(achievement->ID) != m_completedAchievements.end();
+}
+
//==========================================================
AchievementCriteriaEntryList const& AchievementGlobalMgr::GetAchievementCriteriaByType(AchievementCriteriaTypes type)
{