Core/Quest: Fix crash caused by disabled quests
Port From (https://github.com/TrinityCore/TrinityCore/commit/330881518a5912939a2a26a7f3dbc64ccf74b5cc)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user