Core/Achievements: Refactored HasAchieved to take only achievement id as parameter
This commit is contained in:
@@ -451,7 +451,7 @@ void AchievementMgr::ResetAchievementCriteria(AchievementCriteriaTypes type, uin
|
||||
continue;
|
||||
|
||||
// don't update already completed criteria if not forced or achievement already complete
|
||||
if ((IsCompletedCriteria(achievementCriteria, achievement) && !evenIfCriteriaComplete) || HasAchieved(achievement))
|
||||
if ((IsCompletedCriteria(achievementCriteria, achievement) && !evenIfCriteriaComplete) || HasAchieved(achievement->ID))
|
||||
continue;
|
||||
|
||||
for (uint8 j = 0; j < MAX_CRITERIA_REQUIREMENTS; ++j)
|
||||
@@ -1766,7 +1766,7 @@ void AchievementMgr::CompletedCriteriaFor(AchievementEntry const* achievement)
|
||||
return;
|
||||
|
||||
// already completed and stored
|
||||
if (HasAchieved(achievement))
|
||||
if (HasAchieved(achievement->ID))
|
||||
return;
|
||||
|
||||
if (IsCompletedAchievement(achievement))
|
||||
@@ -2000,7 +2000,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
|
||||
if (m_player->isGameMaster())
|
||||
return;
|
||||
|
||||
if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement))
|
||||
if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement->ID))
|
||||
return;
|
||||
|
||||
SendAchievementEarned(achievement);
|
||||
@@ -2115,9 +2115,9 @@ void AchievementMgr::BuildAllDataPacket(WorldPacket* data) const
|
||||
*data << int32(-1);
|
||||
}
|
||||
|
||||
bool AchievementMgr::HasAchieved(AchievementEntry const* achievement) const
|
||||
bool AchievementMgr::HasAchieved(uint32 achievementId) const
|
||||
{
|
||||
return m_completedAchievements.find(achievement->ID) != m_completedAchievements.end();
|
||||
return m_completedAchievements.find(achievementId) != m_completedAchievements.end();
|
||||
}
|
||||
|
||||
bool AchievementMgr::CanUpdateCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement)
|
||||
|
||||
@@ -257,7 +257,7 @@ class AchievementMgr
|
||||
void CheckAllAchievementCriteria();
|
||||
void SendAllAchievementData() const;
|
||||
void SendRespondInspectAchievements(Player* player) const;
|
||||
bool HasAchieved(AchievementEntry const* achievement) const;
|
||||
bool HasAchieved(uint32 achievementId) const;
|
||||
Player* GetPlayer() const { return m_player; }
|
||||
void UpdateTimedAchievements(uint32 timeDiff);
|
||||
void StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry, uint32 timeLost = 0);
|
||||
|
||||
Reference in New Issue
Block a user