From 2800d53f812ee34eda15ddd5dd3f05e9054aa56d Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 6 Feb 2024 17:26:57 -0500 Subject: [PATCH] Core/Achievements: Fixed updating EarnAchievement criteria type for guilds and quest objectives Port From (https://github.com/TrinityCore/TrinityCore/commit/9fda9d0d490cef07291961e03710d09cbd8aea1f) --- Source/Game/Achievements/AchievementManager.cs | 4 ++-- Source/Game/Quest/QuestObjectiveCriteriaManager.cs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) 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();