diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-11-12 00:31:45 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-11-12 00:31:45 +0100 |
commit | 765f86fdc001ce352a706d2950197b1007d9afce (patch) | |
tree | 42cff27741c0d013a568d47c78451de794706a77 /src/server/game/Instances/InstanceScript.cpp | |
parent | 7bf6fc5a0bc4a8519963ba46f85f9d6aae31d43c (diff) |
Core/Achievements: Implemented DefeatDungeonEncounter and DefeatDungeonEncounterWhileElegibleForLoot criteria types
Diffstat (limited to 'src/server/game/Instances/InstanceScript.cpp')
-rw-r--r-- | src/server/game/Instances/InstanceScript.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index 47d85fb55e9..b4e43429384 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -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) |