diff options
author | Meji <alvaro.megias@outlook.com> | 2023-05-29 00:01:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-29 00:01:23 +0200 |
commit | 06d0b16f158e8793860d9edd11b990f20b1d0dac (patch) | |
tree | 0ecc06eb8e5b9ba20c615030be816ffc59705f52 /src/server/game/Handlers/QueryHandler.cpp | |
parent | 526b16fea41fb69a302fdebe8a727e175949f04b (diff) |
Core/Creatures: Move creature difficulty specific data from creature_template table to creature_template_difficulty (#28931)
Diffstat (limited to 'src/server/game/Handlers/QueryHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/QueryHandler.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
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<uint32>(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"); |