From 41a20b1e4008d450d075847ef1fe367f0e3a240f Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 25 Sep 2023 00:53:56 +0200 Subject: Core/Achievements: Fixed achievement criteria StartEvent and FailEvent * Criteria using StartEvent cannot be updated without that event triggering first (not only for timed achievements) * Implemented most StartEvent and FailEvent types * Fixed saving criteria removed by RemoveCriteriaProgress --- .../game/Quests/QuestObjectiveCriteriaMgr.cpp | 32 ---------------------- 1 file changed, 32 deletions(-) (limited to 'src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp') diff --git a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp index fe0efd9e1ef..a72c213a042 100644 --- a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp +++ b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp @@ -164,38 +164,6 @@ void QuestObjectiveCriteriaMgr::SaveToDB(CharacterDatabaseTransaction trans) } } -void QuestObjectiveCriteriaMgr::ResetCriteria(CriteriaFailEvent failEvent, int32 failAsset, bool evenIfCriteriaComplete) -{ - TC_LOG_DEBUG("criteria.quest", "QuestObjectiveCriteriaMgr::ResetCriteria({}, {}, {})", uint32(failEvent), failAsset, evenIfCriteriaComplete ? "true" : "false"); - - // disable for gamemasters with GM-mode enabled - if (_owner->IsGameMaster()) - return; - - if (CriteriaList const* playerCriteriaList = sCriteriaMgr->GetCriteriaByFailEvent(failEvent, failAsset)) - { - for (Criteria const* playerCriteria : *playerCriteriaList) - { - std::vector const* trees = sCriteriaMgr->GetCriteriaTreesByCriteria(playerCriteria->ID); - bool allComplete = true; - for (CriteriaTree const* tree : *trees) - { - // don't update already completed criteria if not forced - if (!(IsCompletedCriteriaTree(tree) && !evenIfCriteriaComplete)) - { - allComplete = false; - break; - } - } - - if (allComplete) - continue; - - RemoveCriteriaProgress(playerCriteria); - } - } -} - void QuestObjectiveCriteriaMgr::ResetCriteriaTree(uint32 criteriaTreeId) { CriteriaTree const* tree = sCriteriaMgr->GetCriteriaTree(criteriaTreeId); -- cgit v1.2.3