diff options
author | funjoker <funjoker109@gmail.com> | 2020-06-12 11:07:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-12 11:07:11 +0200 |
commit | 2493d88a7224d829bd3b893f637cc255b2a751dc (patch) | |
tree | 35044f965444fc4814dee4603ed8b77ab7f33955 | |
parent | c7306439e7004288fb85890d6a5f730cf1761d71 (diff) |
Core/DataStores: Fix loading hotfixes deleting records for db2s not loaded by worldserver (#24783)
* Also load WorldStateExpression.db2
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index aa758b408dd..f40a96a8461 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -778,6 +778,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) LOAD_DB2(sWMOAreaTableStore); LOAD_DB2(sWorldEffectStore); LOAD_DB2(sWorldMapOverlayStore); + LOAD_DB2(sWorldStateExpressionStore); #undef LOAD_DB2 @@ -1385,9 +1386,9 @@ void DB2Manager::LoadHotfixData() uint32 tableHash = fields[1].GetUInt32(); int32 recordId = fields[2].GetInt32(); bool deleted = fields[3].GetBool(); - if (_stores.find(tableHash) == _stores.end() && _hotfixBlob.find(std::make_pair(tableHash, recordId)) == _hotfixBlob.end()) + if (!deleted && _stores.find(tableHash) == _stores.end() && _hotfixBlob.find(std::make_pair(tableHash, recordId)) == _hotfixBlob.end()) { - TC_LOG_ERROR("sql.sql", "Table `hotfix_data` references unknown DB2 store by hash 0x%X and has no reference to `hotfix_blob` in hotfix id %d", tableHash, id); + TC_LOG_ERROR("sql.sql", "Table `hotfix_data` references unknown DB2 store by hash 0x%X and has no reference to `hotfix_blob` in hotfix id %d with RecordID: %d", tableHash, id, recordId); continue; } |