From 5baac43590aa656f059e1017b5c29621728812e6 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 4 Oct 2022 22:25:53 -0400 Subject: [PATCH] Missed files. --- Source/Game/Maps/Instances/InstanceLockManager.cs | 10 +++------- Source/Game/Maps/Instances/InstanceScript.cs | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Source/Game/Maps/Instances/InstanceLockManager.cs b/Source/Game/Maps/Instances/InstanceLockManager.cs index 5b3d8585a..e6466a390 100644 --- a/Source/Game/Maps/Instances/InstanceLockManager.cs +++ b/Source/Game/Maps/Instances/InstanceLockManager.cs @@ -25,15 +25,8 @@ using System.Collections.Generic; namespace Game.Maps { - //#define INSTANCE_ID_HIGH_MASK 0x1F440000 - //#define INSTANCE_ID_LFG_MASK 0x00000001 - //#define INSTANCE_ID_NORMAL_MASK 0x00010000 - using InstanceLockKey = Tuple; - //using PlayerLockMap = std::unordered_map>; - //using LockMap = std::unordered_map; - public class InstanceLockManager : Singleton { object _lockObject = new(); @@ -194,6 +187,9 @@ namespace Game.Maps instanceLock = new InstanceLock(entries.MapDifficulty.MapID, (Difficulty)entries.MapDifficulty.DifficultyID, GetNextResetTime(entries), 0); + if (!_temporaryInstanceLocksByPlayer.ContainsKey(playerGuid)) + _temporaryInstanceLocksByPlayer[playerGuid] = new Dictionary(); + _temporaryInstanceLocksByPlayer[playerGuid][entries.GetKey()] = instanceLock; Log.outDebug(LogFilter.Instance, $"[{entries.Map.Id}-{entries.Map.MapName[Global.WorldMgr.GetDefaultDbcLocale()]} | " + $"{entries.MapDifficulty.DifficultyID}-{CliDB.DifficultyStorage.LookupByKey(entries.MapDifficulty.DifficultyID).Name}] Created new temporary instance lock for {playerGuid} in instance {instanceId}"); diff --git a/Source/Game/Maps/Instances/InstanceScript.cs b/Source/Game/Maps/Instances/InstanceScript.cs index ea0d61905..d343a2a8e 100644 --- a/Source/Game/Maps/Instances/InstanceScript.cs +++ b/Source/Game/Maps/Instances/InstanceScript.cs @@ -155,7 +155,7 @@ namespace Game.Maps void LoadDungeonEncounterData(uint bossId, uint[] dungeonEncounterIds) { if (bossId < bosses.Count) - for (int i = 0; i < MapConst.MaxDungeonEncountersPerBoss; ++i) + for (int i = 0; i < dungeonEncounterIds.Length && i < MapConst.MaxDungeonEncountersPerBoss; ++i) bosses[bossId].DungeonEncounters[i] = CliDB.DungeonEncounterStorage.LookupByKey(dungeonEncounterIds[i]); }