From 06d0b16f158e8793860d9edd11b990f20b1d0dac Mon Sep 17 00:00:00 2001 From: Meji Date: Mon, 29 May 2023 00:01:23 +0200 Subject: Core/Creatures: Move creature difficulty specific data from creature_template table to creature_template_difficulty (#28931) --- src/server/game/Handlers/QueryHandler.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/server/game/Handlers/QueryHandler.cpp') diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index 1dddefe38b7..74548ba34e2 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -23,6 +23,7 @@ #include "GameTime.h" #include "Item.h" #include "Log.h" +#include "Map.h" #include "NPCHandler.h" #include "ObjectAccessor.h" #include "ObjectMgr.h" @@ -72,11 +73,15 @@ void WorldSession::HandleCreatureQuery(WorldPackets::Query::QueryCreature& packe if (CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate(packet.CreatureID)) { TC_LOG_DEBUG("network", "WORLD: CMSG_QUERY_CREATURE '{}' - Entry: {}.", ci->Name, packet.CreatureID); - if (sWorld->getBoolConfig(CONFIG_CACHE_DATA_QUERIES)) + + Difficulty difficulty = _player->GetMap()->GetDifficultyID(); + + // Cache only exists for difficulty base + if (sWorld->getBoolConfig(CONFIG_CACHE_DATA_QUERIES) && difficulty == DIFFICULTY_NONE) SendPacket(&ci->QueryData[static_cast(GetSessionDbLocaleIndex())]); else { - WorldPacket response = ci->BuildQueryData(GetSessionDbLocaleIndex()); + WorldPacket response = ci->BuildQueryData(GetSessionDbLocaleIndex(), difficulty); SendPacket(&response); } TC_LOG_DEBUG("network", "WORLD: Sent SMSG_QUERY_CREATURE_RESPONSE"); -- cgit v1.2.3