From 76a351e7de7cbdc66a519199a21b2c4c30b218fc Mon Sep 17 00:00:00 2001 From: hondacrx Date: Mon, 22 Feb 2021 12:30:18 -0500 Subject: [PATCH] Core/Maps: Fixes crash when trying to enter instance with no AccessRequirement in DB. --- Source/Game/Entities/Player/Player.Map.cs | 40 +++++++++++------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/Source/Game/Entities/Player/Player.Map.cs b/Source/Game/Entities/Player/Player.Map.cs index beedf7cb1..5b6d40ccd 100644 --- a/Source/Game/Entities/Player/Player.Map.cs +++ b/Source/Game/Entities/Player/Player.Map.cs @@ -544,28 +544,28 @@ namespace Game.Entities } else if (ar.item2 != 0 && !HasItemCount(ar.item2)) missingItem = ar.item2; + + if (Global.DisableMgr.IsDisabledFor(DisableType.Map, target_map, this)) + { + GetSession().SendNotification("{0}", Global.ObjectMgr.GetCypherString(CypherStrings.InstanceClosed)); + return false; + } + + if (GetTeam() == Team.Alliance && ar.quest_A != 0 && !GetQuestRewardStatus(ar.quest_A)) + missingQuest = ar.quest_A; + else if (GetTeam() == Team.Horde && ar.quest_H != 0 && !GetQuestRewardStatus(ar.quest_H)) + missingQuest = ar.quest_H; + + Player leader = this; + ObjectGuid leaderGuid = GetGroup() != null ? GetGroup().GetLeaderGUID() : GetGUID(); + if (leaderGuid != GetGUID()) + leader = Global.ObjAccessor.FindPlayer(leaderGuid); + + if (ar.achievement != 0) + if (leader == null || !leader.HasAchieved(ar.achievement)) + missingAchievement = ar.achievement; } - if (Global.DisableMgr.IsDisabledFor(DisableType.Map, target_map, this)) - { - GetSession().SendNotification("{0}", Global.ObjectMgr.GetCypherString(CypherStrings.InstanceClosed)); - return false; - } - - if (GetTeam() == Team.Alliance && ar.quest_A != 0 && !GetQuestRewardStatus(ar.quest_A)) - missingQuest = ar.quest_A; - else if (GetTeam() == Team.Horde && ar.quest_H != 0 && !GetQuestRewardStatus(ar.quest_H)) - missingQuest = ar.quest_H; - - Player leader = this; - ObjectGuid leaderGuid = GetGroup() != null ? GetGroup().GetLeaderGUID() : GetGUID(); - if (leaderGuid != GetGUID()) - leader = Global.ObjAccessor.FindPlayer(leaderGuid); - - if (ar.achievement != 0) - if (leader == null || !leader.HasAchieved(ar.achievement)) - missingAchievement = ar.achievement; - if (LevelMin != 0 || LevelMax != 0 || failedMapDifficultyXCondition != 0 || missingItem != 0 || missingQuest != 0 || missingAchievement != 0) { if (report)