diff --git a/Source/Game/Achievements/AchievementManager.cs b/Source/Game/Achievements/AchievementManager.cs index a72c5e002..78f65e7f6 100644 --- a/Source/Game/Achievements/AchievementManager.cs +++ b/Source/Game/Achievements/AchievementManager.cs @@ -483,8 +483,8 @@ namespace Game.Achievements if (!achievement.Flags.HasAnyFlag(AchievementFlags.TrackingFlag)) _achievementPoints += achievement.Points; - UpdateCriteria(CriteriaType.EarnAchievement, achievement.Id, 0, 0, null, referencePlayer); - UpdateCriteria(CriteriaType.EarnAchievementPoints, achievement.Points, 0, 0, null, referencePlayer); + referencePlayer.UpdateCriteria(CriteriaType.EarnAchievement, achievement.Id, 0, 0, null); + referencePlayer.UpdateCriteria(CriteriaType.EarnAchievementPoints, achievement.Points, 0, 0, null); Global.ScriptMgr.OnAchievementCompleted(referencePlayer, achievement); diff --git a/Source/Game/Quest/QuestObjectiveCriteriaManager.cs b/Source/Game/Quest/QuestObjectiveCriteriaManager.cs index d0eee5030..fc7acaae0 100644 --- a/Source/Game/Quest/QuestObjectiveCriteriaManager.cs +++ b/Source/Game/Quest/QuestObjectiveCriteriaManager.cs @@ -290,6 +290,10 @@ namespace Game return Global.CriteriaMgr.GetQuestObjectiveCriteriaByType(type); } + public bool RequiredAchievementSatisfied(uint achievementId) + { + return _owner.HasAchieved(achievementId); + } Player _owner; List _completedObjectives = new();