aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp4
-rw-r--r--src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp5
-rw-r--r--src/server/game/Quests/QuestObjectiveCriteriaMgr.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index 306d57ebe28..64dd27d18e0 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -495,8 +495,8 @@ void PlayerAchievementMgr::CompletedAchievement(AchievementEntry const* achievem
if (!(achievement->Flags & ACHIEVEMENT_FLAG_TRACKING_FLAG))
_achievementPoints += achievement->Points;
- UpdateCriteria(CriteriaType::EarnAchievement, achievement->ID, 0, 0, nullptr, referencePlayer);
- UpdateCriteria(CriteriaType::EarnAchievementPoints, achievement->Points, 0, 0, nullptr, referencePlayer);
+ referencePlayer->UpdateCriteria(CriteriaType::EarnAchievement, achievement->ID, 0, 0, nullptr);
+ referencePlayer->UpdateCriteria(CriteriaType::EarnAchievementPoints, achievement->Points, 0, 0, nullptr);
sScriptMgr->OnAchievementCompleted(referencePlayer, achievement);
diff --git a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
index 798e90e6b26..42040cd0b09 100644
--- a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
+++ b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
@@ -310,3 +310,8 @@ CriteriaList const& QuestObjectiveCriteriaMgr::GetCriteriaByType(CriteriaType ty
{
return sCriteriaMgr->GetQuestObjectiveCriteriaByType(type);
}
+
+bool QuestObjectiveCriteriaMgr::RequiredAchievementSatisfied(uint32 achievementId) const
+{
+ return _owner->HasAchieved(achievementId);
+}
diff --git a/src/server/game/Quests/QuestObjectiveCriteriaMgr.h b/src/server/game/Quests/QuestObjectiveCriteriaMgr.h
index a263e153316..f3ba31c2ac1 100644
--- a/src/server/game/Quests/QuestObjectiveCriteriaMgr.h
+++ b/src/server/game/Quests/QuestObjectiveCriteriaMgr.h
@@ -56,6 +56,8 @@ protected:
std::string GetOwnerInfo() const override;
CriteriaList const& GetCriteriaByType(CriteriaType type, uint32 asset) const override;
+ bool RequiredAchievementSatisfied(uint32 achievementId) const override;
+
private:
Player* _owner;
std::unordered_set<uint32> _completedObjectives;