aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-03-13 22:32:48 +0100
committerShauren <shauren.trinity@gmail.com>2021-03-13 22:32:48 +0100
commit7cc70e29aed04b879e5cf0a9384328b4accb3146 (patch)
tree8b0d4e4afca0e19f87892fafcc0c143f60271f12 /src
parentb94851b824f6e4d7f7a7cd01a4c99e02b1e86b97 (diff)
Core/Criteria: Implemented CRITERIA_ADDITIONAL_CONDITION_COMPLETED_QUEST_OBJECTIVE
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp9
-rw-r--r--src/server/game/DataStores/DBCEnums.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index c70efd042dd..fc3e36a266b 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -2074,6 +2074,15 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6
if (referencePlayer->GetQuestStatus(reqValue) != QUEST_STATUS_COMPLETE)
return false;
break;
+ case CRITERIA_ADDITIONAL_CONDITION_COMPLETED_QUEST_OBJECTIVE: // 112
+ {
+ QuestObjective const* objective = sObjectMgr->GetQuestObjective(reqValue);
+ if (!objective)
+ return false;
+ if (referencePlayer->GetQuestRewardStatus(objective->QuestID) || !referencePlayer->IsQuestObjectiveComplete(*objective))
+ return false;
+ break;
+ }
case CRITERIA_ADDITIONAL_CONDITION_EXPLORED_AREA: // 113
{
AreaTableEntry const* areaTable = sAreaTableStore.LookupEntry(reqValue);
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index ec80e154aa3..be08ea15090 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -375,7 +375,7 @@ enum CriteriaAdditionalCondition
CRITERIA_ADDITIONAL_CONDITION_TIME_IN_RANGE = 109, // NYI, packed time between asset and secondaryAsset
CRITERIA_ADDITIONAL_CONDITION_REWARDED_QUEST = 110,
CRITERIA_ADDITIONAL_CONDITION_COMPLETED_QUEST = 111,
- CRITERIA_ADDITIONAL_CONDITION_COMPLETED_QUEST_OBJECTIVE = 112, // NYI, QuestObjectiveID
+ CRITERIA_ADDITIONAL_CONDITION_COMPLETED_QUEST_OBJECTIVE = 112, // QuestObjectiveID
CRITERIA_ADDITIONAL_CONDITION_EXPLORED_AREA = 113,
CRITERIA_ADDITIONAL_CONDITION_ITEM_COUNT_INCLUDING_BANK = 114,
//CRITERIA_ADDITIONAL_CONDITION_UNK_115 = 115, // NYI