Core/Criteria: Implemented CompletedLFGDungeon criteria type (#29980)

(cherry picked from commit 9e22ca9d52)
This commit is contained in:
Antonio Martín Berti
2024-05-18 10:48:07 -03:00
committed by Ovahlord
parent 27559ffb98
commit bfd8e907d9
3 changed files with 6 additions and 2 deletions

View File

@@ -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:

View File

@@ -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)

View File

@@ -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)
{