diff options
Diffstat (limited to 'src/server/game/Handlers/HotfixHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/HotfixHandler.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Handlers/HotfixHandler.cpp b/src/server/game/Handlers/HotfixHandler.cpp index 0d887769d08..4fc6426c2df 100644 --- a/src/server/game/Handlers/HotfixHandler.cpp +++ b/src/server/game/Handlers/HotfixHandler.cpp @@ -73,11 +73,16 @@ void WorldSession::HandleHotfixRequest(WorldPackets::Hotfix::HotfixRequest& hotf WorldPackets::Hotfix::HotfixResponse::HotfixData hotfixData; hotfixData.ID = hotfixId; hotfixData.RecordID = *hotfix; - if (storage->HasRecord(hotfixData.RecordID)) + if (storage && storage->HasRecord(hotfixData.RecordID)) { hotfixData.Data = boost::in_place(); storage->WriteRecord(hotfixData.RecordID, GetSessionDbcLocale(), *hotfixData.Data); } + else if (std::vector<uint8> const* blobData = sDB2Manager.GetHotfixBlobData(PAIR64_HIPART(hotfixId), *hotfix)) + { + hotfixData.Data = boost::in_place(); + hotfixData.Data->append(blobData->data(), blobData->size()); + } hotfixQueryResponse.Hotfixes.emplace_back(std::move(hotfixData)); } |