aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceScript.cpp
diff options
context:
space:
mode:
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 2acece13dd0..40c08e742f7 100644
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -440,6 +440,8 @@ bool InstanceScript::SetBossState(uint32 id, EncounterState state)
DoUpdateCriteria(CriteriaType::DefeatDungeonEncounter, dungeonEncounter->ID);
SendBossKillCredit(dungeonEncounter->ID);
+ if (dungeonEncounter->CompleteWorldStateID)
+ DoUpdateWorldState(dungeonEncounter->CompleteWorldStateID, 1);
UpdateLfgEncounterState(bossInfo);
}
@@ -506,6 +508,10 @@ void InstanceScript::Load(char const* data)
{
if (bosses[i].state == DONE && !CheckRequiredBosses(i))
bosses[i].state = NOT_STARTED;
+
+ if (DungeonEncounterEntry const* dungeonEncounter = bosses[i].GetDungeonEncounterForDifficulty(instance->GetDifficultyID()))
+ if (dungeonEncounter->CompleteWorldStateID)
+ DoUpdateWorldState(dungeonEncounter->CompleteWorldStateID, bosses[i].state == DONE ? 1 : 0);
}
UpdateSpawnGroups();