Core/Achievements: Implemented DefeatDungeonEncounter and DefeatDungeonEncounterWhileElegibleForLoot criteria types

This commit is contained in:
Shauren
2023-11-12 00:31:45 +01:00
parent 7bf6fc5a0b
commit 765f86fdc0
3 changed files with 19 additions and 4 deletions

View File

@@ -432,6 +432,12 @@ bool InstanceScript::SetBossState(uint32 id, EncounterState state)
dungeonEncounter = bossInfo->GetDungeonEncounterForDifficulty(instance->GetDifficultyID());
if (dungeonEncounter)
{
instance->DoOnPlayers([&](Player* player)
{
if (!player->IsLockedToDungeonEncounter(dungeonEncounter->ID))
player->UpdateCriteria(CriteriaType::DefeatDungeonEncounterWhileElegibleForLoot, dungeonEncounter->ID);
});
DoUpdateCriteria(CriteriaType::DefeatDungeonEncounter, dungeonEncounter->ID);
SendBossKillCredit(dungeonEncounter->ID);
if (dungeonEncounter->CompleteWorldStateID)