From c67811c52ee9200c8b7267d790d54dabc9b88270 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sun, 26 Sep 2021 14:29:52 -0400 Subject: [PATCH] Core/Quest: Fix crash caused by disabled quests Port From (https://github.com/TrinityCore/TrinityCore/commit/330881518a5912939a2a26a7f3dbc64ccf74b5cc) --- Source/Game/Chat/Commands/QuestCommands.cs | 6 +++--- Source/Game/Conditions/DisableManager.cs | 6 ------ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/Source/Game/Chat/Commands/QuestCommands.cs b/Source/Game/Chat/Commands/QuestCommands.cs index 4b7fd9b3c..2deae9d3d 100644 --- a/Source/Game/Chat/Commands/QuestCommands.cs +++ b/Source/Game/Chat/Commands/QuestCommands.cs @@ -44,7 +44,7 @@ namespace Game.Chat return false; Quest quest = Global.ObjectMgr.GetQuestTemplate(entry); - if (quest == null) + if (quest == null || Global.DisableMgr.IsDisabledFor(DisableType.Quest, entry, null)) { handler.SendSysMessage(CypherStrings.CommandQuestNotfound, entry); return false; @@ -86,7 +86,7 @@ namespace Game.Chat Quest quest = Global.ObjectMgr.GetQuestTemplate(entry); // If player doesn't have the quest - if (quest == null || player.GetQuestStatus(entry) == QuestStatus.None) + if (quest == null || player.GetQuestStatus(entry) == QuestStatus.None || Global.DisableMgr.IsDisabledFor(DisableType.Quest, entry, null)) { handler.SendSysMessage(CypherStrings.CommandQuestNotfound, entry); return false; @@ -240,7 +240,7 @@ namespace Game.Chat Quest quest = Global.ObjectMgr.GetQuestTemplate(entry); // If player doesn't have the quest - if (quest == null || player.GetQuestStatus(entry) != QuestStatus.Complete) + if (quest == null || player.GetQuestStatus(entry) != QuestStatus.Complete || Global.DisableMgr.IsDisabledFor(DisableType.Quest, entry, null)) { handler.SendSysMessage(CypherStrings.CommandQuestNotfound, entry); return false; diff --git a/Source/Game/Conditions/DisableManager.cs b/Source/Game/Conditions/DisableManager.cs index d754d68ee..8952e1d81 100644 --- a/Source/Game/Conditions/DisableManager.cs +++ b/Source/Game/Conditions/DisableManager.cs @@ -367,12 +367,6 @@ namespace Game } return false; case DisableType.Quest: - if (refe == null) - return true; - Player player1 = refe.ToPlayer(); - if (player1 != null) - if (player1.IsGameMaster()) - return false; return true; case DisableType.Battleground: case DisableType.OutdoorPVP: