Core/Quest: Fixes crash if DB contains no quest disables

This commit is contained in:
hondacrx
2020-12-07 11:29:29 -05:00
parent a8179bff62
commit 6b7c0288e8
+4 -5
View File
@@ -259,15 +259,14 @@ namespace Game
public void CheckQuestDisables() public void CheckQuestDisables()
{ {
uint oldMSTime = Time.GetMSTime(); if (!m_DisableMap.ContainsKey(DisableType.Quest) || m_DisableMap[DisableType.Quest].Count == 0)
int count = m_DisableMap[DisableType.Quest].Count;
if (count == 0)
{ {
Log.outInfo(LogFilter.ServerLoading, "Checked 0 quest disables."); Log.outInfo(LogFilter.ServerLoading, "Checked 0 quest disables.");
return; return;
} }
uint oldMSTime = Time.GetMSTime();
// check only quests, rest already done at startup // check only quests, rest already done at startup
foreach (var pair in m_DisableMap[DisableType.Quest]) foreach (var pair in m_DisableMap[DisableType.Quest])
{ {
@@ -282,7 +281,7 @@ namespace Game
Log.outError(LogFilter.Sql, "Disable flags specified for quest {0}, useless data.", entry); Log.outError(LogFilter.Sql, "Disable flags specified for quest {0}, useless data.", entry);
} }
Log.outInfo(LogFilter.ServerLoading, "Checked {0} quest disables in {1} ms", count, Time.GetMSTimeDiffToNow(oldMSTime)); Log.outInfo(LogFilter.ServerLoading, "Checked {0} quest disables in {1} ms", m_DisableMap[DisableType.Quest].Count, Time.GetMSTimeDiffToNow(oldMSTime));
} }
public bool IsDisabledFor(DisableType type, uint entry, Unit unit, byte flags = 0) public bool IsDisabledFor(DisableType type, uint entry, Unit unit, byte flags = 0)