Core/Creatures: Validate creature.modelid on startup

Port From (https://github.com/TrinityCore/TrinityCore/commit/ef70cf64814341543fdb8efa403319371d9f3104)
This commit is contained in:
Hondacrx
2024-08-25 21:30:13 -04:00
parent bfd59f04cf
commit 87d88de681
2 changed files with 10 additions and 1 deletions
+1 -1
View File
@@ -237,7 +237,7 @@ namespace Game.Entities
CreatureModelInfo minfo = Global.ObjectMgr.GetCreatureModelRandomGender(ref model, creatureInfo);
if (minfo == null) // Cancel load if no model defined
{
Log.outError(LogFilter.Sql, "Creature (Entry: {0}) has invalid model {1} defined in table `creature_template`, can't load.", entry, model.CreatureDisplayID);
Log.outError(LogFilter.Sql, "Creature (Entry: {0}) has invalid model {1} defined in table `creature_template_model`, can't load.", entry, model.CreatureDisplayID);
return false;
}
+9
View File
@@ -3538,6 +3538,15 @@ namespace Game
continue;
}
if (data.display != null)
{
if (GetCreatureModelInfo(data.display.CreatureDisplayID) == null)
{
Log.outError(LogFilter.Sql, $"Table `creature` has creature (GUID: {guid} Entry: {data.Id}) with invalid `modelid` {data.display.CreatureDisplayID}, ignoring.");
data.display = null;
}
}
// -1 random, 0 no equipment,
if (data.equipmentId != 0)
{