aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceLockMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-01-16 22:17:11 +0100
committerShauren <shauren.trinity@gmail.com>2022-10-04 00:19:38 +0200
commit4cbaaa343543e0fde5d90b87f762804997f1dbac (patch)
tree00a1db83e32b96d19f3f945c0f6afe6fbfab9b3b /src/server/game/Instances/InstanceLockMgr.cpp
parent1e99011edf5e74ef51a7b6f84ca0529e5dbf2492 (diff)
Core/Instances: Save instance entrance based on completed encounters
Diffstat (limited to 'src/server/game/Instances/InstanceLockMgr.cpp')
-rw-r--r--src/server/game/Instances/InstanceLockMgr.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Instances/InstanceLockMgr.cpp b/src/server/game/Instances/InstanceLockMgr.cpp
index 94cfd09706c..b1c645f46e9 100644
--- a/src/server/game/Instances/InstanceLockMgr.cpp
+++ b/src/server/game/Instances/InstanceLockMgr.cpp
@@ -346,6 +346,9 @@ InstanceLock* InstanceLockMgr::UpdateInstanceLockForPlayer(CharacterDatabaseTran
if (!entries.MapDifficulty->IsUsingEncounterLocks())
instanceLock->GetData()->CompletedEncountersMask |= updateEvent.InstanceCompletedEncountersMask;
+ if (updateEvent.EntranceWorldSafeLocId)
+ instanceLock->GetData()->EntranceWorldSafeLocId = *updateEvent.EntranceWorldSafeLocId;
+
if (instanceLock->IsExpired())
{
ASSERT(instanceLock->IsExtended(), "Instance lock must have been extended to create instance map from it");
@@ -393,6 +396,9 @@ void InstanceLockMgr::UpdateSharedInstanceLock(CharacterDatabaseTransaction tran
updateEvent.InstanceId, updateEvent.CompletedEncounter->ID, updateEvent.CompletedEncounter->Name[sWorld->GetDefaultDbcLocale()]);
}
+ if (updateEvent.EntranceWorldSafeLocId)
+ sharedData->EntranceWorldSafeLocId = *updateEvent.EntranceWorldSafeLocId;
+
trans->PAppend("DELETE FROM instance2 WHERE instanceId=%u",
sharedData->InstanceId);
std::string escapedData = sharedData->Data;