From 4323951881584c403c4a42db67ff1d75d3a16b41 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Mon, 15 Mar 2021 16:45:13 -0400 Subject: [PATCH] Core/Criteria: Implemented CRITERIA_ADDITIONAL_CONDITION_COMPLETED_QUEST_OBJECTIVE Port From (https://github.com/TrinityCore/TrinityCore/commit/7cc70e29aed04b879e5cf0a9384328b4accb3146) --- Source/Framework/Constants/AchievementConst.cs | 2 +- Source/Game/Achievements/CriteriaHandler.cs | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Source/Framework/Constants/AchievementConst.cs b/Source/Framework/Constants/AchievementConst.cs index 0c6440425..ec5aea4bd 100644 --- a/Source/Framework/Constants/AchievementConst.cs +++ b/Source/Framework/Constants/AchievementConst.cs @@ -215,7 +215,7 @@ namespace Framework.Constants TimeInRange = 109, // Nyi, Packed Time Between Asset And Secondaryasset RewardedQuest = 110, CompletedQuest = 111, - CompletedQuestObjective = 112, // Nyi, Questobjectiveid + CompletedQuestObjective = 112, // Questobjectiveid ExploredArea = 113, ItemCountIncludingBank = 114, //Unk115 = 115, // Nyi diff --git a/Source/Game/Achievements/CriteriaHandler.cs b/Source/Game/Achievements/CriteriaHandler.cs index b0213df1f..3d72f3a35 100644 --- a/Source/Game/Achievements/CriteriaHandler.cs +++ b/Source/Game/Achievements/CriteriaHandler.cs @@ -1680,6 +1680,16 @@ namespace Game.Achievements if (referencePlayer.GetQuestStatus(reqValue) != QuestStatus.Complete) return false; break; + case CriteriaAdditionalCondition.CompletedQuestObjective: // 112 + { + QuestObjective objective = Global.ObjectMgr.GetQuestObjective(reqValue); + if (objective == null) + return false; + + if (referencePlayer.GetQuestRewardStatus(objective.QuestID) || !referencePlayer.IsQuestObjectiveComplete(objective)) + return false; + break; + } case CriteriaAdditionalCondition.ExploredArea: // 113 { AreaTableRecord areaTable = CliDB.AreaTableStorage.LookupByKey(reqValue);