From 7cafeb46b3b1f3eea3c966c20f9ef1efe68dfbdc Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 26 Nov 2023 00:20:13 +0100 Subject: Core/Creatures: Don't require `creature`.`modelid` to be one of linked `creature_template` models --- src/server/game/Globals/ObjectMgr.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/server/game/Globals/ObjectMgr.cpp') diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 4aa8e3b7304..5dc45d50536 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -1627,9 +1627,8 @@ CreatureSummonedData const* ObjectMgr::GetCreatureSummonedData(uint32 entryId) c CreatureModel const* ObjectMgr::ChooseDisplayId(CreatureTemplate const* cinfo, CreatureData const* data /*= nullptr*/) { // Load creature model (display id) - if (data && data->displayid) - if (CreatureModel const* model = cinfo->GetModelWithDisplayId(data->displayid)) - return model; + if (data && data->display) + return &*data->display; if (!(cinfo->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER)) if (CreatureModel const* model = cinfo->GetRandomValidModel()) @@ -2171,7 +2170,8 @@ void ObjectMgr::LoadCreatures() data.id = entry; data.mapId = fields[2].GetUInt16(); data.spawnPoint.Relocate(fields[3].GetFloat(), fields[4].GetFloat(), fields[5].GetFloat(), fields[6].GetFloat()); - data.displayid = fields[7].GetUInt32(); + if (uint32 displayId = fields[7].GetUInt32()) + data.display.emplace(displayId, DEFAULT_PLAYER_DISPLAY_SCALE, 1.0f); data.equipmentId = fields[8].GetInt8(); data.spawntimesecs = fields[9].GetUInt32(); data.wander_distance = fields[10].GetFloat(); -- cgit v1.2.3