aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/HotfixHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/HotfixHandler.cpp')
-rw-r--r--src/server/game/Handlers/HotfixHandler.cpp7
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));
}