Core/Misc: Don't log errors about npc_text probability if broadcast text was removed because it did not exist during loading

Port From (https://github.com/TrinityCore/TrinityCore/commit/ef4e307a494d8492d4a6bb4dacd4f00c27c8a1bc)
This commit is contained in:
hondacrx
2021-11-15 20:44:08 -05:00
parent ecf92ed8b9
commit 0968392d0d
+5 -2
View File
@@ -29,6 +29,7 @@ using Game.Misc;
using Game.Scripting;
using Game.Spells;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
@@ -2956,21 +2957,23 @@ namespace Game
npcText.Data[i].BroadcastTextID = result.Read<uint>(9 + i);
}
BitSet erasedBroadcastTexts = new(SharedConst.MaxNpcTextOptions);
for (int i = 0; i < SharedConst.MaxNpcTextOptions; i++)
{
if (npcText.Data[i].BroadcastTextID != 0)
{
if (!CliDB.BroadcastTextStorage.ContainsKey(npcText.Data[i].BroadcastTextID))
{
Log.outError(LogFilter.Sql, "NPCText (Id: {0}) has a non-existing or incompatible BroadcastText (ID: {1}, Index: {2})", textID, npcText.Data[i].BroadcastTextID, i);
Log.outError(LogFilter.Sql, "NPCText (Id: {0}) has a non-existing BroadcastText (ID: {1}, Index: {2})", textID, npcText.Data[i].BroadcastTextID, i);
npcText.Data[i].BroadcastTextID = 0;
erasedBroadcastTexts[i] = true;
}
}
}
for (byte i = 0; i < SharedConst.MaxNpcTextOptions; i++)
{
if (npcText.Data[i].Probability > 0 && npcText.Data[i].BroadcastTextID == 0)
if (npcText.Data[i].Probability > 0 && npcText.Data[i].BroadcastTextID == 0 && !erasedBroadcastTexts[i])
{
Log.outError(LogFilter.Sql, "NPCText (ID: {0}) has a probability (Index: {1}) set, but no BroadcastTextID to go with it", textID, i);
npcText.Data[i].Probability = 0;