diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-01-16 22:17:11 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-10-04 00:19:38 +0200 |
commit | 4cbaaa343543e0fde5d90b87f762804997f1dbac (patch) | |
tree | 00a1db83e32b96d19f3f945c0f6afe6fbfab9b3b /src/server/game/Instances/InstanceLockMgr.cpp | |
parent | 1e99011edf5e74ef51a7b6f84ca0529e5dbf2492 (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.cpp | 6 |
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; |