aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceScript.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-11-12 00:31:45 +0100
committerShauren <shauren.trinity@gmail.com>2023-11-12 00:31:45 +0100
commit765f86fdc001ce352a706d2950197b1007d9afce (patch)
tree42cff27741c0d013a568d47c78451de794706a77 /src/server/game/Instances/InstanceScript.cpp
parent7bf6fc5a0bc4a8519963ba46f85f9d6aae31d43c (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.cpp6
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)