diff options
-rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 4 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 2 | ||||
-rw-r--r-- | src/server/game/DungeonFinding/LFGMgr.cpp | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 1c5e80f69b3..c8e4443ad2d 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -573,6 +573,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* case CriteriaType::MoneyEarnedFromAuctions:/* FIXME: for online player only currently */ case CriteriaType::TotalDamageTaken: case CriteriaType::TotalHealReceived: + case CriteriaType::CompletedLFGDungeon: case CriteriaType::CompletedLFGDungeonWithStrangers: case CriteriaType::DamageDealt: case CriteriaType::HealingDone: @@ -825,7 +826,6 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0* case CriteriaType::BattlePetAchievementPointsEarned: case CriteriaType::ReleasedSpirit: case CriteriaType::AccountKnownPet: - case CriteriaType::CompletedLFGDungeon: case CriteriaType::KickInitiatorInLFGDungeon: case CriteriaType::KickVoterInLFGDungeon: case CriteriaType::KickTargetInLFGDungeon: @@ -1199,6 +1199,7 @@ bool CriteriaHandler::IsCompletedCriteria(Criteria const* criteria, uint64 requi case CriteriaType::DefeatDungeonEncounterWhileElegibleForLoot: case CriteriaType::GetLootByType: case CriteriaType::LearnTradeskillSkillLine: + case CriteriaType::CompletedLFGDungeon: case CriteriaType::CompletedLFGDungeonWithStrangers: case CriteriaType::DeliveredKillingBlow: case CriteriaType::CurrencyGained: @@ -1380,6 +1381,7 @@ bool CriteriaHandler::RequirementsSatisfied(Criteria const* criteria, uint64 mis case CriteriaType::KillPlayer: case CriteriaType::TotalDamageTaken: case CriteriaType::TotalHealReceived: + case CriteriaType::CompletedLFGDungeon: case CriteriaType::CompletedLFGDungeonWithStrangers: case CriteriaType::GotHaircut: case CriteriaType::WinDuel: diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index e0a58c52c70..61140dd8173 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -619,7 +619,7 @@ enum class CriteriaType : int16 EarnAchievementPoints = 115, // Earn achievement points RollDisenchant = 116, /*NYI*/ // Roll disenchant and get {#Disenchant Roll} RollAnyDisenchant = 117, /*NYI*/ // Roll any number on disenchant - CompletedLFGDungeon = 118, /*NYI*/ // Completed an LFG dungeon + CompletedLFGDungeon = 118, // Completed an LFG dungeon CompletedLFGDungeonWithStrangers = 119, // Completed an LFG dungeon with strangers KickInitiatorInLFGDungeon = 120, /*NYI*/ // Kicked in an LFG dungeon (initiator) KickVoterInLFGDungeon = 121, /*NYI*/ // Kicked in an LFG dungeon (voter) diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index 94e596acff9..9297209a2f3 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -1538,6 +1538,8 @@ void LFGMgr::FinishDungeon(ObjectGuid gguid, const uint32 dungeonId, Map const* continue; } + player->UpdateCriteria(CriteriaType::CompletedLFGDungeon, 1); + // Update achievements if (dungeon->difficulty == DIFFICULTY_HEROIC) { |