aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Achievements/CriteriaHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index 288be7eea6f..92b5c88d291 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -3270,6 +3270,10 @@ void CriteriaMgr::LoadCriteriaList()
{
ASSERT(criteriaEntry->Type < CRITERIA_TYPE_TOTAL, "CRITERIA_TYPE_TOTAL must be greater than or equal to %u but is currently equal to %u",
criteriaEntry->Type + 1, CRITERIA_TYPE_TOTAL);
+ ASSERT(criteriaEntry->StartEvent < CRITERIA_TIMED_TYPE_MAX, "CRITERIA_TYPE_TOTAL must be greater than or equal to %u but is currently equal to %u",
+ criteriaEntry->StartEvent + 1, CRITERIA_TIMED_TYPE_MAX);
+ ASSERT(criteriaEntry->FailEvent < CRITERIA_CONDITION_MAX, "CRITERIA_CONDITION_MAX must be greater than or equal to %u but is currently equal to %u",
+ criteriaEntry->FailEvent + 1, CRITERIA_CONDITION_MAX);
auto treeItr = _criteriaTreeByCriteria.find(criteriaEntry->ID);
if (treeItr == _criteriaTreeByCriteria.end())
@@ -3327,6 +3331,9 @@ void CriteriaMgr::LoadCriteriaList()
if (criteriaEntry->StartTimer)
_criteriasByTimedType[criteriaEntry->StartEvent].push_back(criteria);
+
+ if (criteriaEntry->FailEvent)
+ _criteriasByFailEvent[criteriaEntry->FailEvent][criteriaEntry->FailAsset].push_back(criteria);
}
for (auto& p : _criteriaTrees)